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

조회 수: 7 (최근 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
MathWorks Support Team 2014년 11월 7일
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