Algebraic Loops with FMU

5 次查看(过去 30 天)
Julian
Julian 2024-4-8
评论: Julian 2024-6-21
When connecting FMUs in co-simulation mode in a loop an algebraic loop errors occurs, which causes termination of simulation. Therefore, I assume Simulink identifies the FMU-blocks as direct feedthrough. In the FMI 3.0 specification it is stated, that there cannot be a direct feedthough in Co-Simulation, as the step-size has to be greater that 0. Why does Simulink handle FMUs in co-simulation mode as direct feedthrough (and not like integrator blocks instead)?
Unfortunately I could not find anything regarding how the C-API functions of the FMUs are called by the Simulink discrete fixed-step solver.

回答(1 个)

Ashutosh Thakur
Ashutosh Thakur 2024-6-17
Hi Julian,
In Simulink, FMU blocks are treated as standalone entities, so they do not contain all the information related to the states from the original model from which they were created. The use of feedback signals can result in an Algebraic Loop during simulation.
Introducing Unit Delay blocks in the Simulink model can resolve the Algebraic Loop. However, the introduction of Unit Delay blocks can affect the system's dynamics and potentially distort the results. You can refer to the following documentation link for assistance in resolving issues related to Algebraic Loops: https://www.mathworks.com/help/simulink/ug/algebraic-loops.html.
I hope this information helps you.
  3 个评论
Ashutosh Thakur
Ashutosh Thakur 2024-6-20
Hi Julian,
Can you share the link for the Simulink User Guide?
Thanks
Julian
Julian 2024-6-21
Sure! Here can You find the User's Guide: https://de.mathworks.com/help/pdf_doc/simulink/simulink_ug.pdf

请先登录,再进行评论。

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by