1.5.3 转移连接
互斥 (OR) 状态的出向/入向转移
此示例说明互斥 (OR) 状态的简单出向/入向转移。
以下转移… | 在以下情况下有效… |
从 B 到 A | 状态 B 处于激活状态,且事件 E1 发生。 |
从 A1 到 A2 | 状态 A1 处于激活状态,且事件 E2 发生 |
2 stateflow的使用
2.1 在Simulink中添加Stateflow模块
在Simulink Library Browser中,可将Stateflow中常用的Chart模块拖拽到Simulink中
2.2 Chart模块的编辑
双击Chart模块,可进入Chart模块编辑界面。
在Chart模块编辑界面左栏中,可拖入表示状态的框。
指向状态的箭头表示进入Chart后第一个进入的状态,框中“?”部分可输入表示状态的标识名称,输入名称按Enter换行即可输入状态中执行的动作。需要注意的是,进入Chart的箭头并不一定指向某个状态,也可指向某个分支点,用于处理不同情况的输入。
在表示动作的行中,首先键入上述三种类型的关键字entry、during和exit及“:”,然后在“:”后输入动作内容。也可在表示动作的行中直接输入动作内容,Simulink会自动默认补全关键字entry。
而在两个不同状态之间添加连线,表示状态的转移。
在编辑Chart内部状态的过程中,部分状态涉及到Chart作为一个整体在Simulink中的输入与输出,因此,在编辑Chart内部模型时,可通过Chart → Add Inputs & Outputs菜单添加Chart的输入与输出。
在Name一栏中输入由Simulink输入Chart的变量名称即可。可在Scope一栏选择Output从而设置由Chart输出Simulink的变量名称。而在Port一栏中可以设置输入或输出在Chart块上显示的位置。
在Model Explorer中,可以通过左侧的树状结构查看Simulink模型中的各部分内容,当然也可以对Chart模块进行编辑,如删除某Chart输入或输出等。