主要内容

使用默认转换指定初始子状态活动

一个缺省转换指定当两个或多个相邻的排他(OR)状态之间存在歧义时进入哪个排他(OR)状态。默认转换有目标但没有源对象。例如,默认转换指定在没有任何其他信息(如历史连接)的情况下,系统默认进入具有排他(OR)分解的超状态的哪个子状态。默认转换还可以指定在默认情况下应该输入一个结。

绘制默认过渡

单击缺省转换按钮,然后单击绘图区域中靠近要作为默认转换目标的状态或连接的位置。将鼠标拖到目标对象上以附加默认转换。在某些情况下,标记默认转换是有用的。

一个常见的编程错误是在没有默认转换的情况下创建多个独占(OR)状态。在没有默认转换的情况下,没有指示默认情况下哪个状态是活动的。方法模拟模型时,会标记此错误状态不一致选择启用。

标签默认转换

可以像标记其他转场一样标记默认转场。例如,您可能希望根据已发生的事件指定一个状态或另一个状态为活动状态。在另一种情况下,您可能希望根据转换的目的地执行特定的操作。

提示

在标记默认转换时,确保至少有一个有效的默认转换。否则,图表可能会过渡到不一致的状态。

默认转换示例

下面的例子展示了Stateflow中默认转换的使用®图表:

默认转换到状态示例

此示例显示了到状态的默认转换。

图表,其中包含表示空气控制器系统的工作模式的排他和并行状态的层次结构。

默认转换到状态定时关机确保当图表被唤醒时,状态变为活动状态。有关更多信息,请参见通过使用默认转换来控制图表执行

默认转换到连接示例

此示例显示了到连接结的默认转换。

图表,其中包含具有多个分支的默认转换路径。

到连接结的默认转换定义了在进入图表时,目的地取决于每个转换段的条件。

看到默认转换到连接有关此符号语义的信息。

带标签的默认转换示例

这个例子显示了一个带有标签的默认转换。

图表,其中包含带有条件操作的默认转换。

当图表醒来时,数据p而且v分别初始化为10和15。

看到标记默认转换有关此符号语义的更多信息。

相关的话题