PID Tuning

Without knowing the scaling (as Mispeld pointed out) I can only give you advice on which direction to go. Cut you Proportional value in half, double your Reset value, and put your Derivative to zero. Try the same trend chart again and see how it does. The oscillation you are having is due to the CV being very aggressive. You can lessen this response by decreasing the gain(Proportional), as it is rather high right now(assuming your scaling is setup properly), and increasing the reset time.

EDIT: Looks like I need to type faster! Your scaling is essentially telling the PID instruction that your measurement range is 0-10,000°F. This, with a P gain of 300 makes a proportional band of 33°F. This actually isn't a bad starting point. You could leave that alone and just start extending the reset time.



A recent project I had was using radiant tube burners which have a huge time delay. I ended up with proportional bands around 5°C and Reset times of 120-200, depending on zone.
 
Last edited:
In a (near) perfect world, the analysis for PID tuning a heating process would be an open-loop step change in CV, with normal process load, no outside disturbances, and a trend where the PV reaches its ultimate value for that CV step. That is not what we have here, and it is possible to make due with real world experience, though it may not yield optimal results. With that disclaimer, this is what I see in the data provided:

. From the process at rest at around 130 degrees, there was an output step to 70%, and then a ramp down to zero percent. Temperature rose to about 300 degrees during this process step. This pre-heat will be ignored for the PID analysis.
. At 300 degrees, there was effectively an output step from 0% to 70% because of the (presumably) closed-loop PID action. After 2 minutes, temperature started to increase, and then eventually rose to about 725 degrees, while the output stayed at 70% for 25 minutes before the PID action cut the output back to zero.
. Based on the shape of the temperature rise, I am going to guess the process reached its first order time constant when the output went from 70% to 0%. This is only a guess, and probably an under-estimate. But it does allow the following process estimates:
-> Process gain: 0.09 % input range/% output range (edit: was 0.06)
-> Dead time: 2 minutes
-> First order time constant: 23 minutes
. Based on these values, Internal Model Control (IMC) recommendations for PI control, Allen-Bradley Dependent gains:
-> conservative: Kc = 20, Ti = 23 min/repeat (edit: was Kc=28)
-> standard: Kc = 60, Ti = 23 min/repeat (edit: was Kc=88)
. Using Cohen-Coon PID recommendations:
-> Kc = 170, Ti = 5 min, Td = 0.7 min (edit: was Kc=256)

I would recommend starting with the conservative PI (Kc=20, Ti=23 min, Td=0) because of the model uncertainty. If this provides sufficient rise time and manageable overshoot, then avoid the derivative action which appears to be creating unwanted control action, likely due to noise on the input. While this is more integral action, it is outweighed by the major reduction in (dependent) proportional from the gains in an earlier screenshot.

Another consideration is the apparent asymmetric response: the process heats up faster than it cools down. If it were a continuous process you would need to pay more attention to the sluggish cooling. However, since this sounds like a batch heat treat process, you may have acceptable performance with the conservative PI tuning.

If you have unacceptable overshoot, you can start by backing off Kc. If nothing seems to work, it may be necessary to do the near-perfect-world open-loop step test for better data.

Lastly, and very important: the PID configuration specifies 0.5 loop update time. Make absolutely certain you are scanning the PID instruction at this period. It will either be the time period of a periodic task containing the instruction (with no precondition), or a continuously (or fast-period) scan of the PID instruction with a 500 ms timer done bit as the precondition. These calculated gains will not work as intended if the actual scan period does not match the PID configuration loop update time.
 
Last edited:

Similar Topics

Hello, I am attempting to tune a PID loop on a process. The process involves a valve with electronic actuator that has quite a high deadband...
Replies
10
Views
2,177
so i have 4 25gpm wells feeding a 1000gal tank (T-1), with an additional 15gpm from a decant tank for 3hrs every 12hrs. P1 and P2 both controlled...
Replies
154
Views
35,903
Hi everyone, yet another PID problem. I'm hoping I understand enough of the process I'm controlling that my request for help is reasonable. If a...
Replies
113
Views
28,002
A few months ago, I started to look into PID controllers and the tuning of first order processes. This has, partly thanks to you, resulted in a...
Replies
162
Views
62,213
I haven't had to tune a PID loop in a very long time. It's actually a PI loop for a pulse width modulation s.v. What was the name of that tuning...
Replies
16
Views
4,107
Back
Top Bottom