主要内容

内心的转变

一个内心的转变是不退出源状态的转换。当为具有排他(OR)分解的超状态定义内部转换时,内部转换是强大的。使用内部转换可以极大地简化statflow®图表,如下面的例子所示:

在使用内部过渡之前

这个图表展示了如何使用内部转换来简化逻辑。

任何事件发生并唤醒状态流图。到连接结点的默认转换是有效的。转换的目的地由(c1 > 0)(c2 > 0).如果(c1 > 0)是真的吗,过渡到A1是真的。如果(c2 > 0)是真的吗,过渡到A2是有效的。如果既不(c1 > 0)也不(c2 > 0)是真的吗,过渡到A3是有效的。之间的转换A1A2,A3是由E(c1 > 0),(c2 > 0)

使用内部过渡到连接结点后

本示例使用到连接结点的内部转换简化了前面的示例。

一个事件发生并唤醒图表。到连接结点的默认转换是有效的。转换的目的地由(c1 > 0)(c2 > 0)

您可以使用内部转换来代替原始示例中所有状态之间的转换,从而简化图表。如果状态一个是已经活跃的,内部的过渡是用来重新评估哪个状态的子状态一个就是积极。当事件E发生,内部转换可能有效。如果(c1 > 0)是真的吗,过渡到A1是有效的。如果(c2 > 0)是真的吗,过渡到A2是有效的。如果既不(c1 > 0)也不(c2 > 0)是真的吗,过渡到A3是有效的。这个图表的设计比前一个简单。

请注意

当使用到连接结的内部转换时,当该转换状态的条件有效时,可以退出并重新进入该有源状态。例如,if substateA1是活跃的,(c1 > 0)是真的吗,过渡到A1是有效的。在这种情况下:

  1. 退出操作A1执行和完成。

  2. A1变得不活跃。

  3. A1变得活跃。

  4. 入口的行为A1执行和完成。

看到处理第一个事件与一个内部过渡到一个连接结点有关此符号的语义的更多信息。

使用内部过渡到历史结点

这个示例显示了到历史节点的内部转换。

状态Power_on。高最初活跃。当事件重置发生时,到历史连接的内部转换有效。因为内部转换是有效的,当前的活动状态,Power_on。高是退出。当处理到历史结点的内部转换时,最后一个活动状态,Power_on。高,变为活动状态(重新输入)。如果Power_on。低在同样的情况下Power_on。低会被退出,然后重新进入。本例中的内部过渡相当于在两者上绘制一个外部自循环过渡Power_on。低Power_on。高

看到历史交汇的例子另一个例子是使用历史连接。

看到内部过渡到历史枢纽有关此符号的语义的更多信息。