Re: [foxboro] Setting Application Objects from IND blocks
- From: tom.vandewater@xxxxxxxxxxxxxx
- To: foxboro@xxxxxxxxxxxxx
- Date: Thu, 18 Nov 2004 11:04:01 -0500
Things we have learned from sometimes painful experience:
BPCSTM, (Basic Processing Cycle Statements), is the maximum number of
statements that any sequence block COULD process in a single BPC, =
(Basic
Processing Cycle). WAIT statements cause an exception to this for the
reasons listed below:
Any length WAIT statement will cause the sequence to stop the
current processing cycle and wait for the next one to proceed. =
Example: a
sequence block PERIOD set to 2 means the block will execute once every
second. A WAIT statement of WAIT .1; tells the block to wait one tenth =
of a
second before proceding but will cause the sequence block to wait until =
the
next processing cycle which will be one second later so the WAIT .1;
statement is essentially the same as WAIT 1; for this example. If you
changed the PERIOD of the sequence to 1, which causes it to execute =
every .5
seconds but didn't change the WAIT .1: statement in the code, the =
actual
wait time would be .5 seconds before the sequence would proceed.
Any external reference, (get or set), of a Global Object Variable
will cause the sequence to wait until it can execute and validate the
transaction and will always cause the sequence to wait at least one =
period
before proceeding. If the value of the external reference cannot be
obtained and validated in one period it may take more than one period =
to
complete the statement execution.
An example of each follows:
Get an OM value and store it in an Internal sequence variable:
MY_VARIABLE =3D :CMPND:BLOCK.PARAM;
Set an OM value by using a value in an Internal sequence variable:
:CMPND:BLOCK.PARAM :=3D MY_VARIABLE;
I hope this can be of use to someone because there is no
documentation I have found that explains how it works and we found out =
by
writing code and testing these functions.
Tom VandeWater
Control Systems Developer/Analyst
Dow Corning Corporation
Carrollton, KY USA
-----Original Message-----
From: foxboro-bounce@xxxxxxxxxxxxx
[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
Johnson, Alex (Foxboro) wrote:
> 2) The BPCSTM parameter will limit the number of statements per BPC.
Well, a coworker and I had an argument about this a while ago, so we =
did=20
some tests. Just for the record: It seemed to me that the BPCSTM=20
parameter - despite its name - rather limits statements per period. If =
I=20
remember correctly it was on a CP with a BPC of 0.1 sec. But it could=20
well be that we misinterpreted our results.
> 4) External references like yours (:A:O.A :=3D 2) will suspend the =
block's
> execution.
Not only the execution of the block containing the reference, it seems. =
In a project I recently did there was a typo in an external reference.=20
This causes the IND block to pause until searching for the reference =
had=20
timed out. After that, it gave an error but since it was forced to AUTO =
and ACTIVE it directly tried again. So far, so good. The, um,=20
"interesting" side effect was: This typo not only caused the IND block=20
containing it to pause until timeout, but rather _ALL_ IND blocks=20
running in that CP stopped resolving external references until the time =
out of the misspelled one was over. This decreased performance of our=20
sequence blocks dramatically and it took us a while until we figured it =
out. We even exchanged the CP before. :|
--=20
Gru=DF,
Sascha Wildner
erpicon Software Development GmbH
Neusser Str. 724-726
50737 K=F6ln
Germany
Phone: +49 221 9746069
Fax: +49 221 9746099
eMail: swildner@xxxxxxxxxx
=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: