在切割/冲压等机械加工领域,有时需要操作人员手动上料。人工装载时设备应处于停止状态。必须在装载完成并确认安全后才能再次启动。如果操作人员违反操作程序(例如用一只手装载,另一只手按下按钮),可能会造成伤害。为了避免这种伤害,发明了双手按钮。双手操作按钮必须用双手同时按下才能激活输出(启动设备)。下图是西门子3SB38双手操作按钮盒:
双手按钮盒需要专用控制器(双手同步控制器)才能工作。如果采用故障安全PLC,通过双手操作指令即可完成类似的功能。今天的文章中,我们将介绍Portal环境下的故障安全双手操作命令——TWO_H_EN。本文涵盖两个主题:
指令介绍;
应用实例;
1. 指令简介
打开Portal开发环境,新建一个项目。双击左侧项目树中的“添加新设备”,在弹出的对话框中点击“控制器”,选择一个故障安全CPU(例如:CPU 1515F-2PN)。
在新添加的PLC项目树中选择“程序块”“添加新块”,在弹出的对话框中选择“功能块”,命名为“测试”,勾选“创建F块”,作为如下图所示:
打开测试功能块。在右侧指令列表中,在“基本指令”“安全功能”中,可以看到“TWO_H_EN”指令(带使能信号的双手操作指令),如下图所示:
将此指令拖放到Test功能块中,完成后会自动提示生成后台数据块,如下图所示:
该指令有四个输入参数和两个输出参数,其中:
输入参数:
IN1:布尔型,按钮1的输入信号;
IN2:布尔型,按钮2的输入信号;
ENABLE:布尔值:使能信号;
DISCTIME:TIME类型,时间差(由于两个按钮不能绝对同步,所以允许它们之间的动作在短时间内有差异),取值范围1~500ms,超出此范围,诊断字节会报告一个错误;
输出参数:
Q:布尔类型,输出信号;
DIAG:字节类型,诊断信息。诊断字节的每一位代表对应的含义,具体见下表;
位编号含义(当值=1 时) Bit 0 (bit0) 时差误差(小于0 或大于500) Bit 1 (bit1) 按钮不同步Bit 2 (bit2) 保留bit 3 (bit3) 保留bit 4 ( bit4) 按钮未释放。位5 (bit5) 未启用(ENABLE=0)。位6 (bit6) 被保留。位7(bit7)Q的输出状态。该指令的工作原理如下:
当按键1的输入信号IN1和按键2的输入信号IN2在差值时间内从0变为1并保持不变,且使能信号ENABLE的值为1时,Q输出为1;
当IN1或IN2或ENABLE中任意信号为0时,Q输出为0;
当按钮输入信号IN1 或IN2 在差值时间内没有激活时(例如只按下其中一个按钮),必须先松开按钮,然后同时按下两个按钮才能再次激活Q 输出;
2. 应用实例
接下来我们创建一个功能安全功能块Test来测试TWO_H_EN指令。为了进行仿真,我们创建名为simulation的F-DB,并在其中新建变量,如下图所示:
为了模拟双手按键的按下动作,编写testFC,使得按键1和按键2的触发有200ms的差异,如下图所示:
安全功能块Test中的代码如下所示:
好啦,这里先开始双手操作说明。
审稿人:刘庆