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

PLC的硬件看门狗和软件看门狗

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

简介为实现看门狗的目标,需要解决两个方面的问题,一是硬件电路问题,二是软件编程问题。看门狗的实现形式可以分为硬件看门狗和软件看门狗两种。看门狗必须拥有独立的计数器(即

    为实现看门狗的目标,需要解决两个方面的问题,一是硬件电路问题,二是软件编程问题。看门狗的实现形式可以分为硬件看门狗和软件看门狗两种。看门狗必须拥有独立的计数器(即硬件看门狗)。现在很多芯片都提供了内部看门狗定时器。

    在工业应用中,严重的干扰有时会破坏中断方式控制字,关闭中断,万一干扰导致中断被屏蔽了,可在主程序中反复刷新中断使能标志,保证不让中断被屏蔽。但万一程序飞到某个死循环中去了,将不再执行“刷新中断使能标志”,也就不能保证中断不被屏蔽,所以这一功能也不完善。采用软件看门狗可有效地解决这类问题。软件看门狗相当于软件的一种自律行为,通常都是通过设立一个计数器,在计时中断时对其加1,在主程序的适当地方对其清零。如果程序失控了,清零指令未被执行,但中断正常发生,则计数器溢出。

    在实际应用中,采用环形中断监视系统,用定时器T0监视定时器T1,用定时器T1监视主程序,主程序监视定时器T0。采用这种环形结构的软件看门狗具有良好的抗干扰性能,大大提高了系统可靠性。对于需经常使用T1定时器进行串口通信的系统,则定时器T1不能进行中断,可改由串口中断进行监控。这种软件看门狗的监视原理是:在主程序、T0中断服务程序、T1中断服务程序中各设一运行观测变量,假设为MWatchT0WatchT1Watch;主程序每循环一次,MWatch1,同样,T0T1中断服务程序执行一次,T0WatchT1Watch1;在T0中断服务程序中通过检测T1Watch的变化情况判定T1运行是否正常,在T1中断服务程序中检测MWatch的变化情况判定主程序是否正常运行,在主程序中通过检测T0Watch的变化情况判别T0是否正常工作;若检测到某观测变量变化不正常,比如应当加1而未加1,则转到出错处理程序作排除故障处理。当然,对主程序最大循环周期、定时器T0T1定时周期应予以全盘合理考虑。