创建一个 CODESYS Safety Extension 项目
这描述了如何逐步创建一个简单的安全项目以及如何将安全应用程序加载到安全控制器。

(一)创建安全工程
开始后 CODESYS 安装 CODESYS Safety Extension, 点击 。
在 新项目 对话框中,选择 空安全项目 模板。此模板是一个具有安全用户配置的空项目。有关更多信息,请参阅: 在项目中设置用户管理。
然后输入 姓名 在此对话框中的项目(在我们的示例中为“Project_Safety”)和项目所需的存储位置,然后单击 好的 按钮确认对话框。
(2)添加标准控制器和安全控制器
下一步,通过选择 项目安全 项目,然后单击 添加设备 在上下文菜单中。选择您的安全控制器所连接的标准控制器,或安装的标准控制器,然后单击 添加设备。
然后,通过在设备树中选择标准控制器并单击,将安全控制器添加到标准控制器中 添加设备 在上下文菜单中。
在 添加设备 对话框中,选择所需的安全控制器 类别,然后单击 添加设备 按钮确认您的输入。
在下一个对话框中 登录,指定安全用户配置中存在的用户(请参阅)作为成员 所有者, 安全, 或者 安全扩展级别 组。如果项目经理(所有者)尚未调整当前项目的用户配置,则您现在需要输入 扩展 为用户;密码为空。此用户是用户组的成员 安全扩展级别。 点击 好的 确认对话框。有关更多信息,请参阅: 在项目中设置用户管理。
(3)插入设备(安全设备和标准设备)
然后在标准控制器下添加一个现场总线主站和一个现场总线从站(示例中为 PROFIBUS)。
为此,请在设备树中选择标准控制器,然后使用 添加设备 上下文菜单中的命令。
可以在 姓名 字段中的 添加设备 对话框。选择从站时,必须注意所选的从站必须能够通过安全模块进行补充。
现在通过从站插入安全模块 添加设备 命令并将示例的设备名称更改为“SafeOut”。在 添加设备 对话框中,您将在现场总线的子类别中找到安全模块(在示例中: 安全模块 Profibus 类别中的子类别)。
在此步骤中,使用 添加设备 命令在上下文菜单中插入一个标准现场设备到从站下方(示例中为:
75x-5044DO/24V DC/0,5A
)并在插入对话框中将名称更改为 不安全输出为了能够在安全应用程序中使用标准设备的 I/O 数据,必须在该现场设备的安全应用程序下明确插入一个逻辑 I/O。为了能够在安全应用程序中使用标准设备的 I/O 数据,必须在安全应用程序下为该现场设备明确插入一个逻辑 I/O。
为此,请选择 逻辑 I/O 安全应用程序下的节点并单击 在上下文菜单中。在 添加逻辑设备 对话中的 逻辑设备, 生成的逻辑设备 类别,选择已插入到标准控制器下的标准设备的设备(在示例中
75x667 4FDO 0.5A/4FDI
)并确认对话 添加按钮。逻辑 I/O 的名称可以更改为 不安全输出 在属性对话框中。为了将此逻辑 I/O 与标准控制器下的标准现场设备连接,请双击打开标准设备,然后 DP 模块 I/O 映射 选项卡中 逻辑 I/O 映射 组合框中,选择属于标准现场设备的逻辑 I/O(示例中为:
UnsafeOut
)。
(4)设置与标准控制器的变量交换
对于标准控制器和安全控制器之间的变量交换,插入 逻辑交换 GVL 标准应用程序下方有一个对象,安全应用程序下方有一个逻辑交换对象。
逻辑交换对象首先添加到安全应用程序下。选择 逻辑 I/O 安全应用程序下的节点并激活 命令。在 添加逻辑设备 对话框中,选择合适的设备 逻辑交换设备 类别 逻辑设备 类别,即所需的数据类型和交换方向,在示例中:
DINT 1xOut
,输入名称LxOut
并点击 添加 按钮。插入逻辑交换设备时,必须为其指定名称LxOut
以便稍后能够在 GVL 中选择该名称。现在,相应的逻辑交换 GVL 已添加到标准应用程序下。为此,请激活 逻辑交换 GVL 就像 添加逻辑交换 GVL 对话框并单击 添加 按钮。
命令。现在输入在打开的编辑器中,现在选择 输出 交换对象来自 逻辑交换映射 组合框。
(5)添加POU并编写程序代码
在 设备 视图,选择 安全应用程序 对象并选择 上下文菜单中的命令。
在 添加扩展 POU(安全) 对话框中,现在输入名称“SafetyExtendedPOU”,选择 程序 作为 POU 类型,然后单击 添加 按钮。
重要
为了能够添加扩展 POU(安全),在使用安全用户配置时,您必须以“所有者”用户或“Safety.ExtendedLevel”组成员的身份登录。
POU 的编辑器打开。在编辑器中,现在可以声明变量并编辑程序代码。
现在在编辑器的声明部分中声明下图列出的变量。变量的声明通过 插入变量声明 命令。局部变量声明为
VAR
. 逻辑 I/O 的映射变量声明为VAR_EXTERNAL
。图 4. 安全应用程序随后,将上图列出的程序代码输入到编辑器的执行部分 安全 FBD 编辑器. 编辑器的使用方式类似于 CODESYS FBD 编辑器。
使用添加网络 插入网络 命令 安全-FBD 菜单。
使用以下方式插入运算符 插入盒 命令 安全-FBD 菜单。同样, 插入跳转, 插入标签 和 插入分配 命令可以在 安全-FBD 菜单。
程序说明:在网络 1 中,检查计数器 iCounter
小于 255。如果是这种情况,则跳转到标签 IncrementCounter
。 否则 iCounter
在网络 2 中设置为 0
。
在网络 3 和 4 中(标签 IncrementCounter
) 这 iCounter
加 1 并赋值给逻辑 I/O 的映射变量。在赋值给标准设备和安全设备的映射变量之前,计数器从 DINT
到 BYTE
。
这 diLXout
变量可以在标准应用程序中进一步处理。
(6)编辑逻辑 I/O 中的映射变量
程序代码中声明的变量为 VAR_EXTERNAL
现在作为映射变量输入到逻辑 I/O 中。
使用以下方式插入运算符 插入盒 命令 安全-FBD 菜单。同样, 插入跳转, 插入标签 和 插入分配 命令可以在 安全-FBD 菜单。
打开
UnsafeOut
双击逻辑 I/O 并输入byUnsafeout
变量作为输出通道 输入/输出映射 选项卡。
以同样的方式,输入 bySafeOut
变量作为输出通道 输入/输出映射 的 SafeOut
逻辑 I/O 和 diLXOut
变量 输入/输出映射 选项卡中的 LXout
逻辑 I/O。
(7)构建安全应用程序
在 建造 菜单,点击 建造 编译安全应用程序。还会执行错误安全检查。错误和警告显示在消息窗口中。如果没有发生错误,则可以在后续步骤中将安全应用程序加载到安全控制器中。
(8)通讯设置
在设备树中,双击安全控制器。
这 标签:通信设置 打开。
选择您的网络(网关),然后使用 扫描网络 按钮。如果显示了您的设备,则选择它并单击 设置活动路径 按钮。
(9)登录安全控制器
点击
登录安全控制器。这 连接至安全装置 对话框打开。
此对话框用于确认与安全控制器的连接。对话框解释了设备特定的确认形式(设备上的操作或标识)。
图 5. 对话框中的‘连接到安全设备’选项:输入标识在对话框中,选择 确认连接 选项来创建应用程序。
在对话框中,输入安全控制器的 ID,然后单击 好的 按钮。
有关详细信息,请参阅:For more information, see: 连接到已确认的控制器。
确认与安全控制器的连接后,将打开一个对话框,您可以在其中选择是否要将应用程序临时下载到控制器,或者是否应从应用程序创建启动应用程序并存储在控制器上。通过单击 是的,我已创建!创建启动应用程序 按钮或 是的,我有!暂时下载 按钮,您还确认已为整个联网设施建立了组织安全性。有关这些说明的示例,请单击 是的,我有!暂时下载 按钮。
图 6. 登录时出现对话框,确认联网设施的组织安全在随后的 授权 对话框中,输入控制器的密码。(如果尚未设置密码,则默认密码有效;根据制造商的不同,该密码可以是空密码。)使用 好的 按钮。
现在您可以使用以下功能调试应用程序: 开始 - 安全), 停止 – 安全 和 写下价值观——安全/军队价值观 – 安全, 监控 在 在线模式下的安全 FBD 编辑器 和 在线模式下的变量声明编辑器 或者 创建启动应用程序。