在MetaFacture中,在线模式可更改PLC中的变量值。在这里,我们区分强制和写入预先准备好的值。
写入是通过写入值命令 ([ Ctrl ] +[ F7 ] )完成的,并一次将变量设置为准备好的值。这样该值就可以在任何时候被程序再次覆盖。
强制执行是通过强制值命令([ F7 ] )完成的,并永久地设置准备好的值。有关更多信息,请参见下文:
在不同的地方可以准备一个值来强制或写入:
- 声明部分:准备值字段
- FBD/LD/IL编辑器的实现部分:内联监测字段
- 查看视图:准备值字段
有关这方面的说明,请参见下文。如果您想为已经强制的值再次准备一个值,则会打开准备值对话框,其中包含处理当前强制值的选项。
强制的功能性
在任务循环的开始和结束(对于其他任务类型,则为处理循环)时,将准备好的值设置为相应的变量。
任务在每个周期的处理顺序如下:
1.读取输入
2.强制:在第一次程序调用之前,runtime系统将所有准备好的值写入变量,而不管它们是否被任务使用。
3.处理IEC代码
4.强制:在最后一次程序调用之后,runtime系统将所有准备好的值写入变量,而不管任务是否使用它们。
5.写入输出
注意: 在处理代码时,强制变量可能会在循环中临时获得不同的值,因为IEC代码执行了一个赋值。然后变量只在循环结束时才再次接收强制值。变量值也可以被客户机在中期对应用程序符号的写访问所覆盖。这种情况请参见设备对象属性中的与IEC任务同步访问变量选项,或符号配置中的配置与IEC任务的同步设置。这样PLC处理器支持的客户端写访问的同步可以与任务周期一起启用。
提示!
强制值用符号标记。MetaFacture执行强制,直到用户通过以下操作之一显式地解除它:
- 执行取消对所有值的强制命令
- 在准备值对话框中解除强制操作
- 注销应用程序
如果在注销时强制变量仍然存在,那么将打开一个对话框,提示是否应该取消对所有变量的强制。如果您通过点击否进行响应,那么强制值将在下一次登录时再次应用。
强制声明部分
要求:您的应用程序包含一个带有声明的POU。该应用程序处于在线模式。
1.选择命令工程 ➔ 编辑对象在编辑器中打开POU。
2.在编辑器的声明部分中,双击列(1)变量的准备值。
⇒可以编辑该字段并输入值。当它是一个布尔值时,您可以通过点击该字段来更改该值。
3.对其他变量执行步骤2。
4.点击调试 ➔ 强制值。
⇒变量值将被准备值覆盖。值用符号标记。
强制执行部分
要求:应用程序处于在线模式。
1.选择命令工程 ➔ 编辑对象在编辑器中打开POU。
2.在编辑器的实现部分中,双击内联监视字段(1)。
⇒准备值对话框打开。
3.在字段中输入新值为下一次写入或强制操作准备新值。
⇒准备值出现在在线监视字段中。
4.点击调试 ➔ 强制值。⇒变量的值将被准备好的值覆盖。值用符号标记。
一个列表查看和编辑所有强制变量
要求:该应用程序处于在线模式。多个变量强制。
1.点击视图 ➔ 监视 ➔ 监视全部强制。
⇒监视全部强制视图打开。它以监视列表的形式包含应用程序的当前所有强制变量。
2.选择列表中的所有行,然后在视图左上角列表框的下拉列表中点击强制 ➔ 取消强制并保留所有选定值。
⇒这些变量是非强制性的,它们将获得强制之前的值。
强制CFC中的功能块输入
要求:应用程序的CFC POU包含功能块,并且该应用程序处于离线模式。
提示!
这种强制在内部使用数据断点,因此与使用强制值命令或[ F7 ] 强制不同。
由命令强制FB输入的值不响应命令显示所有强制或取消强制值。
1.双击树中的对象,打开CFC POU的编辑器。
2.使能所需功能块的可强制性。选择CFC中的POU元素,然后点击CFC ➔ 准备POU元素进行强制。
3.登录到目标设备上的应用程序。在CFC中,选择POU的输入,然后在上下文菜单中点击强制FB 输入。
⇒强制值对话框打开。
4.为输入设置一个新值。一个TON POU的例子: 对于布尔输入IN为FALSE,或对于PT输入(时间)为t#4s。点击确定已确认。
⇒设置值立即被强制。POU元素的左上方显示一个绿色圆圈,该元素中输入的名称以绿色突出显示。对于布尔值,在输入处会打开一个带有该值的小型监视视图。在监视视图中,例如在声明部分中,在值列中显示强制值。
5.要删除强制值,请再次点击强制FB输入。在强制值对话框中,选择删除值选项。
⇒强制被取消。输入从控制器获取当前值。