How to determine a Stateflow sequence?

Hello,
I am working on Simulink using Stateflow and I have a request. I want to know if it is possible after the simulation of the model to know in which states and with which transitions the model have been runned. The goal is to know at the end of the simulation with transitions were used to reach the different states.

 采纳的回答

Jonas
Jonas 2021-4-27
编辑:Jonas 2021-4-27
In the Model Explorer, for your Stateflow chart, check 'Create output for monitoring: Child activity'. Simulink has now added another output port to your Stateflow chart. The data type will be an enumeration with your state names as values. You can add a Scope block and it will display the active state in time.
It is not possible to know which transition paths were used. You can for example have different transition paths between two states, but it will only display that 'a' transition from the one state to the other state has taken place.
I hope this at least may improve your troubleshooting of your Stateflow charts.

6 个评论

Thank you, it is good to see in which state we are at any time, but is there a solution to see which transition the model is using to go into these states? For example if I have different transition going to a state, I would like to know which one was used
The only way is to manually add a monitor variable which you set differently depending on which transition was made, and then scope that variable.
Alternatively, you can add the command disp('Transition A') for example inside the 'action' part of the transition. This will result in 'Transition A' be displayed in the Diagnostic Viewer during simulation.
Ok I will try this then, the problem with disp is that my chart doesn't recognize the function, my chart is in C i don't know if it has an impact.
[IntS==1]/{disp('Transition A')}
This is the text for my transition, and i get this error:
Unresolved function 'disp' in '[IntS=...on A')}'.
Probably, 'disp' is a MATLAB function.
Oh ok, and you know the equivalent in C?
It's good i found it, it is "printf". Thanks a lot for your help

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Simulink Functions 的更多信息

产品

版本

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by