主要内容

执行Stateflow图表

当一个Stateflow®图表被唤醒,图表遵循工作流并执行操作。状态流图将被唤醒:

  • 在每个时间步进根据Simulink金宝app®解算器。

  • 状态流图接收到事件时。

当图表第一次被唤醒时,该图表被初始化并变为活动的。看到表条目.一旦图表处于活动状态,但没有更多的操作可执行,图表将进入休眠状态,直到由新的时间步骤或事件触发。

工作流程Stateflow表执行

此流程图显示了Stateflow为执行图表或状态所接受的事件的进展。在这个流程图中,当前状态是指一个决策或过程正在发生的状态。

在行动

在执行状态的操作期间,当:

  • 状态是活动的,发生了一个新的时间步,并且没有到另一个状态的有效转换可用。

  • 状态是活动的,发生了事件,并且没有到另一个状态的有效转换可用。

在动作之前有前缀,然后在后面加一个必需的冒号(),然后是一个或多个动作。用回车分号(分隔多个操作)或逗号().如果没有为语句显式指定状态操作类型,则图表将该语句视为条目行动。

一个州执行它的唤醒图表时的操作(如果指定)。上面的流程图描述了状态执行的过程和时间行为发生。

如果您的Stateflow图表不包含状态,那么每次执行图表时,Stateflow总是计算默认的转换路径。

即将离任的过渡

作为状态流图执行的一部分,状态流将出站转换标记为评估。一旦将传出转换标记为要进行评估,请遵循评估过渡的工作流程.有关Stateflow如何评估传出转换的更多信息,请参见评估转换

内心的转变

状态流将内部转换作为状态流图执行的一部分进行标记。一旦将内部转换标记为要进行评估,请遵循评估过渡的工作流程.有关Stateflow如何计算内部转换的更多信息,请参见评估转换

使用有效过渡执行图表

在此示例中,初始化了状态流图,并且条目执行的操作为StateA而且StateA1.出现一个新的时间步长,图表苏醒。

在这个时间步,x = 5y = 2,z = 0

按照状态流程图执行的工作流程,图表执行步骤依次为:

  1. 这个图表有一个活跃的次级状态,StateA

  2. StateA外向过渡到StateB.按照评估过渡的工作流程,则确定转换是有效的。

  3. StateB被标记为条目而且StateA被标记为退出

要完成时间步骤,请遵循退出状态的工作流StateA输入图表或状态的工作流程StateB

没有有效过渡的图表执行

在此示例中,初始化了状态流图,并且条目执行的操作为StateA而且StateA1.出现一个新的时间步长,图表苏醒。

在这个时间步,x = 3y = 0,z = 0

按照状态流程图执行的工作流程在图表进入睡眠状态之前,图表执行步骤的顺序如下:

  1. 这个图表有一个活跃的次级状态,StateA

  2. StateA外向过渡到StateB.按照评估过渡的工作流程时,该转换被确定为无效。

  3. 执行操作StateA.现在y = 1

  4. StateA没有任何内部转换。

  5. 的活性亚状态StateAStateA1

  6. StateA1外向过渡到StateA2.按照评估过渡的工作流程时,该转换被确定为无效。

  7. 执行操作StateA1.现在x = 4

  8. StateA1没有任何活动的子状态。

  9. 图表开始休眠。

步骤1到9发生在第二个时间步骤中。

相关的话题