PID % output limit

The true PV rate of change limit is governed by the plant and the 'driver' (heater, motor,cylinder, etc). When the driver hits it's power limit the PV hits it's rate of change limit. Artificially limiting the output simply decreases the upper limit to the PV rate of change, which is probably what you don't want to do.

It would seem more reasonable to me to limit the rate of change of the command to stay inside of the achievable rate of change of the PV. Then you can use feed forwards effectively.
 
kamenges said:
The true PV rate of change limit is governed by the plant
Specifically the gain and time constants. In the temperature example one knows approximately the steady state value of the temperature by mulitplying the output by the gain. However, the time constants play a big part which is why your suggestion below is so important. If the time constants are very small then the temperature will almost instantly reach the steady state temperature which results in a high rate of temperature change even if the change in set point is small.

kamenges said:
Artificially limiting the output simply decreases the upper limit to the PV rate of change, which is probably what you don't want to do.
Yes.

kamenges said:
It would seem more reasonable to me to limit the rate of change of the command to stay inside of the achievable rate of change of the PV. Then you can use feed forwards effectively.
Agree. That how it is done in motion control.
 
I'm interested in your response regarding the smith's predictor Peter . As I mentioned , I have used a predictor for feed back moisture control on large industrial dryers , however , I found it difficult to use on temperature control in the same application . Since the dryers run with two heat loads - empty or constant evaporative (the machine is either awaiting product - or running production , I found it more succesful to bias the setpoint of the temperature loops for a given time as product was detected to prvent droop on start up - if the bias and the amount of time applied was chosen carefully , then it is possible to almost elimate droop without having the loop tuned to be excessively "wild" . The problem with using a predictor in this case is that the PT100 is directly in the center of the zone , in the circulating air stream after the steam heater , so I assume I'm right in thinking that the shift register would only be as long as the system lag (PT100 response time , Steam heater response time ) ? I also tried a delta T approach where air on - air off temperatures provided the bias for the setpoint . This worked very well with big viscose fibre dryers where the loading from moisture variation can change from 100%BDB to 150%BDB in a very short space of time .
 
10BaseT, dryers are tough because the thermal load, and therefore the model, is always changing. A static model will not work. A Smith Predictor needs a static model. I agree that a feed forward or bias is required that changes as a function of the product entering and leaving the dryer. Yes, you need a delay queue that represents the product in the dryer. It would be very complex to to have a separate model for each small increment along the length of the dryer. It could be done. It would kind of like weather simulations where the weather at any one point is dependent on the weather at the adjacent points all directions. The dryer case would be simpler as there is only one dimension along the conveyor line but even then there would be an almost infinite combinations of product in the dryers. I hope this makes sense and explains why a Smith Predictor with just a single model will not work. A Smith Predictor works on relatively continous processes which yours is not.
 
My original plan was to use a predictor to compensate for droop on run-in , whilst generally the load is consistant (once a dryer is set , then the run in is predictable ) , as I mentioned , I use a predictor on the output end of the dryer where remoisturization is done - where it works well , it wasn't at all suited to droop compensation .

I ended up using a setpoint ramp which was variable for time , rate and offset , and this worked well , with careful "tuning" it was possible to reduce droop to 2-3C when dealing with an evaporative load of 6000kg/Hr (these are BIG dryers) once the run in was accomplished , then the loop keeps PV fairly much spot on throughout the process unless there is a very big change in load.

Whilst I agree that "clamping" CV's is not the way to achieve good control - it has its uses for certain process run-ins and run-outs , there is no need to let a loop try to compensate when there are known good control parameters.
 
Peter Nachtwey said:
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%20-%20TempPID.pdf

I'm going to respectfully disagree, Peter. I think there is a little circular reasoning here. It is implicitly assumed that the energy transfer is a first order system in developing the model of the transfer function. Then the transfer function is being used to prove that the energy transfer is first order!

Let's look at a heat exchangeer, where the flow rate of a cold fluid from, say, a lake is being used to control the discharge temperature of a hot fluid, say oil. Let's assume the hot fluid is to be cooled from 120°F to 90°F.

The rate of heat transfer in a heat exchanger is a function of the log mean temperature difference between the two fluids. The closer the "cool" fluid's temperature is to the "hot" fluid's temperature, the less heat transfer occurs. This is non-linear unless a narrow range of temperatures is considered. Clearly, the closer the two tempertures are the more the flow rate of the cold fluid must change to create the required energy transfer rate. I can't imagine the same tuning being effective on a winter day with 50°F cooling water as in mid-summer with the cooling water temperature at 80°F.

It seems intuitively obvious that if the discharge oil temperature drifts by 1°F in summer a larger change in cooling water gpm is required than would be required in winter to correct the same 1°F error!
 
Oops there is an error in the first line of my equations.

It should be:

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

My equations are for a simple mass and sensor that is being heated. An opposing flow heat exchanger model would be more complicated, but at least it would be more uniform than the dryer with conveyor system.

Tom Jenkins said:
It is implicitly assumed that the energy transfer is a first order system in developing the model of the transfer function. Then the transfer function is being used to prove that the energy transfer is first order!

Actually I am assuming a second order system which is implemented as two first order poles. I thought we were talking about heating systems since russmartin mentioned warming up in so much time in the orginal post.

A heat exchanger ( I assume you are talking opposing flow cooling ) is a more distributed system like the converyor in the oven where the linear formulas apply, but only at each small point along the length of where the heat is being transfered. By the time you do all the calculus you end up with log mean difference. I am away from my thermodynamics books to verify.
Tom's cooling system in much different from a simple heating system.

Tom's example does bring up a point that I have been making for the last 3 years. You have to know know your system to properly tune and control it. I will have to look at this when I get home to see how PID control would work on a heat exchanger. Good stuff.

FUD, fear uncertainty and doubt. Just because the model isn't ever going to be perfect that doesn't mean one shouldn'g try making one or at least put more effort into understanding how the plant works. If the plant model is perfect one wouldn't need a PID. This is the goal that is never achieved. If one had a perfect model the control output could be calculated given the conditions using feed forwards or bias. A good model will need very little correction from a PID. A poor model will require a more. No plant model means the PID is carrying the whole load with sub optimal results.



Tom, you should post a link to your model so others can see. I still have it.
 
Interesting, it follows objective clearly and.

01) To limit the output, make in the case to only prevent a harmful thermal impact.

The fact (perhaps real) of this practical is in the traditional operation of PI D. This esteem the maximum value of output and when approaching to the Setpoint only reduces output.

When necessary to all have a soft ramp or a tax constante(fº/min Cº/min) for or part of the SPAN?

As to guarantee if PID it operates for the difference between PV and SP!
Therefore, as to manipulate the parameters to get a linear temperature.
 
Peter Nachtwey said:
Tom, you should post a link to your model so others can see. I still have it.

I assume this is the model you are talking about:

http://www.escor.org/

Click Past Projects, then click on A2C - Advanced Aeration Control, then click on the box for: Implementationof Feedforward Aeration Control Using On-Line Offgas Analysis


 
02)A exception cited for Peter, confirmed for Norm. It would be accurately Wind-up effect, correct?

03)like to know of the model of the system, I understood first the expressions accurately. It could explain the dynamics of the model:

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)
 

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
958
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,404
Back
Top Bottom