1、创建连接节点 连接节点作为转移通路的判决点或汇合点,也是在状态图中常用的图形元素之一,特 别是在流程图中,由于流程图不能包含任何状态,因此只有依靠连接节点完成通路的连接 和判断分支。
2、创建转移
转移是 Stateflow 框图中最常见的图形元素之一,无论是包含状态的状态图中还是没有 状态的流程图中,几乎都存在转移。转移描述的是有限状态系统内的逻辑流。转移管理了 当系统从当前状态改变时,这个系统可能发生的模式改变。当转移发生时,源状态变为非 活动的状态,目标状态变为活动的状态。
3、转移标签
一个完整的转移标签由四个部分组成,分别为事件、条件、条件动作和转移动作,也 可以包含相应的注释,如图 2-22 所示。
其中:
■ 事件是 Stateflow 非图形对象的一种。在有限状态机中,只有在事件发生时,才可能 去执行相应的转移,因此 Stateflow 的模型又叫做事件驱动系统。事件的定义和使用将在第 3 章详细介绍。
■ 位于方括号“[]”中的内容是条件,条件是用于转移决策的逻辑判断。只有在相应 的事件发生且条件也满足时,相应的转移才可能执行。一般地,条件是由逻辑运算或者关 系运算组成的,也就是说,运算结果为布尔类型变量的函数、表达式都可以作为条件表达 式。不过在 Stateflow 的条件中,条件表达式不能调用图形函数等 Stateflow 的图形对象,更 不能用于触发状态的改变。如果在转移上没有定义事件和条件,则意味着该转移在任何事 ·44· Stateflow 逻辑系统建模 件发生时都会执行。
■ 紧接在条件后面花括号“{}”中的内容就是条件动作,条件动作是在条件满足时就 立即执行的某些表达式,例如赋值运算等。
■ 转移动作是整个转移标签的最后一个部分,位于“/”后面的内容都是转移动作。转 移动作只有在整个转移通路都有效时才能够执行。
那么在 Stateflow 中都可以使用哪些语法元素作为动作呢?主要可以分为三类: (1) 数学运算表达式或者逻辑运算表达式。 (2) 调用函数。 (3) 事件广播。
4、默认转移
默认转移是一类特殊的转移,可以把它看做是状态转移的特例。默认转移确定当有限 状态机或者父层次状态处于活动状态的时候,在其所有的子状态中第一个被激活的状态。 根据有限状态机的要求,当有限状态系统被激活时,必有相应的确定的某个状态被激活。 而默认转移就定义了当状态机被激活或者层次模型中父层次状态被激活时,具体哪个子状 态被激活。
5、添加注释