复合安全 PLC 概述 CODESYS Safety SIL2 扩展 CODESYS 具有“复合安全 PLC”功能的编程系统。复合安全 PLC 包括一个安全应用程序和一个标准应用程序,它们可以并行运行。 图 2 . 具有复合安全 PLC 的设备树 复合安全 PLC 在以下方面与传统的安全 SIL2 PLC 基本不同: 结构化:SIL2 控制器和逻辑父 PLC 下方的一个或多个标准 PLC(参见 c
EVC,交换变量连接 这种机制简化了复合安全 PLC 中安全应用程序和标准应用程序之间的数据交换。 这 EVC 机制使用编辑器来支持从安全应用程序中选择应在标准应用程序中使用的变量。 图 3 . EVC 编辑器 然后所选变量在标准应用程序中可用,并且可以像常规变量一样使用。 safe_Counter := EVC.POU.safeCounter unsafe_Counter := EVC.EVL.
EVL,交换变量列表 这个对象 EVL 是一种特殊类型的全局变量列表 (GVL),可用于在复合安全 PLC 中的安全控制器和非安全 PLC 之间交换不安全数据。 可以像在传统 GVL 中一样在此处声明变量。但是,EVL 中的所有变量都是在“不安全数据区”(16#0800) 中创建的。这允许从不安全的应用程序对这些变量进行写访问。 有关使用的更多信息,请参阅: 复合安全 PLC 概述 和 复合安全
复合安全 PLC 的处理 由于复合安全 PLC 由一些安全控制器和标准控制器之间的结构化关系组成,因此需要对一些标准用例进行特殊处理: 创建新项目的第一步 设备更新 设备搜索/与 PLC 通信 提示 还请查看设备制造商的 OEM 文档,了解有关该制造商的复合安全 PLC 的特殊处理或要求的任何说明。 创建新项目的第一步 的默认助手 CODESYS 用于创建标准项目支持自动创建复合安全 PLC CO
EVC/EVL的处理 在复合安全 PLC 中使用 EVC/EVL EVC(交换变量连接)可以在一个或多个非安全子设备中使用,以便能够访问安全子设备的(安全和非安全)变量。 图 5 . 示例:使用带 EVC/EVL 的复合安全 PLC 的项目设备树 将 EVC 添加到非安全子设备 您可以像其他“POU”对象一样将 EVC(交换变量连接)添加到应用程序:使用命令和对话框 添加对象 并选择 EVC .
动态内存管理 存储的动态管理在选项卡中完成 设备变体 复合安全控制器。它用于提供不同的设备变体,这些变体的安全和不安全代码的大小不同。可以在选项卡中选择这些设备变体之一并将其传输到项目或加载到控制器上。 表 1 . 标签 设备变体 PLC 配置 设备变体 配置文件中定义的设备变体列表 如果您选择设备变体,则会显示相应的图像和描述,前提是图像和描述已存储在文件中。 采纳项目 在设备树中,从属控件采用
I/O 的动态管理 I/O 的动态管理发生在选项卡中 I/O 映射 复合安全控制器。在此选项卡中,安全 I/O 通道可以分布在安全控制器和位于复合安全控制器下的标准控制器之间。两个控制器的 I/O 都在配置文件中定义。多个 I/O 可以属于一个 I/O 组(图中的 IOs1、IOs2)。 表 2 . 标签 I/O 映射 范围 配置文件中定义的 I/O 组及其参数 参数可以是以下通道类型: 输入 输
非安全相关计划(NonSafe PRGs) 从编译器和运行时版本 V3.5.4.0 开始,安全 SIL2 应用程序中的 PRG 也可能包含与安全无关的代码。默认情况下,所有 PRG 都包含与安全相关的代码。这由黄色图标表示 在 POU 的默认图标旁边。 图 7 . 与安全相关的 PRG 的应用 如果满足上述编译器版本和运行时系统版本的要求,则有 特性 - PRG 的对话框它自己的选项卡 SIL2
属性:sil2context 该属性是必需的 不安全 IO 驱动程序库能够在安全上下文中执行 IO 驱动程序实例的初始化。 句法 : {attribute 'sil2context':='safe'} 插入位置:库 POU 声明部分上方的第一行 分类与 safe 导致标有此属性的 POU 部分在安全上下文中执行。 这是必需的 CODESYS Safety SIL2 系统,例如,用于某些非安全IO驱