您现在的位置是:首页 > PLC技术 > PLC技术

PLC的看门狗技术

来源:艾特贸易2018-04-11

简介PLC 的 CPU 内部具有 WDT ,可使用定时中断来监视程序运行状态。定时器的定时时间稍长于主程序正常运行一个循环的时间,在主程序运行过程中执行一次定时器时间常数刷新操作,只要

    PLCCPU内部具有WDT,可使用定时中断来监视程序运行状态。定时器的定时时间稍长于主程序正常运行一个循环的时间,在主程序运行过程中执行一次定时器时间常数刷新操作,只要程序正常运行,定时器不会出现定时中断。当程序运行失常,不能及时刷新定时器时间常数而导致定时中断时,可利用定时中断服务程序将系统复位。

   PLC正常运行时,其PC值一定在程序区内,如果PC值跑出程序区,PLC肯定已发生了程序跑飞。检查程序计数器PC值是否在程序区内的方法是,在一个经常要产生外部中断的中断服务程序中,读取转入该中断时压入堆栈的断点地址,如果该地址在程序区内,则认为PC值正常,否则一定是程序跑飞了。此时,程序跳转到PLC的重启动入口或复位入口,PLC重新启动。如果没有合适的中断源,可以专门设置一个定时中断或者几个定时中断,在中断服务程序中检查PC值是否合法,一旦发现不对就立即转入PLC的重启动入口。定时器中断的时间常数,可视PLC的繁忙程度和重要性设定,一般几毫秒到几十毫秒都可以。

    在设计应用程序时,可以利用看门狗技术实现对系统各组成部分运行状态的监控。如用PLC控制某一运动部件,编程时可定义一个定时器作看门狗用,对运动部件的工作状态进行监视。定时器的设定值为运动部件所需要的最大可能时间。在发出该部件的动作指令的同时启动看门狗定时器,若运动部件在规定时间内达到指定位置,发出一个动作完成信号,使定时器清零,说明监控对象工作正常;否则,说明监控对象工作不正常,发出报警或停止工作信号。

    这个方法的局限性是不能查出PC值在程序区内的乱跳,即此时PC值虽受干扰却并没有超出程序区,而是将指令错位乱拼而造成一些莫名其妙的操作,或者死循环。