How breaking a closed loop without neither Delay or Memory block?

조회 수: 6 (최근 30일)
Dear Mr/Ms,
I am experiencing a problem in my SimScape Power System modelling, when I try to control the output voltage I need to feedback the voltage output, but I got a problem doing it, because it is a Closed Loop, but if I set in between a Delay Block, or even a Memory Block, I lose the control of the variable in the my system run without any error but I can not control the voltage output.
Best wishes
  댓글 수: 2
Arvind Sathyanarayanan
Arvind Sathyanarayanan 2019년 2월 28일
편집: Arvind Sathyanarayanan 2019년 2월 28일
Tony, what is the error you get without the delay block? Would it possible for you to attach the model or a screenshot?
Tony Castillo
Tony Castillo 2019년 3월 1일
=== Simulation (Elapsed: 18 sec) ===
Warning:Block diagram 'k3_3' contains 1 algebraic loop(s). To see more details about the loops use the command Simulink.BlockDiagram.getAlgebraicLoops('k3_3') or the command line Simulink debugger by typing sldebug('k3_3') in the MATLAB command window. To eliminate this message, set Algebraic loop to "none".
Found algebraic loop containing:
k3_3/PID Controller (2DOF)/Parallel P Gain/Internal Parameters/Proportional Gain
k3_3/PID Controller (2DOF)/D Gain/Internal Parameters/Derivative Gain
k3_3/PID Controller (2DOF)/Filter/Cont. Filter/SumD
k3_3/PID Controller (2DOF)/N Gain/Internal Parameters/Filter Coefficient
k3_3/PID Controller (2DOF)/Sum/Sum_PID/Sum
k3_3/Saturation (discontinuity)
k3_3/24 V Control/Model/Saturation (discontinuity)
k3_3/24 V Control/Model/Product1
k3_3/24 V Control/Model/MATLAB Function4
k3_3/powergui1/EquivalentModel1/State-Space (discontinuity)
k3_3/V2/do not delete this gain
k3_3/PID Controller (2DOF)/Sum3 (algebraic variable)
k3_3/PID Controller (2DOF)/Sum1 (algebraic variable)
This algebraic loop may be resolved when the subsystem option 'Minimize algebraic loop occurrences' is selected on some or all of the atomic and enabled subsystems in this algebraic loop
Warning:Discontinuities detected within algebraic loop(s), may have trouble solving
Warning:Converting 'Reusable function' setting of subsystem 'k3_3/<< Synthesized_Atomic_Subsystem_For_Alg_Loop_1 >>' to 'Nonreused function' because a child system has either been explicitly marked as nonreused, or is used in a configuration that must be nonreused. Please generate the HTML report during code generation and see the "Subsystems" section for more information
### Build procedure for model: 'k3_3' aborted due to an error.
Error:Unable to build a standalone executable to simulate the model 'k3_3' in rapid accelerator mode.
Caused by:
Algebraic loops are not supported in generated code. Use the 'ashow' command in the Simulink Debugger to see the algebraic loops

댓글을 달려면 로그인하십시오.

채택된 답변

Arvind Sathyanarayanan
Arvind Sathyanarayanan 2019년 3월 1일
So from the screenshot of the model, it looks like you're using rapid accelerator which does not support algebraic loops. You can run the model as is by switching to accelerator or normal mode.
The only way to eliminate algebraic loops is to use delay/memory block, which, I'm guessing needs to be inserted after the Vc from tag. If this is causing instability in your system, then you'll have to retune your controller because in real life there is always a delay in the feedback signal.

추가 답변 (0개)

카테고리

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

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by