PID % output limit

russrmartin

Member
Join Date
Aug 2002
Location
Eastman, Wisconsin
Posts
744
Hey guys, we noticed here that there are some PID blocks in RS5 programs that have the %output limited to various #s. One is set at 65%, and the oven takes 45 minutes to warm up, while a sister line has the same output limit at 90% and warms up in about 15 minutes. Just wondering, when setting up a PID, why not just put the output limit at 100%, tune it, and walk away?
 
Sometimes to limit thermal shock . I tend to use a preheat routine which steps the o/p until setpoint has been achieved , then there is no need to limit output cv
 
Limiting temperature change is good, limiting output is not.

Thermal shock is good reason to keep the system from heating up too quickly but it is a poor reason for limiting the output. One should limit the rate of change in the SP. If one limits the output then the controller can't correct for big changes in the load where 100% output may be required.
 
There's many reasons for limiting the output power.
1) There could be a large time lag between the heater and sensor. Allowing 100% during warmup could cause products near the heater element to get too hot. A uniformity issue.
2) If you have more than one temperature range, but only one set of PID parameters, limiting the output can help balance the response across the range. Typical would be to allow a fast response at high temperatures, but still limit overshoot at low temps.
3) The person doing the tuning was inexperienced, and found it easier to limit output to control overshoot.
4) If operators are allowed to go to manual mode, a power limit can limit maximum temp and maximum rise time.
5) There's quite a bit of difference in Autotune programs. In many cases, the Autotune numbers are just ballpark numbers. I have to do the final tweaking. Limiting the output makes Autotune work better on occation.
6) If the system is using heat lamps, then it may have redundant heaters. If one or more elements fail, the percentage output can be increased to keep the line going.

I still agree with the previous posts. Limiting output may not be the best thing to do. It's more of a last resort.

If both lines are running the same product, and none of the above issues apply, then you are correct. Set both outputs to 90 or 100%, and retune the PID.
 
keithkyll said:
There's many reasons for limiting the output power.
1) There could be a large time lag between the heater and sensor.
This should be fixed by using a smith predictor or observer with a delay queie.

keithkyll said:
Allowing 100% during warmup could cause products near the heater element to get too hot. A uniformity issue.
Uniformity. A different issue from dead time What about the products that are too cold?.

keithkyll said:
2) If you have more than one temperature range, but only one set of PID parameters, limiting the output can help balance the response across the range. Typical would be to allow a fast response at high temperatures, but still limit overshoot at low temps.
The temperature range should make no difference.

keithkyll said:
3) The person doing the tuning was inexperienced, and found it easier to limit output to control overshoot.
That may be but it is not a good reason.

keithkyll said:
4) If operators are allowed to go to manual mode, a power limit can limit maximum temp and maximum rise time.
Limit the rate of change in the power not the output itself unless there are temperatures that shouldn't be exceeded.

keithkyll said:
5) There's quite a bit of difference in Autotune programs. In many cases, the Autotune numbers are just ballpark numbers. I have to do the final tweaking. Limiting the output makes Autotune work better on occation.
I write auto tune programs. Limiting the output will not make the autotune work better.

keithkyll said:
6) If the system is using heat lamps, then it may have redundant heaters. If one or more elements fail, the percentage output can be increased to keep the line going.
This doesn't make sense. If one fails then plug another in. This make no difference what the temperature range is.

keithkyll said:
I still agree with the previous posts. Limiting output may not be the best thing to do. It's more of a last resort.

If both lines are running the same product, and none of the above issues apply, then you are correct. Set both outputs to 90 or 100%, and retune the PID.
 
Before we do anything, we need to get with the product and process engineers and this would require an MOC procedure(management of change). This was more of a theory question as to why someone would do this. All of your posts answered my question effectively. I now know several POSSIBLE reasons for limiting the output. Thanks guys.

Russ
 
Peter Nachtwey:[/i] [b] Quote: Originally Posted by [b]keithkyll[/b] [i]2) If you have more than one temperature range said:
The temperature range should make no difference.

[/b]

I thought that as the temperature increased the rate of heat transfer decreased due to the decrease in delta between the source and the plant? Wouldn't this appear to make the system 'more sluggish' at higher temperatures, requiring retuning at dirrefernt temperatures?

Keith
 
kamenges said:
I thought that as the temperature increased the rate of heat transfer decreased due to the decrease in delta between the source and the plant? Wouldn't this appear to make the system 'more sluggish' at higher temperatures, requiring retuning at dirrefernt temperatures?

Keith

It does change the rates of increase or decrease but it does not change the time constants or the the gain of the system. It still takes the same amount of time, or number of time constants, to go from one temperature setpoint to another. The temperate gain of a temperature system is degrees per % output. This ratio stays constant in a ideal system.
 
Peter Nachtwey said:
It does change the rates of increase or decrease but it does not change the time constants or the the gain of the system. It still takes the same amount of time, or number of time constants, to go from one temperature setpoint to another. The temperate gain of a temperature system is degrees per % output. This ratio stays constant in a ideal system.

I'm not sure I understand or agree, Peter.

First, if the rate of increase/decrease changes, how can the same number of time constants be required to rspond to a significant setpoint change?

Even in an ideal system, I would expect the rate of energy transfer, the system response time, and the optimum tuning to change as the temperature difference between the process and the heating source changes. If you are heating air to 100 °F by controlling electric heaters at 1,000 °F a 10 °F change in setpoint might not matter.

If you are controlling temperature of 200 °F water in a vessel using superheated steam at 250°F a 25°F change in setpoint would seem to matter a great deal.
 
I frequently use a smiths predictor for moisture control f'back , I'd be interested to hear Peter N's opinion as to the best way of instituting this control method for a heating system .
 
Some heating elements also have a much lower resistance at low temperatures. Slamming cold carbide elements with full power can damage the element an/or the heating power supply. When using this kind of element it is necessary to limit the amount of power that is applied at low temperatures. You can always include logic to raise/lower the CV limit depending on temperature, or you can use a heating power supply that has tap switches on the transformer.

If you have carbide elements a rate of change limit on the SP will not guarantee that you do not slam the element.
 
Wow, three different questions.

Tom,
The transfer function for a simple temperature system is:

G*exp(-s*d*T)/(tau1*s+1)*(tau2*s+1)

G is the gain in degrees per percent output.
tau1 is the time constant of the thermal mass
tau2 is the time constant of the temperature sensor.
T is the update time.
d is the number of update periods of dead time.

There could be a third time constant if the heater takes time to heat up to radiate heat.

The equation for this is:

Temp1(n) = exp(-T/tau1)* Temp1(n-1) + G*(1-exp(-T/tau1))*Control%(n-d) + Ambient temp.
Temp2(n) = exp(-T/tau2)*Temp2(n-1) + ( 1-exp(-T/tau2))*Temp1(n-1)

Where Temp2 is the resulting temperature as a function of the control output percentage. This implements a simple temperature with a gain ( G), deadtime ( d*T ), and two low pass filters using tau1 and tau2. Run some simulations using excel. I did this off the top of my head since I don't have access to my Mathcad right now.

I did this on the Hotrod.zip in the download area and on my ftp site.
ftp://ftp.deltamotion.com/public/PDF/Mathcad - TempPID.pdf

10BaseT, I can model systems. If one uses the PID to control the model without the dead time then the PID will not wind up and over react because it will see the model responds. See the hotrod.zip. The trick is that the model is not perfect and must be corrected. The estimated temperatures predicted in the model must be put in a delay queue these delayed values are thencompared with the current meassured temperature. A fraction of the error is then added to the estimated temperature to get a new corrected estimated temperature. It is a little more difficult than that because I would also compare the delayed estimated derivatives ( rates ) with the current temperature derivatives. This is not easy to do in a PLC. That is why there are DCS systems and temperature controllers. Attempting to PID control a system with deadtime with just the PID alone is extremely difficult and often a waste of time and money. If one doesn't have a model then feed forwards should be used so the PID gains can be much lower. Using feed forwards or bias as a function of the SP and its derivitives is common practice in motion control.

Alaric's non linear case is a good reason to limit power. Does limiting the output limit power? An analog output limits the voltage only. A PWM just limits the time the current is on. Where are we controlling I*V? A more sophisticate system is required. What happens when the system is warmer and resistance is higher? We have current source feedback on our V to I product to compensate for the change in resistance in a servo spool as temperature changes.
 
As usual, I'm missing something

I understand Peter's equation if the system were an open loop system. It will take the same amount of time for the temperature to make a step change given a step change in output from anywhere to anywhere at any point within the operational envelope of the source. So going from an open loop output of 25% to 30% may give you a change in temperature from 250 degrees to 300 degrees and may take an hour to reach temperature. A step from 30% output to 35% output will take you from 300 degrees to 350 degrees and will take 1 hour. The same can be said when going from 85% output to 90% output (discounting losses of course).

But then you throw in a controller. If you want to go from 250 degrees to 300 degrees, the controller gain is high enough and you put no limits on it, the controller may put out a 100% output. So now it won't take one hour to reach 300 degrees. It will take how ever long it takes for the system response to a 250 degree to 1000 degree step to pass through 300 degrees. At that point (discounting feed forward) the source shuts down and the temperature starts to drop off of 300 degrees.

Now lets make a step change from 900 to 950 degrees. That same 50 degree change will take longer because the system response to a 900 degree to 1000 degree step will take longer to intersect 950 degrees.

This seems to say that the system response to a given temperature error will not be constant through the temperature range of the device. This would seem to be true of any first order plant.

Where am I going wrong.

Keith
 
I think you understand. In openloop it will take longer for the the system to go from 900 to 950 degrees that it will take to go from 250 to 300. If the same output is applied. However, if just enough output is applied to reach the desired temperature then it will take a constant time. In openloop one can just use the gain to calculate how much signal is required to reach a certain temperature. Closed loop systems should respond faster because the output can go higher or lower than the steady state values. In closed loop the controller will output extra to reduce the error. In closed loop the temperature will always go between two temperatures in the same amount of time except..... when?
 
OK, I get it, maybe...

The system will go between two temperatures in the same amount of time unless the source goes into saturation or is otherwise limited. At that point the response is non-linear and all bets are off.

The example I provided was of a system in saturation. I drove the source to 100% output but I really needed more output capacity to satisfy the linear equations governing the controller.

Keith
 

Similar Topics

Hello, I have a motor that we are sending a RPM Speed Output from 0-100% to the VFD. However, the Motor HP needs to be limited to 6000 HP and the...
Replies
3
Views
85
Hi all, I posted recently about a HVAC-style process control application I'm working on, and have a related question that probably warrants its...
Replies
12
Views
3,907
Hello Friends, I am looking for a way to take my PID Output( it is the result of my PI Algorithm in Real format) and generate a PWM Signal in...
Replies
16
Views
2,477
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
959
I have an electric actuator with a 75% duty cycle. I am sending an analog output from a PID to a controller board on the actuator. My concern is...
Replies
6
Views
2,405
Back
Top Bottom