评估转换
Stateflow®使用转换图表来从一个独家(或)状态转移到另一个独家(或)状态。为条目
和执行
工作流图执行,Stateflow评估转换确定它们是否有效。有效的过渡是一个过渡的条件标签是正确的,其路径结束状态。如果过渡有效,Stateflow出口从源状态和进入目的地国家。当评估发生在学习执行
和条目
工作流,看到执行Stateflow图表和输入一个图表或状态。
工作流转换评价
评价秩序的过渡
当多个转换源自单一来源,如国家或结,Stateflow使用评估以确定何时测试每个过渡。根据图表使用动作语言,你可以创建你的顺序显式或隐式的转换。是否显式或隐式地下令,转换显示过渡的源头附近指定顺序的过渡。
请注意
使用明确的顺序来避免你的转换改变当你编辑一个图表。
明确的要求
当你打开一个新Stateflow图,所有即将离任的过渡从源自动编号的顺序创建它们。订单开始1
并继续下一个可用的源。
改变执行顺序的过渡,右键单击过渡,把你的光标执行顺序
,并选择你想要转换的顺序执行。当你改变转换数,Stateflow图自动重编号的其他输出转换源保护他们的相对顺序。
隐式排序
C图表的隐式订购模式,Stateflow图评估一组从单一来源基于即将离任的转换:
层次结构。
图表评估一组输出转换订单基于每个过渡的母公司的层次水平。
标签。
图表评估一组输出转换以同样的等级优先基于标签,在以下优先顺序:
标签的事件和条件
标签与事件
标签有条件
没有标签
当使用图表行为事件的更多信息,见控制图的行为通过使用隐式事件。
角表面过渡源的位置。
图表评估一组输出转换以同样的层次和标签优先基于角位置表面的源对象。最小时钟的过渡位置优先级最高。例如,过渡,2点钟源位置有一个更高的优先级比过渡四点源的位置。过渡与12点源位置最低优先级。
过渡到父状态的内在优势
转换结束内部边缘的父状态是一个捷径回到默认的转型路径,评估和默认路径在当前时间步。在这个例子中,过渡状态B
导致立即默认的过渡状态一个
。
如果有默认的转换,然后Stateflow立即执行这些路径。如果没有,也没有孩子,那是时间步的结束。在这两种情况下,父母依然活跃,出入境行为父不执行。
评估外部过渡
在这个例子中,Stateflow图表和初始化条目
操作执行StateA
。出现一个新的时间步和图表醒来。按照工作流Stateflow表执行,Stateflow发现多个外过渡路径StateA
。在这个时间步x = 1
,y = 1
,z = 1
。
按照工作流转换评价,评估这个图表的过渡的步骤是按照这个顺序:
过渡1
StateA
被标记为评估。过渡1
StateA
有一个条件。条件是正确的。
过渡1的目的地
StateA
不是一个国家。结有外向的转变。
过渡从结被标记为1的评价。
1从结状态的过渡。
条件是错误的。
过渡从结2标记为评估。
过渡从结2没有条件。
目的地的过渡2结是一个状态(
所述
)。所述
被标记为条目
,StateA
被标记为退出
。
完成时间步,遵循工作流的退出状态为StateA
和工作流图表或输入状态为StateE
。
评估与回溯外过渡
当所有即将离任的过渡从源无效或不以终止结结束,但之前未鉴定的过渡,Stateflow返回到以前的状态或结来评估所有可能的路径。
在这个例子中,Stateflow图表和初始化条目
操作执行StateA
。一个新的时间步时,图表醒来。按照工作流Stateflow表执行,Stateflow发现多个外过渡路径StateA
。在这个时间步x = 1
,y = 1
,z = 1
。
按照工作流转换评价,评估这个图表的过渡的步骤是按照这个顺序:
过渡1
StateA
被标记为评估。过渡1
StateA
有一个条件。条件是正确的。
过渡1的目的地
StateA
不是一个国家。结有外向的转变。
过渡从结被标记为1的评价。
1从结状态的过渡。
条件是错误的。
过渡从结2标记为评估。
过渡2交界处的一个条件。
条件是错误的。
过渡2
StateA
被标记为评估。过渡2
StateA
没有一个条件。过渡2的目的地
StateA
是一个状态(StateE
)。StateE
被标记为条目
,StateA
被标记为退出
。
完成时间步,遵循工作流的退出状态为StateA
和工作流图表或输入状态为StateE
。
防止回溯
在这个例子中,一个终端连接防止回溯。Stateflow图和初始化条目
操作执行StateA
。出现一个新的时间步和图表醒来。按照工作流Stateflow表执行,Stateflow发现多个外过渡路径StateA
。在这个时间步x = 1
,y = 1
,z = 1
。
按照工作流转换评价,评估这个图表的过渡的步骤是按照这个顺序:
过渡1
StateA
被标记为评估。过渡1
StateA
有一个条件。条件是正确的。
过渡1的目的地
StateA
不是一个国家。结有外向的转变。
过渡从结被标记为1的评价。
1从结状态的过渡。
条件是错误的。
过渡从结2标记为评估。
过渡2交界处的一个条件。
条件是错误的。
过渡3结被标记的评估。
过渡从结3没有条件。
目标并不是一个国家,没有任何即将离任的转换。
完成时间步,遵循工作流Stateflow表执行为StateA
从你离开的地方。
评估外部转换条件和过渡动作
这个例子包含条件行动和过渡动作:
转型中的标签语法,条件行为遵循过渡条件,包含在花括号(
{}
)。评估条件时行动执行条件是真实的但在过渡路径已经决心是有效的。转型中的标签语法,转换操作前斜杠(
/
),包含在花括号({}
)。执行转换操作只有在转换路径,决心是有效的。
Stateflow图和初始化条目
操作执行StateA
。出现一个新的时间步和图表醒来。有多个外过渡路径StateA
。在这个时间步x = 1
,y = 1
,z = 1
。
按照工作流转换评价,评估这个图表的过渡的步骤是按照这个顺序:
过渡1
StateA
被标记为评估。过渡1
StateA
有一个条件((y > = 1)
)。条件是正确的。
没有条件的行为。
过渡1的目的地
StateA
不是一个国家。结有外向的转变。
过渡从结被标记为1的评价。
1从结条件(过渡
(x > 2)
)。条件是错误的。
过渡从结2标记为评估。
过渡从结有条件2 (
(x > = 1)
)。条件是正确的。
有一个条件操作(
{y = 0;}
)。现在y = 0
。结有外向的转变。
结的过渡被标记为评估。
1从结条件(过渡
(z > = 5)
)。条件是错误的。
过渡2
StateA
被标记为评估。过渡2
StateA
没有一个条件。过渡2的目的地
StateA
是一个状态(所述
)。所述
被标记为条目
,StateA
被标记为退出
。执行有效的过渡动作路径(/ z = {5}
)。现在z = 5
。
完成时间步,遵循工作流的退出状态为StateA
和工作流图表或输入状态为StateE
。