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

121 次查看(过去 30 天)
I am using saturation block, but that creates error.

回答(3 个)

Birdman
Birdman 2018-1-12
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.
  2 个评论
Birdman
Birdman 2018-1-12
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.

请先登录,再进行评论。


John Harris
John Harris 2018-6-14
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;
end
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 library...you could find it useful again.

sanjeev
sanjeev 2019-12-11
Hi,
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

类别

Help CenterFile Exchange 中查找有关 Programmatic Model Editing 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by