看门狗机制解析:“喂狗”的信号与实现 点击:9 | 回复:0



USB210

    
  • 精华:0帖
  • 求助:3帖
  • 帖子:431帖 | 122回
  • 年度积分:231
  • 历史总积分:2335
  • 注册:2009年8月05日
发表于:2025-11-25 11:03:58
楼主

看门狗选哪只好呢?

中间那只看起来不错。

咳咳搞错了,自动化项目中说的看门狗是PLC的看门狗,那这个狗有什么用呢?难道真的是看大门的狗?

看门狗还就是看门的,但与我们生活中的狗不一样,这个看门狗是看程序的。现实里的狗会追飞盘,PLC里的看门狗追的是跑飞的程序。

本质上是一个计时器,用于监控程序的运行状态。主程序在正常运行时,需要定期“喂狗”(即重置计时器)。一旦程序跑飞或陷入死循环,导致无法及时喂狗,看门狗计时器就会超时。此时,它会强制系统执行预设的复位操作(例如PLC重启),从而恢复系统运行,避免设备长时间死机。

什么是看门狗?

看门狗的本质是一个用于监控系统健康的计时器,主要可分为三种类型:

1.递减型计时器:系统启动时被加载一个预设的初始值(如10,000)。该值在每个周期内递减,若在递减至零前未被重置,则判定系统异常并触发报警。

2.递增型计时器:该计时器从零开始持续累加计数值。系统需定期读取并清零该值。若读取值超过预设阈值,则表明上一个周期内系统处理超时。

3.混合型计时器:此类计时器结合了硬件计时器的实时高精度与软件计时器的配置灵活性,以实现更优的监控效果。

还要喂狗饭?

是的你没看错,即便是看程序的狗也是需要定时喂饭的,不然它会↓

当倒计时计时器减到零时,意味着监控周期结束了。这时,系统必须收到一个“喂狗”信号来证明自己运行正常。这个信号可以由软件发出,也可以由硬件产生。

硬件的方式,是定期向NCU发送一个脉冲信号,这个脉冲就代表了一次成功的喂狗。

如果程序跑飞,导致计时器在周期结束后仍未被复位,就会发生“溢出”。这时,硬件复位电路会介入,自动产生一个复位信号。这个强制复位动作,本身也相当于一次喂狗,使系统从故障中恢复。

可以把它想象成一个严格的“监工”,系统需要定期告诉监工“我还活着,一切正常”,我们称这个过程为喂狗饭,如果监工在规定时间内没收到这个信号,也就是说没有按规定给我的狗喂饭,我的狗就认为系统“死掉了”或“卡住了”,会立即报警并重启系统来恢复生产。

200SMART PLC看门狗复位指令

看门狗复位指令(WDR)用于触发系统看门狗定时器复位,并将允许的扫描完成时间(即在看门狗超时错误发生前)延长 500 毫秒。

在 CPU 处于 RUN 模式时,主扫描的默认持续时间限制为 500 毫秒。若主扫描实际持续时间超过该限制,CPU 将自动切换至 STOP 模式,并报告非致命错误 001AH(扫描看门狗超时)。

通过执行看门狗复位指令,可延长单次主扫描的持续时间。每次执行 WDR 指令时,扫描看门狗超时计时器将重置为 500 毫秒。

然而,主扫描的绝对持续时间上限为 5 秒。一旦当前扫描时间达到 5 秒,CPU 将无条件切换至 STOP 模式。

如下示例程序使用了嵌套的 FOR 循环结构。若循环完全执行完毕,VD4 中的值应达到 100000000。尽管程序中使用了 WDR 指令以延长扫描时间,但由于整个扫描周期仍超过 5 秒,递增指令未能执行全部次数。因此,每当 I0.7 接通一次,CPU 便会因扫描时间过长而进入 STOP 状态。

200SMART PLC无线通讯测试

看门狗程序配置完成后,接下来需对通讯链路进行测试。本方案以西门子S7-1200与S7-200SMART PLC为例,在S7专用协议下搭建无线以太网通信。我们选用西门子PLC专用无线通讯终端——DTD418MB作为硬件传输设备,该设备采用无线加密传输机制,在确保数据安全的同时,也具备通信的可靠性。

值得一提的是,即便在整个系统转为无线通讯架构的情况下,看门狗功能依然能够有效履行职责,牢牢守好系统的“大门”,堪称无线通信场景中的“忠诚守卫”。




楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师