Re: 32 character limit on SN00xx It comes from the fact that the ICC allows only 32 characters in this field, but as Tom points out the actual string length is 80 characters. Once upon a time, I build a DM graphic that showed 255 characters - the maximum for an OM string type variable - and connected it to .SN0001. When I raised the display, the DM crashed and restarted and crashed and restarted and <well you get the picture>. At that time, a restarted DM would raise whatever display was in $ST0 when it restarted after a failure. Not an unreasonable decision unless the display is what killed it. Ah, the good old days.... Regards, Alex Johnson Invensys Systems, Inc. 10900 Equity Drive Houston, TX 77041 713.329.8472 (voice) 713.329.1700 (fax) 713.329.1600 (switchboard) alex.johnson@xxxxxxxxxxxxxxxx -----Original Message----- From: foxboro-bounce@xxxxxxxxxxxxx [mailto:foxboro-bounce@xxxxxxxxxxxxx] On Behalf Of Tom VandeWater Sent: Friday, June 15, 2007 3:36 PM To: foxboro@xxxxxxxxxxxxx Subject: Re: [foxboro] Operator Message Interface (OMI) Joe, I understand your confusion. The documents all the way to Ver. 8.2 do say the maximum string size for SN0001 - SN0010 is 32 characters. Pay no attention to that. It is wrong! In fact, if you look at Foxboro's EXC block detail display and pick the STRING overlay you can see that Foxboro allowed for 71 characters to be displayed. I always thought the max was 60 characters so I decided to edit a sequence and see how many characters would successfully compile. I found out that it will handle exactly 80. 81 gives a compiler error like "String too long" or something like that. My previous ramblings may not have been clear about how you could implement something similar to the OMI using a sequence and an SN00XX string. Build an IND sequence block named TOMTEST and copy the code below: INDEPENDENT_SEQUENCE USER_LABELS {*************************************************} CONFIRM : BI0001; {PULSE BI0001 TO CONFIRM MESSAGE READ} HOLD_MSG : BO0001; {WHEN TRUE WAITING FOR CONFIRM TO DISPLAY NEXT MSG} MSG_TRIGGER: II0001; {AS II0001 CHANGES SN0001 CHANGES IF NOT HOLD_MSG} BROTHERS : II0002; {DEMONSTRATION OF AN INTEGER INSERTED IN SN0001} SISTERS : II0003; {DEMONSTRATION OF AN INTEGER INSERTED IN SN0001} MY_NAME : SN0009; {DEMONSTRATION OF A STRING INSERTED IN SN0001} STATEMENTS <<BEGIN_BLOCK>> MY_NAME :=3D "TOM VANDEWATER"; BROTHERS :=3D 5; SISTERS :=3D 4; IF (II0001 =3D 0) THEN SN0001 :=3D "CHANGE THE SEQUENCE BLOCKS .II0001 PARAMETER TO ONE TO SEE MY NAME"; ELSEIF (II0001 =3D 1) THEN SN0001 :=3D "MY NAME IS ",MY_NAME," AND I LIVE IN INDIANA"; ELSEIF (II0001 =3D 2) THEN SN0001 :=3D "I HAVE ",BROTHERS," BROTHERS AND ",SISTERS," SISTERS"; ELSEIF (II0001 =3D 3) THEN SN0001 :=3D "AGAIN I HAVE ",II0002," BROTHERS AND ",II0003," SISTERS"; ELSEIF (II0001 =3D 4) AND NOT (HOLD_MSG) THEN SN0001 :=3D "THIS IS THE MESSAGE THAT APPEARS WHEN II0001 EQUALS FOUR"; HOLD_MSG :=3D TRUE; ELSEIF (II0001 =3D 5) AND NOT (HOLD_MSG) THEN SN0001 :=3D "THIS IS THE MESSAGE THAT APPEARS WHEN II0001 EQUALS FIVE"; HOLD_MSG :=3D TRUE; ELSEIF (II0001 =3D 6) AND NOT (HOLD_MSG) THEN SN0001 :=3D "THIS IS THE MESSAGE THAT APPEARS WHEN II0001 EQUALS SIX"; HOLD_MSG :=3D TRUE; ENDIF; IF (CONFIRM) AND (HOLD_MSG) THEN HOLD_MSG :=3D FALSE; ENDIF; WAIT 1; GOTO BEGIN_BLOCK; ENDSEQUENCE create a graphic text place holder such as: 123456789012345678901234567890123456789012345678901234567890 OR XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX In the Display Configurator select the text string and configure using contents << In the Path name: field enter CMPD:TOMTEST.MSGNO Using the compound and sequence block name you created for the code. Select Connection to Text In the Parameter field enter: .SN0001 You could create a graphic numeric entry field on the same graphic so you could change the value of .II0001 and watch the .SN0001 string change. If you create a CONFIRM button that becomes visible when .BO0001 is true and pulses .BI0001 to 1 you will have it all. Using and understanding this simple code should give you an idea of what you can do. Hope this is helpful. Tom VandeWater Control Systems Developer/Analyst Dow Corning Corporation Carrollton, KY USA = = _______________________________________________________________________ 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=3Djoin to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=3Dleave = Confidentiality Notice: The information contained in this electronic message and any attachment(s) = to this message are intended for the exclusive use of the recipient(s) and = may contain confidential, privileged or proprietary information. If you are= not the intended recipient, please notify the sender immediately, delete a= ll copies of this message and any attachment(s). Any other use of the E-Mai= l by you is prohibited. _______________________________________________________________________ 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