Re: [foxboro] IND question

  • From: dirk.pauwels@xxxxxxxxxx
  • To: foxboro@xxxxxxxxxxxxx
  • Date: Tue, 2 Mar 2010 10:21:38 +0100

Hi Frits,
 I'll start with getting everything in the same CP first, and see if I can 
use Calc's for the status checks. I might also change BPCSTM and the 
period to see if it helps

Thanks to everyone for the advice.

Rgds,

Dirk



"Schouten, Frits JF" <Frits.Schouten@xxxxxxxxxxxxxxxxxx> 
Sent by: foxboro-bounce@xxxxxxxxxxxxx
01/03/2010 20:47
Please respond to
foxboro@xxxxxxxxxxxxx


To
"'foxboro@xxxxxxxxxxxxx'" <foxboro@xxxxxxxxxxxxx>
cc

Subject
Re: [foxboro] IND question






Hi Dirk,
I'll just thro in some ideas which I've been using extensively to speed up 
things.

Have you considered breaking down the seqence code into several sequence 
blocks?
Or perhaps consider, in your example program, to move the status 
processing to a calc block.
Or use a MAIN block to get the external values into the local CP and have 
the sequence code refering to the local MAIN block(s).

Oh, and BPCSTM 20 @ PERIOD 0.5sec is lots faster than BPCSTM 100 @ PERIOD 
2sec when you have lots of external references. You get my drift.

Cheers,
Frits.

-----Original Message-----
From: foxboro-bounce@xxxxxxxxxxxxx [mailto:foxboro-bounce@xxxxxxxxxxxxx] 
On Behalf Of dirk.pauwels@xxxxxxxxxx
Sent: Tuesday, 2 March 2010 12:13 AM
To: foxboro@xxxxxxxxxxxxx
Subject: [foxboro] IND question

Hi list,
If I want to speed up a sequence processing time what are the consequences
if I tamper with PERIOD/BPCSTM?

I have problems with repeat until statements containing several if
endif's. They're too slow..... If one of the conditions to end the repeat
(especially stop and hold_sw in the example)  becomes true it takes some
time before the repeat stmt ends. It seems the repeat statement has to go
through it's code before it checks the repeat conditions included in the
until line. How do I speed up this process and what are the disadvantages?
For now I included the "stop" and "hold_sw" conditions in the if endif's
in the repeat statement (at mutiple instances) to detect it faster. It
works more or less, but this also makes the statement longer. There has to
be a more orthodox way to do this....

I also have a similar problem with WAIT UNTIL statements, even if the
conditions are true, the WAIT UNTIL takes a couple of sec's to process. If
there are a lot of them the sequence is very slow going through it's code.
I would expect the wait until to pass very quickly if the condition is
true.

Ie: you'll notice I included the stop and hold_sw multiple times, to
obtain a faster response.

REPEAT
                pumped := beginweight_kettle - :'weight'.PNT;RO0002 :=
pumped;
                pumprate := ABS(:WEIGHT:K'kettle'PUMP_AIN.PNT);RO0012 :=
pumprate;

                IF ::TIMER7.POS_V1 THEN
                        II0008 := 1;
                        GOTO finished;
                ENDIF;
                IF hold_sw THEN
                        GOTO hold;
                ENDIF;
                IF stop THEN
                        II0008 := 2;
                        GOTO finished;
                ENDIF;
                IF :'pressP3'.HAI THEN
                        II0008 := 3;
                        GOTO hold;
                ENDIF;
                IF :'level'.BAD THEN
                        II0008 := 4;
                        GOTO finished;
                ENDIF;
                IF hold_sw THEN
                        GOTO hold;
                ENDIF;
                IF :'level'.HAI THEN
                        II0008 := 15;
                        GOTO finished;
                ENDIF;
                IF stop THEN
                        II0008 := 2;
                        GOTO finished;
                ENDIF;
                IF :'filterPT'.HAI THEN
                        II0008 := 16;
                        GOTO hold;
                ENDIF;
                IF :'temp' > hitemp THEN
                        II0008 := 5;
                        GOTO hold;
                ENDIF;
                IF hold_sw THEN
                        GOTO hold;
                ENDIF;
                IF ...
                ENDIF;
                IF stop THEN
                        II0008 := 2;
                        GOTO finished;
                ENDIF;
                IF ...
                ENDIF;
                IF hold_sw THEN
                        GOTO hold;
                ENDIF;
                IF ...
                ENDIF;
                IF hold_sw THEN
                        GOTO hold;
                ENDIF;
                IF stop THEN
                        II0008 := 2;
                        GOTO finished;
                ENDIF;
                ...

UNTIL ((:'weight'.PNT) < (endweight_kettle + stopweight)) OR stop OR
hold_sw;
IF hold_sw THEN GOTO hold;
ELSE GOTO finished;
ENDIF;

Thanx

Ps: my appologies if I do not answer to some of the list's mails, I do not
seem to receive every posting  to the list for some odd reason.....

Dirk




_______________________________________________________________________
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




NOTICE - This message and any attached files may contain information that 
is confidential, legally privileged or proprietary. It is intended only 
for use by the intended recipient. If you are not the intended recipient 
or the person responsible for delivering the message to the intended 
recipient, be advised that you have received this message in error. Any 
dissemination, copying, use or re-transmission of this message or 
attachment, or the disclosure of any information therein, is strictly 
forbidden. BlueScope Steel Limited does not represent or guarantee that 
this message or attachment is free of errors, virus or interference.

If you have received this message in error please notify the sender 
immediately and delete the message. Any views expressed in this email are 
not necessarily the views of BlueScope Steel Limited.
 
 
_______________________________________________________________________
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
 

Other related posts: