Logix PID timing question

To put things into perspective, on a large brewery job I was involved in, we knew there would be in excess of 20 PID control loops, but phased in as the job progressed. ...


My brother did the same thing on some older PLCs (SLCs, maybe?), where executing all the PIDs in every scan was not possible due to CPU limitations.
 
My brother did the same thing on some older PLCs (SLCs, maybe?), where executing all the PIDs in every scan was not possible due to CPU limitations.

Yes, but the whole point is that the PID instructions execution rate was deterministic, and not dependant upon logic scan time. That was the key to success ...
 
Yes, but the whole point is that the PID instructions execution rate was deterministic, and not dependant upon logic scan time. That was the key to success ...


Exactly, and as you said in the original post, [but] "so as not to overload the periodic task each trigger."


Actually, they probably could be executed every 2s periodic scan, but then that one scan would take a long time, and a periodic scan interrupts the continuous scan, where other work is being done. so it is better to have 20 tasks running every 100ms than 1 every 2s, even if they are doing the same amount of work.
 
Last edited:
This topic comes up again and again which tells mean this is a design flaw. The PID should know how much time is has been since the last execution and take that into account. Shame on Rockwell for this. It is as bad as the COP command that can't figure out if it should copy from the bottom up or from the top down.


20 PIDs should not be a problem even with old PLCs IF the plant time constants are in the range of minutes. The update rate should be about 10 times faster than the shortest time constant. 20 PIDs can have their updates staggered so they don't all occur at once. If the shortest time constant is 1 minute the update rate should be about 100 ms. That means updating 1 PID every 5 ms if there are 20 PIDs. However, if there are some time constants that are longer then it may be wise to divide the PIDs into long and short time periods and adjust the update times accordingly.



These topics have been covered before.
 

Similar Topics

Hello all, I'm having issues with a PID and trying to tune it. I just do not understand why my CV goes to 105 with the settings I have. Config...
Replies
14
Views
1,575
Hello, I have a flow control PID that keeps locking up. It seems to control fine but after a while the output no longer moves. For instance...
Replies
4
Views
965
Hello all! First official post here... have been using the site for help but managed to find existing threads to help with all previous issues...
Replies
8
Views
1,206
Hi, Long time not in the forum, and not in the programming. I´m getting back. I was issued a conversion from RSLogix 500 to RSLogix 5000 (studio...
Replies
0
Views
1,291
So I have a PID loop on an 1756-L61 running V17 software just for background. Also the PID PV is a pressure transmitter and the CV is speed sent...
Replies
1
Views
896
Back
Top Bottom