"Interesting" comment about multiple references in a single statement. Don't know if we have had any problems with that sort of construct. As for the Compiler error message, HLBL Compilation CANCELLED. > <Compiler System Problem> > Failed. > Select CONTINUE to Proceed one reason we get that error is if the code exceeds the allowable space for HLBL code in a block. Which tells you something about the size of our code. >Nick Steinbrecher > -----Original Message----- From: foxboro-bounce@xxxxxxxxxxxxx [mailto:foxboro-bounce@xxxxxxxxxxxxx] On Behalf Of Ron Schafer Sent: Friday, February 19, 2010 9:29 AM To: 'foxboro@xxxxxxxxxxxxx' Subject: Re: [foxboro] HLBL compiler error Interesting, I've never heard of this restriction before? I have many seq blocks and do refer to several system calls all in one line. Guess I've never tried to shorten them by using the short method (::B.P) because its just so easy to right click on the graphic that has the entire C:B.P and add the : in front. I do it because it prevents typos and you are pretty much ensured that you have what you want. So, does anyone want to expand on "Why" you shouldn't and what affects you would see if you did? Has this restriction been corrected in latter versions of I/A or is it just a "good practice"... Ronald G. Schafer Distributed Controls System Administrator White Birch Paper Company Bear Island L.L.C. Division 10026 Old Ridge Road Ashland VA, 23005 Phone 804-227-4034 Fax 804-227-4052 Email: rschafer@xxxxxxxxxxxxxxxxxxxxxx > I was making some quick edits the other day and I encountered an > infrequently seen error while compiling a sequence block. > > HLBL Compilation CANCELLED. > <Compiler System Problem> > Failed. > Select CONTINUE to Proceed > > Ouch. > > After finding the error I tediously removed / compiled / replaced each > of my edits until the error went away. Here was the offending line: > > IF (::BLOCK1.MA = FALSE) AND (::BLOCK2.MA = FALSE) THEN > > I changed it to this to fix it: > > boolPUMPMA := ::BLOCK2.MA; > IF (::BLOCK1.MA = FALSE) AND (boolPUMPMA = FALSE) THEN > > I know not to make two system calls in the same line, but I have > gotten lazy over the years because it does not cause an error every > time or even every 127th time. This time, I was just adding in a back > up pump and I needed to make sure either it or the primary pump is > running, so I just added it on the same line. All of this happened a > couple of days ago. I was reminded to send this message when I found > this line in some code today (I did not write this.): > > IF ((:CMPND:BLOCK1.MMAIND) OR (:CMPND:BLOCK1.MODIND = 1) AND > (:CMPND:BLOCK2.MMAIND) OR (:CMPND:BLOCK2.MODIND = 1)) THEN > > I did not change it, but it compiled and ran just fine. It is at the > end of the very same sequence block I was modifying earlier! Sigh. > Maybe it works because there is a full :C:B.P path in each of these > calls. Whatever the reason it works, it is bad form and I will go > change it in a minute. > > I thought I would send this message out as a reminder not to make more > than one system call per line. > > Chuck Jones > Automation Technologist > Tate & Lyle Lafayette Plant _______________________________________________________________________ This mailing list is neither sponsored nor endorsed by Invensys Process Systems (formerly The Foxboro Company). Use the info you obtain here at your own risks. Read http://www.thecassandraproject.org/disclaimer.html foxboro mailing list: //www.freelists.org/list/foxboro to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave _______________________________________________________________________ This mailing list is neither sponsored nor endorsed by Invensys Process Systems (formerly The Foxboro Company). Use the info you obtain here at your own risks. Read http://www.thecassandraproject.org/disclaimer.html foxboro mailing list: //www.freelists.org/list/foxboro to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave