Skip to main content

元素:状态

状态是状态图的主要元素。状态机(或状态图)在其运行时运行各种状态并执行它们的动作。一个状态可以有 ENTRY、DO 和 EXIT 动作,这些动作在状态运行期间的指定时间执行。

_uml_img_state_default.png

状态表示为一个带圆角的绿色框。循环中状态显示为红色。您在 周期内 财产。

普通状态是根据调用它的任务来计时的。到下一个状态的转换仅在下一个任务循环时切换。

周期内状态的切换独立于任务周期。当内部状态的动作完成后,立即切换到转换。检查转换的条件并执行其转换动作,然后立即切换到结束状态。

特性

财产

描述

标识符

元素的名称。您还可以更改状态图中的名称。

颜色

元素的颜色。您可以使用颜色选择对话框更改颜色。默认值:绿色

隐式启动状态

  • No: 状态是正常状态。

  • Diagram:状态也是整个图的开始状态。

  • 复合州/地区:该状态也是复合状态中区域的起始状态。

周期内

  • _cds_icon_checked.png: 转换立即切换到下一个状态。

  • _cds_icon_option_deactivated.png:在任务的周期变化时转换到下一个状态(默认)。

最大 DO 循环调用次数

DO 动作的最大调用次数。介于 1 和 32767 之间的数字。超过此值时,当前状态切换到下一个状态。

进入动作

对应动作的名称

行动

退出动作

用户输入

当您选择元素时,过渡图标在元素上方可见。您可以使用这些链接状态。

行动

描述

  1. 选择一个 状态 元素。

  2. 单击名称。

    _uml_img_state_name.png
  3. 更改名称。

元素的名称也可以在属性中更改。

  1. 选择一个 状态 元素。

  2. 点击 _uml_icon_transition_outgoing.png 象征。

    生成传出转换。

    _uml_img_create_transition_for_state.png

  3. 3. 单击现有元素(类型: 状态, 复合状态, 分叉/连接, 要么 选择)。

    在两个元素之间插入一个过渡。

注意:如果您没有单击现有元素,而是单击空白区域,则会创建一个新状态。

  1. 将光标悬停在某个状态上。

    显示状态的动作。

    _uml_img_state_focused.png

  2. 点击 _uml_icon_sc_action_do.png.

    状态由 DO 动作/方法扩展。

    _uml_img_state_do.png

  3. 将光标悬停在具有指定 DO 操作的状态上。

  4. 点击 _uml_icon_sc_action_add.png.

    新动作对象 对话框打开。

  5. 选择 行动 目的。

  6. 指定名称和实现语言。

    在状态图的 POU 下方插入一个新动作。

  7. 点击 _uml_icon_sc_action_open.png.

    相应操作或方法的编辑器打开。

动作对象可以是动作或方法。如果动作是一个方法,那么你还必须在 新动作对象 对话。可以在元素的属性中更改对操作对象的分配。

一个状态可以有一个 ENTRY 动作、一个 DO 动作和一个 EXIT 动作:

  • 一个 ENTRY 动作/方法可以初始化状态。当所有传入的转换都设置为时执行一次 TRUE.

  • 只要状态处于活动状态,就会执行 DO 操作/方法。该动作可以用任何实现语言进行编程。当你使用 状态图,创建层次结构。

  • EXIT 操作/方法应确保状态以有效状态退出。当状态的所有传出转换都完成时,执行一次 EXIT 动作 TRUE.

提示

您还可以在元素的属性中添加或更改操作或方法。

  1. 在同一状态上创建多个转换:

    _uml_img_state_transition_prioritized.png

  2. 选择两个过渡之一。

  3. 更改过渡属性中的优先级。

如果一个状态有多个传出/传入转换,则其优先级定义执行顺序。优先级显示在一个小圆圈中。

您可以更改转换属性中的优先级。