Skip to main content

EVC,交换变量连接

这种机制简化了复合安全 PLC 中安全应用程序和标准应用程序之间的数据交换。

sil2_icon_evc.png EVC 机制使用编辑器来支持从安全应用程序中选择应在标准应用程序中使用的变量。

3. EVC 编辑器
EVC 编辑器


然后所选变量在标准应用程序中可用,并且可以像常规变量一样使用。

safe_Counter := EVC.POU.safeCounter
unsafe_Counter := EVC.EVL.unsafeCounter;

sil2_icon_evc.png EVC 允许交换变量:

  • 在使用的全局变量列表 (GVL) 中,交换变量列表 (sil2_icon_evl.png EVL) 和安全应用程序 (PRG)

  • 使用常规数据类型以及自定义数据类型

在 EVL 之外的 EVC 中选择的变量可以理解为探针,可以在现有的安全应用程序中使用它来分析值而无需任何干预。

1. 例子
sil2_evc_safe_appl.png


测量点 S_xActive 可通过标准应用程序中的 EVC 获得,并可用于读取。

sil2_evc_and.png

EVL 中的选定变量可以写入标准应用程序中。

EVC.EVL.xEnable := xCAN_In_ONSWITCH;

这样的变量也可以在安全应用中用作不安全输入(例如,以受控方式关闭机器)。

2. 例子
sil2_evc_safe.png


通常,这适用于通过 EVC 提供的变量

  • EVL 中的变量可以毫无问题地从标准应用程序中写入和读取。

  • 可以从标准应用程序中毫无问题地读取 EVL 之外的变量。但是,由于可能存在的内存保护,写访问可能导致安全应用程序处于安全状态。

使用 EVC 的限制

  • 功能块只提供接口变量。这包括在 FB 的声明部分中声明的所有变量。这意味着属性、转换、动作和方法不能在标准应用程序中使用。

  • 通过 EVC 可用的功能模块不得由标准应用程序调用。

3. 非法调用示例:
sil2_evc_use.png


4. 允许调用的示例:
sil2_evc_ues_not.png


评论

通过 EVC 提供的所有变量都是安全应用实际变量的“参考”(定义为“REFERENCE TO”)。这意味着,例如,ADR 运算符不能用于这些变量。

根据所使用的控制器,可能无法保证通过 EVC 提供的变量的值是一致的。在交换除 LINT、ULINT 和 LWORD 之外的简单单个数据类型时,这不是问题。在交换相关数据时,必须以其他方式确保一致性(例如,使用适当的读/写标志)。

EVC 状态检查

EVC 在安全应用程序和标准应用程序之间建立连接。 EVC 提供了一种机制,以便可以在运行时识别 EVC 提供的变量是否仍然引用安全应用程序的关联变量。