在 Logic/Motion Controller 与 Safety Logic Controller 之间交换数据
标准应用程序 (Logic/Motion Controller) 和安全相关应用程序能够直接交换数据。
在将 Safety Logic Controller 插入 EcoStruxure Machine Expert Logic Builder 的 Logic/Motion Controller 项目中时,会为交换数据保留专门的内存区域。在此区域中,有交换信号可用。必须在 Safety Logic Controller 的 I/O 配置中配置要在项目中使用的交换数据。有关详细信息、限制要求和具体操作步骤,请参阅章节 SLC 的交换数据配置。
注意: 标准应用程序与安全相关应用程序之间的交换数据始终是非安全相关(标准)变量。
注意: 除 Safety Logic Controller 的交换信号之外,TM5/TM7 I/O 模块也提供交换信号。如要将这些信号映射到 Logic Builder 中,请双击 Devices tree 中的相应 TM5/TM7 模块,然后打开 TM5/TM7 Module I/O Mapping 编辑器。有关示例,请参阅章节读取安全相关输出通道的状态。
|
意外的设备操作 |
o确认由 Safety Logic Controller 以及由安全相关应用中涉及的 I/O 模块提供的相关诊断过程数据项被监视和评估,以便标准应用程序能够确定功能安全相关系统的状态。 o确认根据安全相关诊断过程数据评估将机器设置成了应用特有的预定义安全状态(基于风险分析)。 o在可能存在人员受伤和/或设备损害的危险情况下,请使用适当的安全联锁。 o检查所有安全相关功能,并进行全面的应用测试。 |
不遵循上述说明可能导致人员伤亡或设备损坏。 |
读取 Logic/Motion Controller 中的 SLC 交换变量
本章节介绍了如何基于以下示例使用数据方向为 Safety Logic Controller 至 Logic/Motion Controller 的交换变量:
安全相关应用程序中使用的安全相关 SF_EmergencyStop 功能块输出布尔错误标志。
下面介绍了如何设置和配置数据交换并在标准应用程序中读取这个值从而让 Logic/Motion Controller 能够对功能块错误做出响应:
步骤 |
操作 |
---|---|
1 |
在 Safety_PLC (Devics tree) 的参数组 SlcIoConfiguration 中,按照章节配置数据交换中所述那样,保留一个布尔变量组 SLC2LMC_NumberOfBoolGroups。 结果:在安全相关应用程序中有八个交换变量可用。 |
2 |
打开 Safety_PLC 的 Schneider Electric Sercos III I/O 映射编辑器,将变量映射到交换标志。 具体有两种方法: o将变量名称输入到 Variable 表格单元格中。这样,如果尚未声明输入的名称,则会声明新的全局变量。 o或者,双击 ... 图标,从 Input Assistant 中选择现有变量。 |
3 |
对应用代码中的映射变量执行读取访问编程(标志评估)。评估变量时,应确保标准应用程序对功能块错误做出响应,即,评估此变量是否为 TRUE。 |
步骤 |
操作 |
---|---|
1 |
打开要插入和写入交换信号的代码工作表。在示例中,这是使用 SF_EmergencyStop 功能块的代码。 |
2 |
在 Devices 窗口中,打开左侧的设备树,然后展开 SLC (SL1.SM1) 树节点。 |
3 |
将 Boolxxx 交换变量拖入代码工作表。 结果:放开鼠标按键时,显示 Variable 对话框。 |
4 |
在 Variable 对话框中,接受所提议的名称,选择现有全局变量,或者声明新的全局变量。 |
5 |
单击 OK,确认 Variable 对话框,然后通过左键单击的方式,将变量放到所需的位置。 结果:变量被插入代码中,其变量声明被自动插入全局变量工作表中。 您可以直接将变量连接到其他对象(比如,形式参数),也可以将其放在任何空位置上(未连接状态)。 |