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
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
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