LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PI control - Anti Wind-up!?

hello
I have a control system with a simple feedforward - the application is a blower control, which should be kept at a specific temperature, but a certain minimum airflow must be garanteed at different loads (of the system that is cooled).  - So the "minimum airflow" is maintained by the feedforward and the "temperatur control" is maintained by the PI controller.
 
As the application is a blower a satuaration must be incoporated, so my problem is integral windup! - so how do I implement a anti windup?? attached is a conceptual VI illustrating how I have achieved this! Is there a better way to achieve this??
 
 
0 Kudos
Message 1 of 4
(5,151 Views)

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.

Barp - Control, Simulation, RTT and HIL - National Instruments
0 Kudos
Message 2 of 4
(5,145 Views)

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.  

0 Kudos
Message 3 of 4
(5,118 Views)

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!

Barp - Control, Simulation, RTT and HIL - National Instruments
0 Kudos
Message 4 of 4
(5,096 Views)