How can I trigger a transition depending on an input's rise in Stateflow?

9 次查看(过去 30 天)
I would like to trigger a transition depending on an input's rise in Stateflow. When the input's value passes from 0 to 1, a specific transition should be executed.
However, when I define this input as rising edge input event, I notice that the whole chart behaves differently. The chart is only triggered on the input rising edge. I would like the Stateflow chart to be executed normally at every time step.

采纳的回答

MathWorks Support Team
There is no direct solution to execute a transition at a rising edge of an input, without impacting the general execution of the Stateflow chart.
As a workaround you could try one of the following:
1) Implement the edge detection in Simulink with a "Detect Rise" block, and use the output of the "Detect Rise" as a regular Stateflow input.
2) Implement the edge detection inside the Stateflow chart with local variables.
3) Use another event input to trigger the Stateflow chart at different time steps. This event should not be reused in a transition. I should only make sure that the Stateflow chart executes at the correct rate. 

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Complex Logic 的更多信息

产品


版本

R2014a

Community Treasure Hunt

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

Start Hunting!

Translated by