Stateflow学习笔记之用户指定状态/转移的执行顺序(User specified state/transition execution order)

 

参数配置

在选择C语言为动作语言(Action Language)时,可以选择“由用户指定执行顺序(显式排序)”还是“自动分配执行顺序(隐式排序)”。

Stateflow学习笔记之用户指定状态/转移的执行顺序(User specified state/transition execution order)

 

显式排序

选择该选项后,可以由用户指定并行状态的状态,或者多个转移的执行顺序。

 

状态的执行顺序:

Stateflow学习笔记之用户指定状态/转移的执行顺序(User specified state/transition execution order)

 

转移的执行顺序:

Stateflow学习笔记之用户指定状态/转移的执行顺序(User specified state/transition execution order)

 

隐式排序

如果取消该选项,则不能手动更改顺序。(如果想要排序,必须先使能参数)

Stateflow学习笔记之用户指定状态/转移的执行顺序(User specified state/transition execution order)

 

并行状态的执行顺序由系统按照“从上到下,从左到右”的原则自动排定。

比如,默认情况下,状态A的执行顺序为1,状态B的执行顺序为2。

Stateflow学习笔记之用户指定状态/转移的执行顺序(User specified state/transition execution order)

 

如果把A和B的位置挪一下,执行顺序会自动改变。

Stateflow学习笔记之用户指定状态/转移的执行顺序(User specified state/transition execution order)

 

多个转移的排序原则为:从12点钟开始,按照顺时针方向。

Stateflow学习笔记之用户指定状态/转移的执行顺序(User specified state/transition execution order)

 

 

MATLAB动作语言时,不能配置,只能是显示排序

Stateflow学习笔记之用户指定状态/转移的执行顺序(User specified state/transition execution order)

 

 

 

参考资料

并行状态的执行顺序

https://ww2.mathworks.cn/help/stateflow/ug/execution-order-for-parallel-states.html