Logix 5000 PID Instruction in a COntinuous Task

Unless you are really strapped for processing power I would put all the PIDs into a single periodic task and run it at the fastest update time.

Keith
 
In my experience making a loop faster is usually acceptable. As long as the loop is repeatable you can compensate for the increased rate by retuning the loop. The same cannot be necessarily said for making the loop slower. As long as you have the processor resources it won't hurt you to run a loop faster. Processor resources will be your limit here, but the CLX has the testosterone to do the job you are describing. In your example I would run the task at 10 times the shortest loop, or 25 milliseconds.

To make an appeal to authority, I quote from Doug Cooper's ControlGuru.com. You may want to take a look at some of the material there. There lots of good stuff there.

• Loop Sample Time, T
Process time constant, Tp, is the clock of a process. The size of Tp indicates the maximum desirable loop sample time. Best practice is to set loop sample time, T, at 10 times per time constant or faster (T ≤ 0.1Tp). Faster is equally good but not better. Slower than five times per time constant leads to significantly degraded performance.
 
Originally posted by plcnovel:

SO in my example the period task will run at a period of 3.4 sec (highest loop update time)

As Alaric said, you want the FASTEST uldate time, not the longest. When you listed your PID loop updates I assumed you already performed the divied by 10. So when you listed the loop update rate for PID4 it is based on a controlled process time constant of 2.5 seconds. If this is true, use the update time for PID4 (0.25 sec) as the task period.

Keith
 
kamenges said:
...I assumed you already performed the divied by 10. ...

And I asusmed that you didn't. In any case, I hope its clear what you need to do now: Have one of these 🍺 and hit it again tomorrow.
 
kamenges said:
As Alaric said, you want the FASTEST uldate time, not the longest. When you listed your PID loop updates I assumed you already performed the divied by 10. So when you listed the loop update rate for PID4 it is based on a controlled process time constant of 2.5 seconds. If this is true, use the update time for PID4 (0.25 sec) as the task period.

Keith

That leads to the second point of my post, how can i calculate the loop update time? Do i have to calculate the oscialtion period of the loop or is there any other way of assuming that the loop update time for a pressure loop is this, or loop update time for temperatur loop is that?
 
Currently my PIDs are in a continuous task and a few of them are tuned properly? My question is, if I want to put my PIDs in a periodic task, will all the tuned loops will be detuned? Do I have to tune them again?
 
OK, Guys
Today i put my all the pids in a periodic task with a task period of 250 msec and loop update time of 250 msec. Just to tell you that i have full redundant control logix system. After putting all the pids in a periodic task and put them in service, they were working fine and i dont have to change the tunning parameters a lot. However i did notice one thing pretty strange, after some time, I lost of redundancy (SRM module was red on Rslogix5000, i looked at the processors and my primary processor OK LED was blinking red and crossload had been occured. I changed the position of the key on the disqualify processor and it comes back to green. I could not understand or know the cause of this crossload.Is it fine to put periodic task in a redundant system? You guys think that the cause of this thing might be periodic task? Can u please shed more light in to this? Thank you very much in advance
 
I couldn't quite tell from your earlier posts what the PID update rate value in the PID instruction is set to and if this value relates in some real way to the actual call rate. If these two values are within about 20% of each other AND the program was calling the instuctions from the continuous tast at least 10 times faster than the process time constant AND the PID in the periodic task is being called at least 10 times faster than the process time constant you will most likely not have to retune anything. A PID that is called at least 10 times fastert than the process time constant will be relatively unaffected by changes in the call rate as long as the PID instuction knows about the actual, new rate and the new rate is still at least 10 times the call rate.


Keith
 
What your thoughts on the following? Have any of you guys come across this before?

"Today i put my all the pids in a periodic task with a task period of 250 msec and loop update time of 250 msec. Just to tell you that i have full redundant control logix system. After putting all the pids in a periodic task and put them in service, they were working fine and i dont have to change the tunning parameters a lot. However i did notice one thing pretty strange, after some time, I lost of redundancy (SRM module was red on Rslogix5000, i looked at the processors and my primary processor OK LED was blinking red and crossload had been occured. I changed the position of the key on the disqualify processor and it comes back to green. I could not understand or know the cause of this crossload.Is it fine to put periodic task in a redundant system? You guys think that the cause of this thing might be periodic task?"
Can u please shed more light in to this? Thank you very much in advance
 
Did you go online and check for any major or minor faults? That would be my first action item. The processor should be able to tell you what made it mad.


Keith
 
kamenges said:
Did you go online and check for any major or minor faults? That would be my first action item. The processor should be able to tell you what made it mad.


Keith

Yes keith, i checked the major and mninor faults on the processor and there was not any faults. The thing which is worrying me it keeps on repeating the same thing......
 
This may seem like a silly question but did you check for faults BEFORE you cycled the keyswitch? I don't remember if the fault display screen hangs onto the last fault or not. It may clear when the processor restarts if the fault is not present.

Keith
 
kamenges said:
This may seem like a silly question but did you check for faults BEFORE you cycled the keyswitch? I don't remember if the fault display screen hangs onto the last fault or not. It may clear when the processor restarts if the fault is not present.

Keith

I believe i checked the Faults before i cycled the key. The thing is due to redundancy, crossload happend and my secondry processor becomes my primary processor, and no faults appeared. But the now disqualify processor had a OK led red flashing. For more info, here are my timming parameters

Period task period := 250msec
Periodic Task watch dog timer := 500 msec
Loop update time := 250 msec
Continuous task scan time := 170 msec
Continuous Watchdog timer := 600 msec
Input card (1756) RTS := 100 msec
Input card RPI := 100 msec

Hope that helps........
 

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,579
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,295
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
900
Hi all, I'm working on a wastewater plant with oxidation ditch aerators. The aerators are on VFDs and the operators want the dissolved oxygen in...
Replies
45
Views
17,677
Hi All, I have a PID control application that I would like to get your opinions on. As I am reality new to PID loops I am struggling somewhat...
Replies
14
Views
4,296
Back
Top Bottom