I need to implement an anti-windup (output limitation) for my PID controller. Simulink is offering two options: back calculation
and clamping
(documentation) which seem to deliver equal results. I know what back calculation is doing mathematically. It requires to define the back-calculation gain Kb
. This gain is dependent on how long my controller is saturated, therefore it is actually a dynamic value (because I may have a high variation of saturation times). Do you see a way to control this value? (in this case it probably would be necessary to build my own PID Controller as shown in the documentation above or in the picture below.
Which brings me to the question, what is clamping
actually doing? And what are other differences? Which one is faster, which one is more robust against stiff slopes? Does anybody has experiences using both?
Anti-reset windup (ARW) protection is a standard feature of industrial PID controllers. In some DCS, ARW limits are adjustable besides output limits. The ARW limits may not be at their best values. ARW default values may not match up with output limits as output scale and engineering units change.
Clamping. Clamping will always work. It detects when there is integrator overflow and sets the integral path of the PID-controller to zero to avoid windup by using a simple switch. Clamping is a commmonly used anti windup method, especially in case of digital control systems.
To enable anti-windup, go to the Output Saturation tab in the block dialog. Select Limit output and enter the saturation limits for the plant. Next, from the Anti-windup method list, select back-calculation . Then, specify the Back-calculation coefficient (Kb).
Clamping, or conditional integration, prevents the integral output from accumulating in the appropriate direction when the controller output is saturated.
Not sure if this fully answers the question, but the PID Controller documentation page, explains a bit more about clamping:
clamping
Stops integration when the sum of the block components exceeds the output limits and the integrator output and block input have the same sign. Resumes integration when the sum of the block components exceeds the output limits and the integrator output and block input have opposite sign. The integrator portion of the block is:
The clamping circuit implements the logic necessary to determine whether integration continues.
If you select the clamping option and look under the mask, you can probably see the details of the clamping circuit.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With