MATLAB Answers

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

58 views (last 30 days)
Ramu Nair R
Ramu Nair R on 12 Jan 2018
Answered: sanjeev on 11 Dec 2019
I am using saturation block, but that creates error.

Answers (3)

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.
Birdman on 12 Jan 2018
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.

John Harris
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.

sanjeev on 11 Dec 2019
Please find PID with Anti Wind-up from Astrom book.
K: proportional gain,
K/Ti: integral gain,
KTd: derivative gain,
Tt = sqrt(Ti*Td)
Actuator model = Saturation block (you can define upper and lower depends on hardware you are using)
es = control implemented - control generated



Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!