由一个PLC故障控制小程序来讲讲程序控制指令

在PLC运行过程中会出现许多料想不到的故障,为了避免故障发生所带来严重的后果,需要采取一定的手段保证PLC正常运行或者使其停止运行。在这些情况下往往会用到有条件结束指令、停止指令以及看门狗复位指令等。


PLC故障控制的简单程序如下图所示。其对应的梯形图为:

SM5.0、SM4.3、SM0.0为特殊寄存器

各种特殊标志位的含义:

程序分析:

在这个程序中,PLC在以下3种情况下会执行STOP停止指令,从而停止PLC的运行防止事故的发生。

(1)在PLC运行过程中如果现场出现了特殊情况,按下与I0.1相连接的按钮,使得I0.1位为1;

(2)PLC系统出现I/O错误(SM5.0);

(3)PLC监测到系统程序出现了问题(SM4.3)。

当循环程序很多或者中断很多时,虽然PLC是正常运行的,但会大大延长PLC的扫描周期而造成WDT(看门狗)故障。为了使PLC顺利运行,可以在适当的位置执行看门狗复位指令,重新触发WDT,使其复位。

在PLC运行过程中,若不希望运行某一部分程序,则可在这段不希望运行的程序前面加上图所示的最后一条指令,这样只要接通与I0.0相连的按钮,就会执行END指令,PLC就会返回主程序起点,重新执行。

好,以上这些指令都是程序控制指令里面的内容,那么每个指令该如何使用呢?下面我会仔细来讲一下每条指令的作用与应用。

首先什么是程序控制指令?

程序控制指令使程序结构灵活,合理使用该指令可以优化程序结构,增强程序功能。这类指令主要包括结束、停止、看门狗复位、跳转与标号、循环、子程序和顺序控制继电器等指令。

1.有条件结束指令

有条件结束指令梯形图和语句表如上图所示。执行该指令后,系统结束主程序,返回主程序起点。

有条件结束指令根据先前逻辑条件终止用户程序,可以在主程序内使用,但不能在子程序或中断程序内使用。

2.停止指令

停止指令的梯形图和语句表如上图所示。停止指令不含操作数,执行该指令后,PLC从RUN(运行)模式进入STOP(停止)模式,立即终止程序的执行。

使用该指令需注意:如果在中断程序内执行暂停指令,中断程序立即终止,并忽略全部等待执行的中断,继续扫描主程序的剩余部分,在当前扫描结束时从RUN模式转换到STOP模式。

3.看门狗复位指令

看门狗复位指令梯形图和语句表如上图所示。

为了保证系统可靠运行,PLC内部设置了系统监视定时器(WDT),用于监视扫描周期是否超时。每当扫描到WDT定时器时,WDT定时器将复位。WDT定时器有一设定值(100~300ms),系统正常工作时,所需扫描时间小于WDT的设定值,WDT定时器及时复位。系统在发生故障的情况下,扫描时间大于WDT设定值,该定时器不能及时复位,则报警并停止CPU运行,同时复位输出。这种故障称为WDT故障,以防止因系统故障或程序进入死循环而引起的扫描周期过长。

系统正常工作时,如果希望扫描时间超过WDT定时器的系统正常工作时,如果希望扫描时间超过WDT定时器的设定值,或者预计发生大量中断事件,或者使用循环指令使扫描时间过长,可能在WDT定时器的设定值内不能返回主程序,为防止这些情况下WDT动作,可以考虑使用看门狗复位指令,重新触发WDT,使其复位,在没有监视程序错误的条件下增加CPU系统扫描占用的时间。使用看门狗复位指令时应当小心,因为使用循环指令会造成阻止扫描完成或过度地延迟扫描完成时间。

下列程序只有在扫描循环完成后才能执行:通信(自由端口模式除外);I/O更新(立即I/O除外);强制更新;SM位更新(SM0、SM5~SM29除外);运行时间诊断程序;中断程序中的STOP指令;分辨率10ms和100ms定时器对于超过25s的扫描不能正确地累计时间。

更多精彩内容等你去发掘……