Skip to main content

变量的强制和写入

小心

当前在控制器上运行的应用程序中变量值的异常变化可能导致受控设备的不良行为。

在强制变量值之前评估可能的危险,并采取相应的安全预防措施。根据受控设备的不同,这可能会导致设备或工件损坏,或者人员受伤或死亡。

CODESYS, PLC 中的变量值可以在在线模式下更改。在这里,我们区分了强制和写入预先准备好的值。

写作是用 写入值 命令 (Ctrl+F7) 并将变量设置为准备好的值一次。这样,该值可以随时被程序再次覆盖。

强制是用 强制值 命令 (F7) 并永久设置准备好的值。有关更多信息,请参见下文。

可以在不同的地方为强制或写入准备一个值:

  • 声明部分: 准备值 场地

  • FBD/LD/IL编辑器的实现部分:在线监控字段

  • 观看视图: 准备值 场地

有关这方面的说明,请参见下文。如果您想为已经强制的值再次准备一个值,则 准备价值 对话框打开,其中包含处理当前力值的选项。

强制功能

准备好的值在任务循环(或在其他任务类型的情况下的处理循环)的开始和结束时设置为相应的变量。

一个任务每个周期的处理顺序如下:

  1. 读取输入

  2. 强制:在第一次程序调用之前,所有准备好的值都由运行时系统写入变量,无论它们是否被任务使用。

  3. 处理 IEC 代码

  4. 强制:在最后一次程序调用之后,所有准备好的值都由运行时系统写入变量,无论它们是否被任务使用。

  5. 写输出

注意:在处理代码时,强制变量可能会在循环中临时获得不同的值,因为 IEC 代码执行了赋值。然后变量仅在循环结束时再次接收强制值。变量值也可以被客户端在周期中间对应用程序符号的写访问覆盖。对于这种情况,请参阅 访问与 IEC 任务同步的变量 中的选项 特性 设备对象,或 配置与 IEC 任务的同步 在符号配置中设置。通过这种方式,PLC 处理程序支持的客户端写访问同步可以通过任务循环启用。

重要

强制值标有 _cds_icon_forced_variable.png 象征。 CODESYS 执行强制直到用户通过以下操作之一明确解除它:

  • 的执行 取消强制所有值 命令

  • 释放力操作在 准备价值 对话

  • 退出应用程序

    如果注销时强制变量仍然存在,则会打开一个对话框,提示是否应为所有变量解除强制。如果您通过单击响应 ,然后在下次登录时再次应用强制值。

强制声明部分

要求:您的应用程序包含一个带有声明的 POU。该应用程序处于在线模式。

  1. 通过选择命令在编辑器中打开 POU 项目 → 编辑对象.

  2. 在编辑器的声明部分,双击第(1)列 准备值 的一个变量。

    可以编辑该字段并且可以输入一个值。当它是一个布尔值时,您可以通过单击该字段来更改该值。

    _cds_img_force_values_1.png
  3. 对其他变量执行步骤 2。

  4. 点击 调试 → 强制值.

    变量值被准备好的值覆盖。这些值标有 _cds_icon_forced_variable.png 象征。

    _cds_img_force_values_2.png

提示

您还可以强制变量中的值 手表 看法。

强制执行部分

要求:应用程序处于在线模式。

  1. 通过选择命令在编辑器中打开 POU 项目 → 编辑对象.

  2. 在编辑器的实现部分,双击一个内联监控字段 (1)。

    准备价值 对话框打开。

  3. 在字段中输入新值 为下一次写入或强制操作准备一个新值.

    准备好的值出现在在线监控字段中。

    _cds_img_force_values_3.png
  4. 点击 调试 → 强制值.

    变量的值被准备好的值覆盖。这些值标有 _cds_icon_forced_variable.png 象征。

    _cds_img_force_values_4.png

查看和编辑所有强制变量列表

要求:应用程序处于在线模式。多个变量是强制的。

  1. 点击 查看 → 观看 → 观看所有力量.

    观看所有力量 视图打开。它以观察列表的形式包含应用程序的所有当前强制变量。

  2. 选择列表中的所有行,然后在视图左上角的列表框中单击 取消强制→取消强制并保留所有选定的值.

    变量是非强制的,它们获得强制之前的值。

在 CFC 中强制输入功能块

要求:应用程序具有包含功能块的 CFC POU,并且应用程序处于离线模式。

重要

这种强制在内部使用数据断点,因此不同于使用 强制值 命令或 F7.

强制的价值观 强制功能块输入 命令不响应 观看所有部队 或者 取消强制值 命令。

  1. 通过双击树中的对象打开 CFC POU 的编辑器。

  2. 登录到目标设备上的应用程序。

  3. 使用编译器版本 3.5.11.x 或 3.5.12.x 时,启用所需功能块的“强制性”。在 CFC 中选择 POU 元素并单击 CFC → 为强制准备盒子.

  4. 在 CFC 中,选择 POU 的输入并单击 强制功能块输入 在上下文菜单中。

    强制值 对话框打开。

  5. 为输入设置一个新值。情况下的示例 TON 宝: FALSE 对于布尔输入 IN, 或者 t#4s 为了 PT 输入(时间)。点击 确认。

    立即强制设置值。 POU 元素的左上角显示一个绿色圆圈,元素中的输入名称以绿色突出显示。在布尔值的情况下,带有该值的小型监控视图也会在输入处打开。在监控视图中显示强制值,例如在 价值 列,如声明部分。

  6. 要删除强制值,请单击 强制功能块输入 再次。在里面 强制值 对话框,选择 移除价值 选项。

    强制取消。输入从控制器获取当前值。

有关更多信息,请参阅: 力值写入值