How to configure the PID controller block for anti-windup in the "Prevent Block Windup in Multiloop Control" model?

4 次查看(过去 30 天)
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?

采纳的回答

MathWorks Support Team
编辑:MathWorks Support Team 2024-8-29
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 个)

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by