元素:复合状态
您可以使用此元素将多个状态组合在一起。
正交状态:具有两个或多个区域的复合状态。在正交状态中,内部状态被分组为区域并且区域被优先考虑。它们在运行时控制处理顺序。区域的状态根据它们的内部顺序伪并行运行。
非正交状态:只有一个区域的复合状态。在非正交状态下,内部状态在运行时按顺序运行。内部状态也可以是复合状态。非正交状态的嵌套可以有任何深度,除了最里面的状态之外,没有一个状态可以有多个区域。
正交和非正交状态也可以称为 入口 行动,一个 做 行动,以及 出口 行动。当异常转换处于活动状态时, 出口 执行正交状态的每个区域的每个活动状态的动作。

组合状态的名称显示在矩形的左上角。区域由虚线划分。区域的优先级显示在区域的右上角。
规则
不同地区的州之间不允许过渡。
复合状态可以具有一个或多个传出异常转换。您可以有效地实现错误处理,例如,使用异常转换。
复合状态最多有一个完成转换。因此,每个区域包括一个开始状态和一个结束状态。当所有区域都达到其最终状态时,复合状态达到其最终状态。如果复合状态没有传出完成转换,则区域可能没有开始状态或结束状态。
仅允许从分叉转移到正交状态内的状态,并且始终是无条件的。
一个非正交状态可以包含另一个复合状态。在这种情况下,状态是嵌套的。
非正交复合状态可以有一个指定的 入口 行动和/或 做 行动和/或 出口 行动。
特性
财产 | 描述 |
---|---|
标识符 | 复合状态的名称 例子: |
颜色 | 元素的颜色。您可以使用颜色选择对话框更改颜色。默认值:黄色 |
允许 ENTRY / DO / EXIT 操作 | 要求:选中的复合状态恰好有 一 地区。 也可以为以下用例分配 ENTRY、DO 和 EXIT 操作:
|
即使内部复合状态处于活动状态,也执行 DO 动作 | 该选项仅适用于最外层的复合状态,并由内部的复合状态继承。
|
用户输入
行动 | 描述 |
---|---|
| 注意:如果您没有单击现有元素,而是单击空白区域,则会创建一个新状态。 你添加一个 |
| 优先级显示在区域的右侧。首先处理优先级较低的区域。您可以更改优先级。 CODESYS 自动调整其他区域的优先级。 |
| 删除分隔线后,两个区域(由边框分隔)合并为一个区域。 |
现在可以更改优先级。 | 更改优先级时,会自动调整其他优先级。 |
| 要求: 允许 ENTRY / DO / EXIT 操作 属性被选中。 动作对象可以是动作或方法。如果动作是一个方法,那么你还必须在 新动作对象 对话。可以在元素的属性中更改对操作对象的分配。 一个状态可以有一个 ENTRY 动作、一个 DO 动作和一个 EXIT 动作:
提示您还可以在元素的属性中添加或更改操作或方法。 |
例子




示例:电梯升降机
