CLX Independent PID

hipoint2

Member
Join Date
Jan 2006
Location
Cold Pa
Posts
45
Can someone explain how to "tune" a independent PID. I have done some in the SLC's and the way I thought I understood things seems very different in the CLX processores. I always thought this compared to a car is the SLC's:
P=How hard you push on the gas
I=How fast you get their
D=How fast you slow down "brake"
 
don't bother to fight it ... it's not worth the time ...

if you’re already familiar with tuning an SLC system, then my advice would be to put the ControlLogix PID in the “Dependent” mode and then do the tuning ... that format will make a LOT more sense because it more closely matches the way the PID works in the SLC platform ...

the main advantage will be that your previous tuning experience will help you get the job done without having to relearn a completely new system ...
 
How would one go to and figure out what your loop update should be set at. The process I am trying to control with a PID is a boiler and the it is not the world's fastest responding machine. I have it pretty close from over shooting but I am getting a good amount of lag in the PID from responding and was wondering if I should change the loop update time. Right now I have it set up for .1 sec., but it seems to me that the natural period is like 10 minutes.
Thanks guys for the help.
 
most heat loops (and other slow systems) will work fine with an update time of 0.50 second ... they'll also work fine with something faster - but they won't usually work any "better" ...



theoretically speaking, your “10-minute-per-cycle” system would probably do “ok” with a loop update as slow as 30 seconds ... but ... if you’re using any of the PID’s built-in scaling features, etc. for an operator’s display, then the display will appear “sluggish” and people will tend to think that it’s “hanging up” ... I usually shoot for 0.50 seconds unless there’s a VALID reason to change from that ...



just a tip: you mentioned that you’re more familiar with using an SLC for PID control ... do you realize that the PID rung in ControlLogix will usually need a “trigger” condition to tell the PID when to calculate? ... secret handshake: this feature is “built-in” to the SLC’s PID instruction ... but you have to provide the “clock/trigger” action yourself with the ControlLogix (and incidentally with the PLC-5 also) ... you can do it by setting up a “periodic task” - or by using a timer’s Done bit, etc. ... but you MUST do it for optimum results ...



click here for an old thread that might be helpful on the “loop update time” issue ... (and just in case you’re wondering, the forum went through an upgrade a couple of years ago the “attachments” are all still there - but they’ve all been shifted to the bottom of the posts) ...



you said:



I am getting a good amount of lag in the PID from responding and was wondering if I should change the loop update time



IF (that’s a big IF) everything (especially the “trigger/clock” action) is set up correctly, then changing the setting for the “loop update time” probably is NOT going to fix your “response” problem ... more to the point, if you DO change the “loop update time” and it DOES affect the loop’s response, then that USUALLY indicates that you haven’t set the “trigger/clock” action up correctly ... the previous statement assumes (gosh I hate that word) that you’re only changing the “loop update time” in reasonable amounts ... something in the range of 0.10 to 30 seconds sounds “reasonable” for the loop that you’ve been describing ...



going further, click here for a thread that might help with these ideas ... be sure to continue reading all the way through the post about “Bubba’s paycheck” ... most of my students find that particular analogy to be the most helpful way of understanding the “big ticket” items that we’re dealing with here ...



survival tip: why don’t you ZIP and post your .ACD file and let us take a look at how the PID is set up? ... that would probably save you a LOT of time and effort ...



good luck with your project ...
 
Ron,

Thanks for the help I will try to post the ladder. It seems to me that a logix's processor is a different beast then a SLC. This is a wood fed boiler installed at out plant a couple of years ago and it from day one has never held the heat at setpoint very well as far as I am concerned so I was asked to try and make it better. The PID is controlling nothing more than a VFD that is running a fan blowing air into the boiler to make heat. Check the PID called Pressure_PID. Thanks Again. Well I guess even when I zip my file its to large to fit I will have to try something els.
 
clarification from one of my previous posts ...



IF (that’s a big IF) everything (especially the “trigger/clock” action) is set up correctly, then changing the setting for the “loop update time” probably is NOT going to fix your “response” problem ... more to the point, if you DO change the “loop update time” and it DOES affect the loop’s response, then that USUALLY indicates that you haven’t set the “trigger/clock” action up correctly ... the previous statement assumes (gosh I hate that word) that you’re only changing the “loop update time” in reasonable amounts ... something in the range of 0.10 to 30 seconds sounds “reasonable” for the loop that you’ve been describing ...



when I wrote that, I had in mind that you would be changing TWO things simultaneously ... (1) the “Loop Update Time” entry on the PID setup screen ... AND ... (2) the “trigger/clock” event in the program ...



as long as those two things match each other, then the loop should respond as I said ... specifically, changing both the “loop update time” and the trigger TOGETHER shouldn’t significantly alter the response of the loop (and assuming that you stay within a “reasonable” range of values ...



where things get REALLY weird is when the two settings don’t match ... I’m sorry if I didn’t make myself clear earlier ... seeing that program should definitely help nail things down ...
 
Ron Beaufort said:
just a tip: you mentioned that you’re more familiar with using an SLC for PID control ... do you realize that the PID rung in ControlLogix will usually need a “trigger” condition to tell the PID when to calculate? ... secret handshake: this feature is “built-in” to the SLC’s PID instruction ... but you have to provide the “clock/trigger” action yourself with the ControlLogix (and incidentally with the PLC-5 also) ... you can do it by setting up a “periodic task” - or by using a timer’s Done bit, etc. ... but you MUST do it for optimum results ...

...
Now that is interesting! I know that the guy who originally wrote this program did not do that. The PID is on a unconditional rung running every scan just in a plan old subroutine. Maybe that is half my problem. See in the SLC's I never conditioned a rung just let the PID run every scan also that's why I never even gave this a thought when I read it until it just hit me in the face. Man this sight is great! I tried to talk to Rockwell today and they told me it won't even work with a PID because it takes so long to see any change in the PV.
 
Caution

hipoint2 said:
Now that is interesting! I know that the guy who originally wrote this program did not do that. The PID is on a unconditional rung running every scan just in a plan old subroutine. Maybe that is half my problem. See in the SLC's I never conditioned a rung just let the PID run every scan also that's why I never even gave this a thought when I read it until it just hit me in the face. Man this sight is great! I tried to talk to Rockwell today and they told me it won't even work with a PID because it takes so long to see any change in the PV.
Is that unconditional rung in a periodic task?
Is there an unlatch (OTU) for the PID's EN bit?

Sometimes it just seems like the janitor answers the phone at Rockwell.

Have a read of the heat exchanger articles at www.controlguru.com for an approach to discover plant gain, time constant, and dead time and using these values to set PID gains.
 
Well unfortuantly I am unable to get this ladder posted, but thanks to you guys I am able to get a better control of this PID loop that I have been working on. The biggest thing I did was add the trigger like Ron said to add. I have one more question what does the Output Bias do in a PID that I have never used before? Thanks again.
 
The output bias is a feed forward. Any change in the bias will go directly to the control variable and the loop will continue to control from the new output.

A typical application might be adding valve position to a temp loop when the flow increases. The temp loop will be slow to respond if left by itself but the bias (feed forward) can help compensate more quickly.
 
Have any of you ever used Ziegler-Nichols test to tune a PID? How in the world do you ever get enough gain to cause PV to oscillate around setpoint. From what I am finding out you can never get enough gain to even reach over setpoint with just P. do I have to keep changing the setpoint because in my process the setpoint is always the same.
 
Do you want to be a guinea pig?

hipoint2 said:
Have any of you ever used Ziegler-Nichols test to tune a PID?
No, ZN is old school and provides very poor tuning. There are better ways now such as those presented on http://www.controlguru.com.


How in the world do you ever get enough gain to cause PV to oscillate around setpoint. From what I am finding out you can never get enough gain to even reach over setpoint with just P. do I have to keep changing the setpoint because in my process the setpoint is always the same.

From you description you must have something like a temperature system. It is impossible to offer advice as to how to tune it unless we know more. Can you make a trend and post like Ron Beaufort has here?
http://www.plctalk.net/qanda/showpost.php?p=193686&postcount=31
See the attachment. You should look at the advanced control thread to.

In short we can find out a lot about your system if you can post a trend with the CO and the PV changing. By computing the plant gains, time constants and steady state values we can also compute the controller gain, integrator time constant and derivative time constant.

Do you want to try? I think is beats guessing. At least I think we can get you very close.
 
Thanks for the help guys! The problem all along was as Ron stated with the trigger. I thought I had put one in but here the time constants where still not matching. I guess you really have to pay attention to detail.
 
Peter Nachtwey said:
No, ZN is old school and provides very poor tuning. There are better ways now such as those presented on http://www.controlguru.com.




From you description you must have something like a temperature system. It is impossible to offer advice as to how to tune it unless we know more. Can you make a trend and post like Ron Beaufort has here?
http://www.plctalk.net/qanda/showpost.php?p=193686&postcount=31
See the attachment. You should look at the advanced control thread to.

In short we can find out a lot about your system if you can post a trend with the CO and the PV changing. By computing the plant gains, time constants and steady state values we can also compute the controller gain, integrator time constant and derivative time constant.

Do you want to try? I think is beats guessing. At least I think we can get you very close.

Peters statement re ZN initially raised my hackles as I have always found "Zieger-Nicholls" useful for calculating initial values when tuning. Once I followed his link to ControlGuru, however, I found myself in complete agreement. The ControlGuru page refers to the classic ZN frequency response method and I have never found this of any value when tuning process control loops which are often very slow to react and not tolerant of instability. Accidentally raising several tons of liquid above boiling point is not a situation anybody should treat lightly. There is, however, a ZN step response method which is very similar to the ControlGuru system and I would have no hesitation in using this if I had no other way of finding good starting values. The emphasis here is on starting values as there is normally a need for fine tuning to get the best out of the loop.
Andybr
 

Similar Topics

Controller: 1756-L84E v.35 Prosoft MVI56E-MNETC for ModbusTCP/IP I'm having an issue with some of my write commands. The write command that...
Replies
0
Views
187
I have several Avery scale units and they are configured as Generic Ethernet modules, and I am actually reading the data fine for the weight...
Replies
2
Views
400
What's the best way to move a tag value from the panelview+7 to the clx plc. We display amps from a power meter on the panelview screen, read in...
Replies
1
Views
394
I'm running into an issue migrating a PLC-5 using the newer Logix Designer Export when opening a saved .ACD from RSLogix-5. It has multiple RIO...
Replies
2
Views
610
We have two sites that are stranded with no line of site, they are handled by phone/modem with a chain that includes: Stranded site (client)...
Replies
5
Views
899
Back
Top Bottom