主要内容

执行Stateflow图表

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

  • 在每一个时间步

  • 状态流图接收到事件时

第一次唤醒图表时,该表被初始化并变为活动的,如中所述输入图表或状态的工作流程。当没有更多的操作要执行时,图表将进入休眠状态,直到新的时间步骤或事件唤醒图表。

工作流程Stateflow表执行

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

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

默认的转换

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

如果Stateflow图表不包含任何状态,那么该图表将在每次唤醒图表时计算默认的转换路径。在标记一个默认转换以进行评估之后,该图表遵循中所示的步骤评估过渡的工作流程

请注意

图表只在状态进入期间计算状态内的默认转换路径,而不是在图表每次醒来时计算。

外过渡

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

在行动

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

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

内心的转变

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

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

使用有效过渡执行图表

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

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

包含称为StateA和StateB的顶级状态的状态流图。州a有州a1和州a2。StateB有子状态StateB1和StateB2。

图表执行以下步骤:

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

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

  3. 图表是StateB条目和StateA标记为退出。

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

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

没有有效过渡的图表执行

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

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

包含称为StateA和StateB的顶级状态的状态流图。州a有州a1和州a2。StateB有子状态StateB1和StateB2。

图表执行以下步骤:

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

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

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

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

  5. 的活性亚状态StateAStateA1

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

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

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

  9. 图表开始休眠。

相关的话题

Baidu
map