基于故障安全的双手操作指令介绍

电子说

1.2w人已加入

描述

在切割/冲压等机械加工领域,有时候需要操作人员手动上料。手动上料过程中设备应处于停止状态,当上料完毕并确认安全后,才能再次启动。如果操作人员违反操作规程(比如一只手上料的同时另一只手去启动按钮),可能造成伤害的发生。为了避免这种伤害,人们发明了双手操作按钮。双手操作按钮必须两只手同时按下按钮才能激活输出(启动设备),下面这张图是西门子3SB38双手操作按钮盒:

 

双手操作按钮盒需要配合专用控制器(双手同步控制器)才能工作。如果使用故障安全型PLC,可以通过双手操作指令来完成类似的功能。今天这篇文章,我们就来介绍下博途环境下基于故障安全的双手操作指令——TWO_H_EN。本文包括两个主题:

①指令介绍;

②应用举例;

控制器

1、指令介绍

打开博途开发环境,新建项目。在左侧项目树双击“添加新设备”,在弹出的对话框中单击“控制器”,任意选择一款故障安全型CPU(比如:CPU 1515F-2PN)。

在新添加的PLC项目树中选择“程序块”→“添加新块”,在弹出的对话框中选择“函数块”,命名为“Test”,并勾选“Create F-block(创建安全块)”,如下图所示:

控制器

打开Test函数块,在右侧的指令列表中,“基本指令”→“安全指令(Safety functions)”中,可以看到“TWO_H_EN”指令(带有使能信号的双手操作指令),如下图所示:

控制器

将该指令拖放到Test函数块中,会自动提示生成背景数据块,完成后如下图所示:

控制器

该指令有四个输入参数和两个输出参数,其中:

输入参数:

①IN1:布尔型,按钮1的输入信号;

②IN2:布尔型,按钮2的输入信号;

③ENABLE:布尔型:使能信号;

④DISCTIME:TIME型,差异时间(由于两个按钮不可能绝对同步,因此允许它们之间的动作在短时间内存在差异),取值范围1~500ms,超出这个范围诊断字节会报错;

输出参数:

①Q:布尔型,输出信号;

②DIAG:字节型,诊断信息。诊断字节的每个位表示相应的含义,具体见下面的表格;

位编号 含义(当值=1时)
位0(bit0)‍ 差异时间错误(小于0或大于500)
位1(bit1) 按钮不同步
位2(bit2) 保留
位3(bit3) 保留
位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指令。为了进行仿真,我们创建F-DB,名称为simulation,在其中新建变量如下图所示:

控制器

为了模拟双手按钮的按下动作,编写testFC,使按钮1和按钮2的触发由有200ms的差异,如下图所示:

控制器

安全函数块Test中的代码如下图所示:

控制器

  
      审核编辑:彭静
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分