[foxboro] AW: Setting Application Objects from IND blocks
- From: "Sieling, Marcel" <Marcel.Sieling@xxxxxxxxxxxxxxxx>
- To: "'foxboro@xxxxxxxxxxxxx'" <foxboro@xxxxxxxxxxxxx>
- Date: Fri, 19 Nov 2004 04:52:48 -0500
Hi all,
> I hope this can be of use to someone because there is=20
> no documentation I have found that explains how it works=20
At least I am telling this to my students in the HLBL and SFC =
programming
courses from our training department. ;-)
Best regards -
Marcel Sieling
Systems Technologies
Invensys Systems GmbH
Emanuel-Leutze-Str. 11
40547 Duesseldorf
Germany
Tel.: +49-211-5966-302
Fax: +49-163-99-5966302=20
Mobile: +49-163-5966302
Email: mailto:marcel.sieling@xxxxxxxxxxxxxxxx
Homepage: http://www.foxboro-deutschland.de
> -----Urspr=FCngliche Nachricht-----
> Von: foxboro-bounce@xxxxxxxxxxxxx=20
> [mailto:foxboro-bounce@xxxxxxxxxxxxx] Im Auftrag von=20
> tom.vandewater@xxxxxxxxxxxxxx
> Gesendet: Donnerstag, 18. November 2004 17:04
> An: foxboro@xxxxxxxxxxxxx
> Betreff: Re: [foxboro] Setting Application Objects from IND blocks
>=20
>=20
> Things we have learned from sometimes painful experience:
>=20
> BPCSTM, (Basic Processing Cycle Statements), is the maximum=20
> number of statements that any sequence block COULD process in=20
> a single BPC, =3D (Basic Processing Cycle). WAIT statements=20
> cause an exception to this for the reasons listed below:
>=20
> Any length WAIT statement will cause the sequence to=20
> stop the current processing cycle and wait for the next one=20
> to proceed. =3D
> Example: a
> sequence block PERIOD set to 2 means the block will execute=20
> once every second. A WAIT statement of WAIT .1; tells the=20
> block to wait one tenth =3D of a second before proceding but=20
> will cause the sequence block to wait until =3D the next=20
> processing cycle which will be one second later so the WAIT=20
> .1; statement is essentially the same as WAIT 1; for this=20
> example. If you changed the PERIOD of the sequence to 1,=20
> which causes it to execute =3D every .5 seconds but didn't=20
> change the WAIT .1: statement in the code, the =3D actual wait=20
> time would be .5 seconds before the sequence would proceed.
>=20
> Any external reference, (get or set), of a Global=20
> Object Variable will cause the sequence to wait until it can=20
> execute and validate the transaction and will always cause=20
> the sequence to wait at least one =3D period before proceeding.=20
> If the value of the external reference cannot be obtained=20
> and validated in one period it may take more than one period=20
> =3D to complete the statement execution.
> An example of each follows:
> Get an OM value and store it in an Internal sequence=20
> variable: MY_VARIABLE =3D3D :CMPND:BLOCK.PARAM; Set an OM value=20
> by using a value in an Internal sequence variable:=20
> :CMPND:BLOCK.PARAM :=3D3D MY_VARIABLE;
>=20
> I hope this can be of use to someone because there is=20
> no documentation I have found that explains how it works and=20
> we found out =3D by writing code and testing these functions.
>=20
> Tom VandeWater
> Control Systems Developer/Analyst
> Dow Corning Corporation
> Carrollton, KY USA
>=20
> -----Original Message-----
> From: foxboro-bounce@xxxxxxxxxxxxx=20
> [mailto:foxboro-bounce@xxxxxxxxxxxxx]On Behalf Of Sascha Wildner
> Sent: Thursday, November 18, 2004 9:38 AM
> To: foxboro@xxxxxxxxxxxxx
> Subject: Re: [foxboro] Setting Application Objects from IND blocks
>=20
>=20
> Johnson, Alex (Foxboro) wrote:
>=20
> > 2) The BPCSTM parameter will limit the number of statements per =
BPC.
>=20
> Well, a coworker and I had an argument about this a while=20
> ago, so we =3D did=3D20 some tests. Just for the record: It=20
> seemed to me that the BPCSTM=3D20 parameter - despite its name=20
> - rather limits statements per period. If =3D I=3D20 remember=20
> correctly it was on a CP with a BPC of 0.1 sec. But it=20
> could=3D20 well be that we misinterpreted our results.
>=20
> > 4) External references like yours (:A:O.A :=3D3D 2) will suspend =
the =3D
> block's
> > execution.
>=20
> Not only the execution of the block containing the reference,=20
> it seems. =3D
>=20
> In a project I recently did there was a typo in an external=20
> reference.=3D20 This causes the IND block to pause until=20
> searching for the reference =3D had=3D20 timed out. After that,=20
> it gave an error but since it was forced to AUTO =3D
>=20
> and ACTIVE it directly tried again. So far, so good. The,=20
> um,=3D20 "interesting" side effect was: This typo not only=20
> caused the IND block=3D20 containing it to pause until timeout,=20
> but rather _ALL_ IND blocks=3D20 running in that CP stopped=20
> resolving external references until the time =3D
>=20
> out of the misspelled one was over. This decreased=20
> performance of our=3D20 sequence blocks dramatically and it=20
> took us a while until we figured it =3D
>=20
> out. We even exchanged the CP before. :|
>=20
> --=3D20
> Gru=3DDF,
>=20
> Sascha Wildner
> erpicon Software Development GmbH
> Neusser Str. 724-726
> 50737 K=3DF6ln
> Germany
>=20
> Phone: +49 221 9746069
> Fax: +49 221 9746099
> eMail: swildner@xxxxxxxxxx
>=20
> =3D20
> =3D20=20
> ______________________________________________________________
> _________
> This mailing list is neither sponsored nor endorsed by=20
> Invensys Process Systems (formerly The Foxboro Company). Use=20
> the info you obtain here at your own risks. Read=20
> http://www.thecassandraproject.org/disclaimer.html
> =3D20
>=20
> foxboro mailing list: =20
http://www.freelists.org/list/foxboro
to subscribe: =3D
mailto:foxboro-request@xxxxxxxxxxxxx?subject=3D3Djoin
to unsubscribe: =3D
mailto:foxboro-request@xxxxxxxxxxxxx?subject=3D3Dleave
=3D20
=20
=20
_______________________________________________________________________
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
=20
foxboro mailing list: http://www.freelists.org/list/foxboro
to subscribe: =
mailto:foxboro-request@xxxxxxxxxxxxx?subject=3Djoin
to unsubscribe: =
mailto:foxboro-request@xxxxxxxxxxxxx?subject=3Dleave
=20
_______________________________________________________________________
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: http://www.freelists.org/list/foxboro
to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join
to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave
Other related posts:
- » [foxboro] AW: Setting Application Objects from IND blocks