Running a stateflow block as a subsystem?

2 views (last 30 days)
Hello, I am designing a task using simulink and stateflow, but before connecting it to my devices to test their reaction, I am trying to simulate my device and its reactions using another stateflow block. But when I run the model I encounter this error:
Ambiguous sorted order detected due to use of triggered subsystem(s) and/or Model blocks in a loop. See Subsystem Examples in the Simulink library for valid and invalid examples of triggered subsystems
But when I try the output of the subsystem (Action) in a scope, it works just fine (I have attached a screenshot of my model). I was wondering if anyone knows how I can circumvent this error? Thanks in advance for your help.

Accepted Answer

Sebastian Castro
Sebastian Castro on 5 Oct 2015
Since both Stateflow charts are being driven by the same clock, I would suggest combining them into a single chart. You can have the contents of each chart in their own parallel state . The "Action" signal would become local data that is written to in the first state and read from in the second.
Furthermore (or instead), if your clock is just a constant cycle, you could opt to remove the triggered execution and just change the Charts' sample time to whatever rate you're trying to recreate with the Pulse Generator block.
- Sebastian
  1 Comment
Mohsen Omrani
Mohsen Omrani on 6 Oct 2015
Thanks for your response. I thought about that too. But I solved the problem by adding a 1 cycle delay module between the two simulators, on the way from action to The trial controller. Thanks again for your response,

Sign in to comment.

More Answers (0)

Categories

Find more on Syntax for States and Transitions in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!