Skip to main content

在状态图编辑器中工作

在状态图编辑器中,您以图形方式实现状态图。

实现状态图

您可以插入调用方法或操作的状态。插入转换时,您可以定义状态转换的条件。插入时,条件为 TRUE 默认情况下,表示为 _uml_icon_add_transition_condition.png.之后,您可以更改此值以调用操作或方法。

您可以通过插入伪状态来实现控制结构。为了改进概述,您可以将状态分组为复合状态,您可以通过完成转换为其实现常见行为。您可以使用异常转换来编程发生错误时的行为。

CODESYS 已启动。

  1. 点击 文件 → 新项目.

  2. 指定名称和位置,然后选择 标准项目 模板。

    这 标准项目 对话框打开。

  3. 为了 PLC_PRG, 选择 UML 状态图 (SC) 实现语言。

  4. 在设备树中,单击程序 PLC_PRG.

    编辑器由一个声明窗口和一个图形实现窗口组成。在里面 工具箱 查看,列出了可用于创建状态图的元素。

    _uml_img_sc_simple_new_project.png
  5. 拖动一个 开始状态 到实施。

    _uml_icon_start_state.png
  6. 单击开始状态。

    这 _uml_icon_transition_completion_outgoing.png 显示完成转换的符号。

  7. 点击 _uml_icon_transition_completion_outgoing.png 过渡。

    鼠标指针显示为一条线作为过渡,一个指针作为元素。

  8. 点击下方的开始状态。

    插入状态。

  9. 双击默认名称。

    行编辑器打开。

  10. 指定名称 PowerOff.

    _uml_img_sc_simple_first_result.png
  11. 单击状态,然后单击转换。然后单击状态下方。

    插入带有附加状态的转换。

  12. 指定名称 Idle.

  13. 插入到另一个名为的状态的转换 DoIt.

  14. 将鼠标悬停在状态上 DoIt.

    图标显示在状态中以添加操作或方法。

    _uml_img_simple_plc_chart_doit_focused.png
  15. 点击 _uml_icon_sc_action_do.png 象征。

    状态由 DO 动作扩展。

  16. 将鼠标悬停在 DO 符号上。

    这 _uml_icon_sc_action_add.png 符号显示在右侧。

  17. 单击图标。

    这 新动作对象 对话框打开。在那里您可以配置从属于程序的 POU 的初始设置 PLC_PRG.对象可以是方法或动作。

  18. 选择一个动作并单击 添加 退出对话框。

    在设备树中,新的和空的动作 PLC_PRG_DoIt_DO 在下面插入 PLC_PRG.在该州 DoIt, DO 动作按名称列出。操作在编辑器中打开。

  19. 在声明部分声明控制变量和局部变量 PLC_PRG.

    PROGRAM PLC_PRG
    VAR
        iCounter: INT;
        bReady: BOOL;
        bDoIt: BOOL;
        bPowerOn : BOOL;
        bPowerOff : BOOL;
    END_VAR
  20. 在行动中 PLC_PRG_DoIt_DO,实现流和控制的代码。

    iCounter := iCounter + 1;
    IF iCounter > 100 THEN
        iCounter := 0;
        bReady := TRUE;
        RETURN;
    END_IF
  21. 将鼠标悬停在 DoIt 状态并单击 _uml_icon_sc_action_exit.png 象征。然后点击 新的 部分并确认对话框。

    为国家 Doit, 退出动作 PLC_PRG_DoIt_EXIT 加入。

  22. 在那里实现代码。

    bReady := FALSE;
    bDoIt := FALSE;
  23. 从状态添加转换 DoIt 对国家 Idle.

  24. 对于过渡,单击 _uml_icon_add_transition_condition.png 象征。

    行编辑器打开。如果您选择了 智能编码 功能,然后显示一个包含所有已声明变量的列表框。

  25. 选择布尔变量 bReady.

    变量作为控制变量切换到状态 Idle.

  26. 从状态添加转换 Idle 对国家 PowerOff.

  27. 对于过渡,单击 _uml_icon_add_transition_condition.png 象征。

    行编辑器打开。如果您选择了 智能编码 功能,然后显示一个包含所有已声明变量的列表框。

  28. 指定控制变量 bPowerOff.

  29. 在设备树中,选择程序 PLC_PRG 并添加了一个对象 行动 命名为 PowerDown.

  30. 实施行动。

    bPowerOn := FALSE;
  31. 在编辑器中,选择 PLC_PRG.

  32. 在从 Idle 向 PowerOff 状态,单击 _uml_icon_sc_transition_action.png 调用动作的符号。

    将显示一个包含操作的列表框。

  33. 选择动作 PowerDown.

    _uml_img_simple_plc_chart_powerdown.png
  34. 从状态执行条件 PowerOff 对国家 Idle.

    bPowerOn

  35. 在设备树中,选择程序 PLC_PRG 并添加了一个对象 行动 命名为 PowerUp.

  36. 实现动作的代码。

    bPowerOff := FALSE;
  37. 在编辑器中,选择 PLC_PRG.

  38. 在从 Idle 向 PowerOff 状态,单击 _uml_icon_sc_transition_action.png 象征。

    将显示一个包含操作的列表框。

  39. 选择 PowerUp 动作并设置变量之间 Idle 和 DoIt 到 bDoIt。

    状态图已实现。所有的转换都有一个条件。被调用的动作被执行。

    _uml_img_sc_simple.png
  40. 点击 构建 → 生成代码 编译应用程序。

    编译已完成,没有错误。

编辑元素属性

  1. 在状态图编辑器中,选择一个元素。

    元素的所有属性都列在 特性 看法。

  2. 编辑属性中的 价值 柱子。

例 2. 例子

您可以编辑 DoIt 中的状态 属性 → 属性 看法。

  1. 选择状态 Doit 在状态图编辑器中。

    _uml_img_simple_plc_chart_doit_selected.png

    视图中 特征 是选项 循环内部 (1)禁用。

  2. 选择选项。

    该状态现在处于周期内,而不是由总线周期计时。

    _uml_img_sc_simple_doit_incycle.png


多选

什么时候 选择 被选择(默认设置)在 工具箱 视图,您可以在编辑器中将一个框拖到多个元素上。然后选择所有捕获的元素。您也可以按 Ctrl 键并单击每个元素。

创建图像

您可以从状态图对象创建和使用 PNG 格式的图形。

  1. 在设备树中,选择一个状态图对象。

  2. 在其上下文菜单中,单击 创建图像.

    这 创建图像 对话框打开。

  3. 选择所需的选项。

  4. 点击 好的 确认对话框。

    图像文件已保存。

  5. 切换到您的桌面。

  6. 打开链接。

    默认编辑器将打开并显示图像。

例 3. 例子
_uml_img_sc_simple_bmp.png