Is it possible to add entry, during and exit actions to states that include differential equations?

13 vues (au cours des 30 derniers jours)
I am trying to connect three states in Simulink out of which 2 contain differential equations (first one without, second and third with diff equation). However, I cannot put entry, during or exit commands for the middle state - it always gives an error saying the state doesn't support these actions. How can I get this to work?

Réponses (1)

Purvaja
Purvaja le 1 Sep 2025 à 11:34
Modifié(e) : Purvaja le 1 Sep 2025 à 11:35
I faced the same issue and found that when a Simulink-based state (i.e., a state that contains a Simulink subsystem or differential equation block) is used within a Stateflow chart, Stateflow prohibits adding entry, during, or exit actions directly on that state, that’s why we were encountering the error.
You can try this workaround:
Wrap the Simulink state inside an otherwise empty parent Stateflow state, and place your entry, during, or exit actions in that parent. Inside the parent, you can have a default transition going to the Simulink-based child state (but ensure that the initialisation of variables are taken care of in this case). This approach allows you to attach the actions where needed without errors.
I tried a dummy example with 3 states as you intended.
As you can see above, S1 has no ODEs, while S2 and S3 contain differential equations. Here, "u" is input variable and "x" & "y" are output variables. Ensure that their "Update Method" parameter is set to "continuous".
I came up with this workaround with the help of below answer on MATLAB Answers Community:
Hope this resolves your issue.

Catégories

En savoir plus sur Simulink dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by