Skip to main content

在线模式

在运行时,您可以在编辑器的监控中监控和控制图表的行为。

提示

示例项目 UML_SC_CoffeeMachine.project 提供以说明以下示例。

过渡的时间行为

状态图对事件做出反应。当一个事件发生并因此条件为真时,状态转换发生在下一个总线周期时钟。您还可以配置转换,以便状态转换在相应条件下边沿触发。在实现中,转换随后被标记为 _uml_icon_rising_edge.png 象征。

在里面 属性 → 属性 查看,选择 上升沿 选项。

状态的时间行为

在状态图的运行时,其状态通常随任务循环执行。但是,您可以配置一个状态,使其在周期内执行,并且该状态在一个总线周期内快速执行所有操作。这种状态在实现中显示为红色。

_uml_img_sc_red_state_grind.png

在函数和方法的情况下,局部变量通常是临时的。在运行时,局部变量不会被存储,而是在 POU 退出时被释放。结果,不存储有关状态图状态的信息。因此,由总线周期控制的开关行为是不可能的。因此,函数或方法中的状态图是循环执行的。所以如果你将一个方法实现为状态图,那么这个图就会快速切换。同样在 工具箱 看来,只有一个 _uml_icon_fast_state.png 红色状态可用。

您可以通过声明实例变量来防止这种行为 VAR_INST 而不是函数或方法中的局部变量。退出方法时,实例变量存储在调用 POU(程序或功能块实例)中。然后,状态转换在总线周期边沿控制下缓慢切换。

提示

对此的要求是 有状态的实施 选项被选中 特性 上的对话框 UML 标签。

监控和强制

当应用程序下载并启动后,您可以在监控中监控其 POU。在 POU 的情况下 UML 状态图 实现语言,您可以图形方式监控哪个状态处于活动状态,因为当前活动状态被标记为蓝色。状态图不断更新。

您可以在声明中强制变量 准备值 柱子。在布尔变量的情况下,您也可以在实现中单击监控值来执行此操作。准备好值后,在实现的右上角会标注监控值。

您还可以在在线模式下监视监视列表中的转换条件变量。

5. 例子
过程. 监控和强制状态图
  1. 下载并启动示例项目的应用程序 UML_SC_CoffeeMachine.project.

    应用程序被执行。

  2. 打开编辑器 Kaffeemaschine POU,它被实现为 UML 状态图。

    显示为蓝色的状态是 POU 的当前活动状态。

    _uml_img_coffeemaker_online_power_off.png
  3. 在状态图中,单击变量的值 bPowerUp.

    在声明中,值 FALSE 为这个变量做好了准备 准备值 柱子。在实现中,监控值用蓝色角标记。

    _uml_img_coffeemaker_online_prepared_value.png
  4. 点击 调试 → 写入值 (Ctrl+F7)。

    过渡 bPowerUpTRUE.状态图切换到状态 Idle.

    _uml_img_coffeemaker_online.png
  5. 点击变量 bPowerUp.

    上下文菜单打开。

  6. 点击 添加手表.

    在里面 观察名单 1 视图,变量 Coffeemaker.bPowerUp 列出了它的上下文



断点

在在线模式的状态图中,您可以定义断点以在这些点停止应用程序的执行并检查那里的变量或监视列表。在在线模式的状态图中,所有可能的断点位置都显示为 _uml_icon_breakpoint.png 灰色圆圈。您可以单击圆圈来选择和取消选择一个位置。点击 调试 → 切换断点 或按 F9 键将选定位置定义为断点或释放它。

此外,您可以通过单个步骤恢复在断点处暂停的应用程序。

. 状态图中的表示:
  • _uml_icon_breakpoint.png: 可能的位置

  • _uml_icon_breakpoint_selected.png: 选择的位置

  • _uml_icon_breakpoint_activated.png: 启用断点

  • _uml_icon_breakpoint_deactivated.png: 禁用断点

  • _uml_icon_breakpoint_stopped.png: 执行在断点处停止 此外,相关的状态或转换标记为黄色。

过程. 插入断点并在那里停止执行
  1. 下载并启动示例项目的应用程序 UML_SC_CoffeeMachine.project.

    应用程序被执行。

  2. 打开编辑器 Kaffeemaschine POU,它被实现为 UML 状态图。

    可能的断点位置标有 _uml_icon_breakpoint.png 浅灰色圆圈。

    _uml_img_coffeemaker_online_power_off.png
  3. 单击一个 _uml_icon_breakpoint.png 圆圈。

    位置选择: _uml_icon_breakpoint_selected.png.

  4. 点击 调试 → 切换断点.

    选择: F9

    该位置被激活为断点: _uml_icon_breakpoint_activated.png.在执行期间到达该位置时,应用程序将停止并且该位置变为黄色。

    _uml_img_coffeemaker_online_halt_on_breakpoint.png

提示

有关断点的一般信息,请参阅: 使用断点

在线更改

如果您对现有状态图进行离线编辑,例如更改转换、条件、优先级、操作或名称,则可以在登录时将图表下载到带有在线更改的控制器。图表不需要重新初始化。

但是,当您添加、删除或替换状态或区域时,图表确实需要重新初始化。这也适用于隐式状态的更改,例如 选择 元素,或者如果您选择 可中止的实现 状态图的属性对话框中的条件。然后通过下载登录到控制器。