필터 지우기
필터 지우기

Simulink coder with PID - Algebraic loop when using antiwindup

조회 수: 3 (최근 30일)
alex pabouctsidis
alex pabouctsidis 2013년 8월 28일
I'm using simulink coder to generates code for the STM32 microcontroller. My model uses a couple of PIDs and everything works fine so far. However, i noticed that i need to have some sort of anti windup active in the PIDs. I tried to use both the back-calculation and clamping options, but in either case i get the following error:
Algebraic loops are not supported in generated code. Use the 'ashow' command in the Simulink Debugger to see the algebraic loops
I'm surprised that there is any algebraic loop in the first place since the anti windup error feedback goes through an integrator (for back-calculation).
Is there any way to work around this?
Thanks, Alex

답변 (1개)

Arkadiy Turevskiy
Arkadiy Turevskiy 2013년 8월 30일
In the block dialog, make sure you have "Forward Euler" selected for both integrator method and filter method.
HTH.

카테고리

Help CenterFile Exchange에서 Discontinuities에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by