西门子故障安全PLC的编程需要使用故障安全指令。今天这篇文章,我们来介绍下用于急停按钮的ESTOP1指令。
本文包括两个主题:指令介绍;
应用举例;
1、指令介绍
当项目组态的CPU是故障安全型CPU时,在【基本指令】列表中会有【安全指令(Safety functions)】一栏,如下图所示:
安全指令的背景色为黄色,以便与普通指令进行区别。
在【安全指令】中找到'ESTOP1'指令并将其拖拽到程序块中,系统会自动提示创建背景数据块,单击【确定】使用默认名称即可。
初始添加的ESTOP1指令如下图所示:
该指令的主要输入参数包括:E_STOP、ACK_NEC、ACK和TIME_DEL;
主要输出参数包括:Q、Q_DELAY、ACK_REQ和DIAG;
参数具体信息请看下面的表格:ESTOP1输入参列表名称数据类型说明
E_STOPBOOL急停输入信号
ACK_NECBOOL是否需要手动复位,1=需要,0=不需要;
ACKBOOL复位信号
TIME_DELTIME延时的时间ESTOP1输出参数列表名称数据类型说明
QBOOL急停输出(1=Enabled)
Q_DELAYBOOL延时的急停输出
ACK_REQBOOL1=请求复位
DIAGBYTE诊断字节
ESTOP1指令的功能:当输入信号E_STOP的值从1变为0时,输出信号Q的值立刻变为0;
当输入信号E_STOP的值从1变为0时,延时TIME_DEL的时间后,输出信号Q_DELAY的值变为0;
参数ACK_NEC用来设置当故障发生后是否需要手动确认,有两种情况:
ACK_NEC=0表示不需要手动确认故障,这种情况下当E_STOP的值从0变为1时,输出信号Q的值将立刻置位(变为1);
ACK_NEC=1表示需要手动确认故障,这种情况下当E_STOP的值从0变为1时,请求复位信号ACK_REQ的值将变为1。此时需要ACK的上升沿输入信号才能将输出信号Q的值置位(1),并且将ACK_REQ的值复位;
诊断字节DIAG用来反馈指令的一些状态,其各个位的含义如下:位含义
0TIM_DEL设置值错误,时间值应大于0
1保留
2保留
3保留
4急停信号未回复,无法确认故障
5ACK信号错误
6请求复位(=ACK_REQ的值)
7急停信号输出(=Q的值)
2、应用举例
假设急停信号连接到故障安全输入通道I12.0,复位信号为I8.0,急停输出通道为Q21.0、急停延时输出通道为Q21.1,确认故障请求信号为M10.0,诊断字节为MB9,则使用ESOP1指令代码如下:
也可以在急停输出Q使用中间变量(比如M10.1),然后与其它一些条件进行与运算后再输出到输出通道,该信号一般用于某路电源的控制。
好了,关于ESTOP1指令就先介绍这么多。