Combining Timed and Event-based Actions in Stateflow Chart

5 次查看(过去 30 天)
I am trying to build a model in StateFlow that will wait for a certain period of time after receiving an input event (function call).
My understanding is that once a chart is configured with an input event, that it will only wake up when a new input event occurs. If an input event never occurs, then my timed wait condition will never be tested and the rest of the logic in the chart will never be executed.
I have tried outputting the timed wait conditions so some other structure (Simulink or another Chart) can test the timed wait, but that just leads to the Simulink/Stateflow compiler complaining about loops or timed-to-event transitions and other errors.
Can anyone recommend a way around this?

采纳的回答

Siddharth
Siddharth 2013-7-31
One option to do this is as follows: use a high frequency event to trigger the state machine in Stateflow. The other event (which you have already modeled) should only be used within the chart for creating the delay. If timing is very important for your application, then make sure that the time delay is a multiple of the input-event frequency.
hope that helps, Sid

更多回答(0 个)

类别

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

产品

Community Treasure Hunt

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

Start Hunting!

Translated by