主要内容

执行Stateflow图表

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

  • 在每个时间步

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

当图表第一次被唤醒时,图表被初始化并变得活跃,如输入图表或状态的工作流程。当没有更多的操作要采取时,图表进入睡眠状态,直到一个新的时间步骤或事件唤醒图表。

工作流程Stateflow表执行

此流程图显示了Stateflow在执行图表或状态时所采用的事件的进程。在此流程图中,当前状态指的是决策或流程发生时的状态。

显示执行图表或状态的步骤的流程图。

默认的转换

一个缺省转换是一个没有来源的过渡。在不包含任何状态的状态流图表中,默认转换标志着流程图的开始。有关更多信息,请参见在状态流中创建流程图

如果状态流图表不包含任何状态,则图表在每次唤醒时都会评估默认的转换路径。标记用于评估的默认转换之后,图表将遵循中所示的步骤评估过渡的工作流程

请注意

图表仅在状态进入期间评估状态内的默认转换路径,而不是在图表每次唤醒时评估。

外过渡

一个外过渡是退出源状态的转换。状态流程图将评估的外部转换标记为执行状态的第一步。标记外部转换以进行评估后,图表将遵循中所示的步骤评估过渡的工作流程

在行动

一个Action是通过使用前缀在状态标签actions中定义的动作。有关更多信息,请参见在状态中定义动作

一个状态执行操作时,图表唤醒,状态是活动的,并且没有有效的外部转换。

内心的转变

一个内心的转变是不退出源状态的转换。有关更多信息,请参见使用内部过渡执行控制图

状态流程图标记内部转换,以便在状态执行后进行评估行动。标记用于评估的内部转换之后,该图表遵循中所示的步骤评估过渡的工作流程

具有有效转换的图表执行

在本例中,状态流图表已经初始化,并且条目已执行的操作StateAStateA1。新的时间步长出现,图表被唤醒。

在这个时间步,X = 5Y = 2,Z = 0

具有称为StateA和StateB的顶级状态的状态流图。StateA有子状态stata1和stata2。StateB有子状态statb1和statb2。

图表执行以下步骤:

  1. 图表有一个活跃的子状态,StateA

  2. StateA有一个外部过渡到StateB。图表确定转换是有效的。

  3. 海图显示StateB进入及StateA标记为退出。

  4. 退出StateA,该图表遵循中所示的步骤退出状态的工作流

  5. 进入StateB,该图表遵循中所示的步骤输入图表或状态的工作流程

没有有效过渡的图表执行

在本例中,状态流图表已经初始化,并且条目已执行的操作StateAStateA1。新的时间步长出现,图表被唤醒。

在这个时间步,X = 3Y = 0,Z = 0

具有称为StateA和StateB的顶级状态的状态流图。StateA有子状态stata1和stata2。StateB有子状态statb1和statb2。

图表执行以下步骤:

  1. 图表有一个活跃的子状态,StateA

  2. StateA有一个外部过渡到StateB。图表确定转换无效。

  3. 图表执行操作StateA。现在Y = 1

  4. StateA没有任何内部过渡。

  5. 的活性亚态StateAStateA1

  6. StateA1有一个外部过渡到StateA2。图表确定转换无效。

  7. 图表执行操作StateA1。现在X = 4

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

  9. 图表进入休眠状态。

相关的话题