MATLAB Answers


How to put anti wind up (integrator clamping) for PI in simulink

Asked by Ramu Nair R on 12 Jan 2018
Latest activity Answered by John Harris on 14 Jun 2018
I am using saturation block, but that creates error.


Sign in to comment.



2 Answers

Answer by Birdman
on 12 Jan 2018

You don't have to create anything on your own. Go to PID Controller block in Simulink, double click it, open PID Advanced part of it. Check Limit output part and then the Anti-windup method will become visible. Then, you can choose clamping as a method. Hope this helps.


Thanks for your answer. But i would like to make one myself.
That is also possible. Again, go to PID Controller and set its anti-windup method as Clamping as I said before. Click Apply and close the Block Parameters pane. Then, right click PID Controller and select Mask->Look Under Mask. You will encounter a block diagram as attached in figure. You can make one for yourself.

Sign in to comment.

Answer by John Harris on 14 Jun 2018

The PID controller uses the Saturation block. If you don't want a Saturation block, or if your max and min are dynamic, you need to roll your own. The logic is something like,
if(in>max); out=max;
elseif(in<min); out=min;
else; out=in;
This logic could be put in a subsystem using any of the following:
* relative operators & Switches
* relative operators, Enabled Subsystems, Merge
* if block, If-Action subsystems, Merge,
and then your subsystem could be a block in your custom could find it useful again.


Sign in to comment.