Help - Search - Members - Calendar
Full Version: PID Tuning Gurus
Forums.MrPLC.com > PLCs and Supporting Devices > Allen Bradley
phuz
I have attempted to use the autotune feature on this one temperature control loop, but it quits with a few errors such as too long of a deadtime. This system is already in place and operational so I need some tuning help.

I have current values of P:2 I:6 D:0 and when going from a steady state of 125 degrees F, it takes about 1/2 hour to reach (and stabilize) its setpoint of 180 degrees F. Sometimes it overshoots to 192, which is beyond the customer's request. I don't think the loop is pulling back enough before it crosses the setpoint, and I know that adding some derivative in there should do the trick, but I am hardly an experienced tuner, so based on the given change in PV and change in time, what kind of derivative would you guys plug in there to help that overshoot?

CompactLogix
PID Equation Type: Independent
Control Action: E=SP-PV
Calculate P using E
Calculate D using PV
jimdi4
QUOTE(phuz @ Feb 3 2009, 04:56 PM) [snapback]78375[/snapback]
I have attempted to use the autotune feature on this one temperature control loop, but it quits with a few errors such as too long of a deadtime.

what kind of derivative would you guys plug in there to help that overshoot?


What autotune button? I would be curious on how this works.....

I woud never use any derivative...If you are overshooting, thats fine, your proportional allows you to go over and under setpoint, but the time it takes to re-coupe from the highs and lows comes from the Integral or rate of change which equates to 1/ T. So if I am seeing too slow of a response I would decrease the number of the Integral to something like .0005 and work from there.. The bigger the number of Integral the slower the response.
BobLfoot
QUOTE(phuz @ Feb 3 2009, 03:56 PM) [snapback]78375[/snapback]

I have attempted to use the autotune feature on this one temperature control loop, but it quits with a few errors such as too long of a deadtime. This system is already in place and operational so I need some tuning help.

I have current values of P:2 I:6 D:0 and when going from a steady state of 125 degrees F, it takes about 1/2 hour to reach (and stabilize) its setpoint of 180 degrees F. Sometimes it overshoots to 192, which is beyond the customer's request. I don't think the loop is pulling back enough before it crosses the setpoint, and I know that adding some derivative in there should do the trick, but I am hardly an experienced tuner, so based on the given change in PV and change in time, what kind of derivative would you guys plug in there to help that overshoot?

CompactLogix
PID Equation Type: Independent
Control Action: E=SP-PV
Calculate P using E
Calculate D using PV



I am no PID Guru, but I'd encourage you to search MrPLC for PID articles as these have been discussed ad nauseum in multiple otehr posts, {hint to mickey - back me up with some good links}.

If you system can safely tolerate oscillation try this poor man's method.
1. Choose a "low" setpoint 125 degrees.
2. With no I and No D raise P until the system oscillates without running away.
3. Now cut that oscillating P in half. and introduce I.
4. Change setpoint and Keep raising I until the system settles down with 1 or 2 overshoot/undershoot oscillations.
5. Now to limit the amplitude of the overshoot, slowly introduce D until the overshoot is within desired limits.

Basically P is true gain and will never drive to setpoint. I works on error and drives to setpoint. D anticipates the future.
Mickey
Some reading material ( see links below)

As always when people ask about PID...

Read these posts by Ron Beauford
http://www.ronbeaufort.com/sample_lessons.htm


What is P in PID?:
http://www.ronbeaufort.com/WhatIsP.pdf

What is I in PID?:
http://www.ronbeaufort.com/WhatIsI.pdf

What is D in PID?:
http://www.ronbeaufort.com/WhatIsD.pdf

http://www.ronbeaufort.com/WhyNotPOnly.pdf

Also:

http://www.controlguru.com/pages/table.html
phuz
QUOTE(Mickey @ Feb 4 2009, 12:22 AM) [snapback]78388[/snapback]

Some reading material ( see links below)

As always when people ask about PID...

Read these posts by Ron Beauford
http://www.ronbeaufort.com/sample_lessons.htm


What is P in PID?:
http://www.ronbeaufort.com/WhatIsP.pdf

What is I in PID?:
http://www.ronbeaufort.com/WhatIsI.pdf

What is D in PID?:
http://www.ronbeaufort.com/WhatIsD.pdf

http://www.ronbeaufort.com/WhyNotPOnly.pdf

Also:

http://www.controlguru.com/pages/table.html


Thanks guys...huge help!
Mickey
QUOTE(phuz @ Feb 4 2009, 07:26 AM) [snapback]78399[/snapback]


Thanks guys...huge help!


Your Welcome
phuz
QUOTE(Mickey @ Feb 4 2009, 10:09 AM) [snapback]78406[/snapback]

QUOTE(phuz @ Feb 4 2009, 07:26 AM) [snapback]78399[/snapback]


Thanks guys...huge help!


Your Welcome


And a side note...I found out why Autotune would never complete successfully. Apparently you need to have the PID function block in a periodic task, which I did not.
It runs now!
IamJon
I figure i'll add my 2 cents even though the issue is resolved...

I've seen a PID loop with a derivative of over 1000. What happened was a heat exchanger was oversized, so our water was flowing laminar instead of turbulant through each pipe in the HE. and out TT was a ways down stream. so like was stated above, we used the D to 'read the future.' I think of it like acceleration when watching it on a trend. because of how slow the system was and how long it was taking us to read it, we needed the hi D. i think it ended up being about 1500.

Of course, if you design your system right, you wouldn't need this, but just sayin... :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2010 Invision Power Services, Inc.