西门子故障安全PLC的编程需要使用故障安全指令。今天这篇文章,我们来介绍下用于急停按钮的ESTOP1指令。
本文包括两个主题:
指令介绍;
应用举例;
1、指令介绍
当项目组态的CPU是故障安全型CPU时,在【基本指令】列表中会有【安全指令(Safety functions)】一栏,如下图所示:
安全指令的背景色为黄色,以便与普通指令进行区别。
在【安全指令】中找到"ESTOP1"指令并将其拖拽到程序块中,系统会自动提示创建背景数据块,单击【确定】使用默认名称即可。
初始添加的ESTOP1指令如下图所示:
该指令的主要输入参数包括:E_STOP、ACK_NEC、ACK和TIME_DEL;
主要输出参数包括:Q、Q_DELAY、ACK_REQ和DIAG;
参数具体信息请看下面的表格:
名称 | 数据类型 | 说明 |
---|---|---|
E_STOP | BOOL | 急停输入信号 |
ACK_NEC | BOOL | 是否需要手动复位,1=需要,0=不需要; |
ACK | BOOL | 复位信号 |
TIME_DEL | TIME | 延时的时间 |
名称 | 数据类型 | 说明 |
---|---|---|
Q | BOOL | 急停输出(1=Enabled) |
Q_DELAY | BOOL | 延时的急停输出 |
ACK_REQ | BOOL | 1=请求复位 |
DIAG | BYTE | 诊断字节 |
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用来反馈指令的一些状态,其各个位的含义如下:
位 | 含义 |
---|---|
0 | TIM_DEL设置值错误,时间值应大于0 |
1 | 保留 |
2 | 保留 |
3 | 保留 |
4 | 急停信号未回复,无法确认故障 |
5 | ACK信号错误 |
6 | 请求复位(=ACK_REQ的值) |
7 | 急停信号输出(=Q的值) |
2、应用举例
假设急停信号连接到故障安全输入通道I12.0,复位信号为I8.0,急停输出通道为Q21.0、急停延时输出通道为Q21.1,确认故障请求信号为M10.0,诊断字节为MB9,则使用ESOP1指令代码如下:
也可以在急停输出Q使用中间变量(比如M10.1),然后与其它一些条件进行与运算后再输出到输出通道,该信号一般用于某路电源的控制。
好了,关于ESTOP1指令就先介绍这么多。
我的微信视频号分享一些工控小知识,最近正在分享步进电机的一些内容,欢迎扫描下面的二维码查看:
发表评论