05-18-2007 06:03 AM
05-18-2007 07:40 AM
Viller,
The PID.vi (or the autotuning in your case) already have the anti-windup algorithm implemented internally. You just need to give the correct limits to the VI.
Also, you can look at the manual and shipping examples for more information.
Hope this helps.
05-22-2007 01:39 AM
Hello Barb and thank you for your respons.
actually I did implement the "anti wind-up" as you describe - by just dynamically changing the limits at different loads. But I found this to be a bad design - try to imagine the following scenario:
At a certain load the minimum airflow must be 3, so at this load point the minimum output of the PID is set to 3! then then the temperature rises above the setpoint which should make the PID output a value - but It's only when the temperature is so large that the output is LARGER than 3 that an "output" from the PID influences the system!!!
On the other hand is you were to (as I first described) add the min value after the PID, output below the minimum will influence the system.
05-22-2007 02:14 PM
Viller,
I think that maybe you could to convert the output of the PID to some arbitrary scale, after the output is limited to some scale, like 0-100 and use a linear interpolation to control the output to the scale that you want, 0 to 5 for example. This is also used for 4 to 20 mA conversion also. This will give you the anti-windup internally and you can scale properly.
If that doesn't satisfy your needs, you can always study the PID code and create your own version with antiwindup. But I am sure that you'd be able to use plain scaling on the output (and change Proportional gain accordingly, of course).
Let me know if this doesn't make sense. Thank you!