工控行業的看門狗到底是啥
在由單片機構成的微型計算機系統中,由于單片機的工作常常會受到來自外界電磁場的幹擾,造成各種寄存器和內存的數據混亂,會導致程序指針錯誤,不在程序區,取出錯誤的程序指令等,都會陷入死循環,程序的正常運行被打斷,由單片機控制的系統無法繼續正常工作,會造成整個系統的陷入停滯狀態,發生不可預料的後果。看門狗就是定期的查看芯片內部的情況,一旦發生錯誤就向芯片發出重啓信號的電路。看門狗命令在程序的中斷中擁有最高的優先級。
看門狗定時器是一種硬件,通常內置于單板計算機(SBC)或嵌入式PC中,當它確定系統已挂起或不再執行正確的代碼序列時,可導致複位。
一個設計合理的看門狗機制至少應該捕獲挂起系統的事件。在電噪聲環境中,電源故障可能會破壞程序計數器,堆棧指針或RAM中的數據。即使代碼完全沒有錯誤,該軟件也可能崩潰。這正是監管機構將要捕獲的那種短暫失敗。
軟件中的錯誤會導致系統挂起,因此最好修複根本原因而不是依賴于監視程序計時器。在複雜的嵌入式系統中,可能無法保證沒有錯誤,但是通過使用監視程序,您可以防止這些錯誤無限期地挂起系統。
從簡單的文字定義來說,多數看門狗是由硬件組成的一個定時器,也有軟件控制的定時器作看門狗的。看門狗的功能就是當程序跑飛後,程序是無法給看門狗清0的,所以程序跑飛後看門狗很快會溢出,産生複位信號給mcu,使程序重新回到起點。
计讯小编从一个生动的比喻给你解析一下: "看门狗是防止CPU进入死循环或死机,就象看门狗一样,定时给它喂食,它才不会叫,否则……会不停的汪!汪!汪! 地叫个不停"。
工机机看门狗作为一个定时器,用来监视PLC扫描时间的状况 看门狗技术在电子技术中经常应用到,不仅PLC,还有单片机等。看门狗的作用是不可忽略的。 我们都知道,PLC程序工作机制采用循环扫描工作机制,每次循环都要有一个时间,这个时间就是扫描时间。 扫描时间是要有限制的,不能超出这个限制,一旦超出限制,说明PLC的扫描机制出现问题,问题一般都是用户编程序时出现了"合法不合理"现象。在这种情况下,必须停机报警。用什么来监视呢,就是扫描时间监视器,一个系统定时器,俗称"看门狗"。 看门狗一旦作用,结果就是PLC停机报警。
计讯物联研发生产的工業路由器、工业DTU采用三级看门狗检测机制:CPU自带看门狗、硬件电路和软件看门狗专利技术,智能软件唤醒和硬件断电重启机制,保证设备正常运行、永不死机。