How to use stateflow inside a simulink closed loop?

4 visualizaciones (últimos 30 días)
Moritz Ischebeck
Moritz Ischebeck el 16 de Jun. de 2021
Comentada: Moritz Ischebeck el 12 de Jul. de 2021
In my simulink project, I replaced SUM blocks with stateflow and equivalent additions inside. And then the simulation got stuck without error messages. (My plan was to add logic later, after that stateflow is working.)
I tried to replicate the error in a small example.
What causes the difference in the example? (maybe extrapolating?)
How to fix it and still using stateflow?

Respuesta aceptada

Yoshi Minagawa
Yoshi Minagawa el 2 de Jul. de 2021
Hi Moritz,
I understood that your question is about the cause of the difference output between the two logics in attached model.
I think that the difference of these output are caused by the solver. (I think it is because there might be a difference in the calculation of the Jacobian matrix when calculating the value of the next step in Simulink. In this case, there may be a difference in the result with the variable step setting.)
However, the essential result of calculation is the same even if it is made with stateflow. Try changing the maximum step size to small (ex. 0.01s). The two outputs are almost the same as shown below. Therefore, by making the step size sufficiently small, it is possible to implement the expected processing even when using stateflow.
I hope this will help.

Más respuestas (0)

Categorías

Más información sobre Programmatic Model Editing en Help Center y File Exchange.

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by