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

3 ビュー (過去 30 日間)
Tony Castillo
Tony Castillo 2019 年 2 月 28 日
回答済み: Arvind Sathyanarayanan 2019 年 3 月 1 日
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 Center および File ExchangeNonlinear Operators についてさらに検索

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by