How to configure the PID controller block for anti-windup in the "Prevent Block Windup in Multiloop Control" model?
6 views (last 30 days)
Show older comments
MathWorks Support Team
on 30 Mar 2021
Edited: MathWorks Support Team
on 29 Aug 2024
According to the documentation in the which can be accessed by running below command in the command window of installed MATLAB R2019a version:
>> web(fullfile(docroot, 'simulink/slref/prevent-block-windup-in-multiloop-control.html'))
“If the PID controller tracks the output of the inner loop, then its output never exceeds the saturated inner-loop output. To achieve this tracking, connect the Saturation block output to the tracking input of the PID Controller."
When I connect a sine wave input, the output of PID block exceeds the saturated output of Inner Loop block.
Why is this model not behaving according to the documentation? Am I doing something wrong?
Accepted Answer
MathWorks Support Team
on 29 Jul 2024
Edited: MathWorks Support Team
on 29 Aug 2024
In order to observe such behavior, you need to configure the block for anti-windup. This can be achieved by setting the output saturation limit of the PID controller to match the inner-loop saturation limits and activate an anti-windup mechanism. To read more on this topic please run the below command in the command window of installed MATLAB R2019a version:
>> web(fullfile(docroot, 'simulink/slref/anti-windup-control-using-a-pid-controller.html'))
Note: Instead of going to the PID Advanced tab, go to the Output Saturation tab and apply the changes there.
After enabling the anti-windup mode, you should be able to observe the expected behavior where the output of the PID never exceeds the saturated output of the inner-loop.
Please follow the below link to search for the required information regarding the current release:
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!