Re: [foxboro] Setting Application Objects from IND blocks

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: