Info

此问题已关闭。 请重新打开它进行编辑或回答。

Stateflow event will start a new process?

1 次查看(过去 30 天)
Charles Wang
Charles Wang 2011-10-14
关闭: MATLAB Answer Bot 2021-8-20
When adding code on a transit between two nodes in a stateflow chart, one can mix statements with events such as a trigger to a block outside the chart.
For pure statements I know that they will be executed sequencially. If a trigger inserted between two statements, will the next statement wait for its turn until the trigged block finishing execution?
Or the event will start a new process/thread (for the trigged block) which will run concurrently with the stateflow chart?
Thank you for your time!
  3 个评论
Fangjun Jiang
Fangjun Jiang 2011-10-15
This is a good question. I remember we had to find this out when someone made a C code S-function accessing shared memory data. The S-function is triggered by an event during a transition. To be honest, I don't remember the conclusion any more. What I can suggest is that you make an example to test it out. Simulink has debug capability so you can actually run simulation step by step. You can find out the execution order. I think that will be the most convincing evidence that you can rest on.
Charles Wang
Charles Wang 2011-10-17
Thank you Walter and Fangjun! I tested an example with two triggered blocks, one with 20 iterations and one with 1000,000. I did find that the second triggered block will wait for the first to finish.

回答(0 个)

此问题已关闭。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by