0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

“喂狗”的艺术:看门狗不叫,才是系统好

达泰电子 来源:达泰电子 作者:达泰电子 2025-11-25 10:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

看门狗选哪只好呢?

中间那只看起来不错。

咳咳搞错了,自动化项目中说的看门狗是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 状态。

wKgZPGklGYyAGlAFAACXHRu51CM44.jpeg

200SMART PLC无线通讯测试

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

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

wKgZO2klGY2AHWAOAADnMgc2spc92.jpeg

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 看门狗
    +关注

    关注

    10

    文章

    616

    浏览量

    73351
  • plc
    plc
    +关注

    关注

    5053

    文章

    14960

    浏览量

    489545
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞萨RA系列FSP库开发实战指南之WDT看门狗定时器简介和功能框图剖析

    计数器的操作,简称“喂狗”。但当没有在计数器发生溢出之前进行及时喂狗的话,看门狗就会产生复位请求或者不可屏蔽中断请求(NMI-Non Maskable Interrupt)。
    的头像 发表于 05-21 14:21 4851次阅读
    瑞萨RA系列FSP库开发实战指南之WDT<b class='flag-5'>看门狗</b>定时器简介和功能框图剖析

    探秘MAX6814:5引脚看门狗定时器电路的实用指南

    探秘MAX6814:5引脚看门狗定时器电路的实用指南 在电子系统设计中,可靠性是至关重要的。今天,我们将深入探讨Maxim Integrated推出的MAX6814,一款采用5引脚SC70封装
    的头像 发表于 03-26 14:50 269次阅读

    SGM819SxQ 汽车应用看门狗定时器电路解析

    SGM819SxQ 汽车应用看门狗定时器电路解析 在电子系统设计中,尤其是汽车、工业设备等对可靠性要求极高的领域,看门狗定时器电路是保障系统稳定运行的关键组件。今天我们就来详细了解一下
    的头像 发表于 03-24 10:10 279次阅读

    SGM819S看门狗定时器电路:设计与应用详解

    SGM819S看门狗定时器电路:设计与应用详解 在电子系统设计中,看门狗定时器是保障系统稳定性和可靠性的重要组件。SG Micro Corp推出的SGM819S
    的头像 发表于 03-24 09:40 249次阅读

    【瑞萨FPB-RA6E2试用】【瑞萨FPB-RA6E2】看门狗(Watchdog Timer, WDT)个人理解及资料整理

    低速RC时钟(如40kHz LSI),即使主时钟停振仍工作 防死机、抗电磁干扰 窗口看门狗(WWDG) 使用系统时钟,喂狗必须在“时间窗口”内完成 检测程序逻辑错误(如执行过快/过慢) 软件
    发表于 01-14 11:09

    【瑞萨RA × Zephyr评测】多线程和看门狗

    本文章旨在评估使用 Zephyr RTOS 在 Renesas FPB-RA6E2 开发板上实现多线程调度与硬件看门狗功能的应用。评估内容包括任务调度、看门狗初始化流程、主程序逻辑的详细解析,以及实验现象与数据分析。
    的头像 发表于 01-10 10:23 2784次阅读
    【瑞萨RA × Zephyr评测】多线程和<b class='flag-5'>看门狗</b>

    深度解析 MAX6369–MAX6374 引脚可选看门狗定时器

    深度解析 MAX6369–MAX6374 引脚可选看门狗定时器 在当今电子设备的复杂系统中,确保微处理器(μP)稳定运行至关重要。看门狗定时器作为一种关键的监督机制,能够在系统出现故障
    的头像 发表于 12-30 17:55 1690次阅读

    什么是ADC模拟看门狗

    模拟看门狗功能,支持将 ADC 转换结果与用户设定的阈值进行比较,支持上阈值、下阈值、区间值比较,通过阈值寄存器 ADC_VTH 和 ADC_VTL 设置比较阈值。 模拟看门狗功能只在单通道模式
    发表于 12-12 06:15

    中科芯CKS32F107XX系列MCU的独立看门狗介绍

    安全性、时间精确性和使用灵活性方面变现得非常优秀。两个看门狗定时器单元都可用来检测由软件错误引起的故障,具体表现为当计数器达到给定的超时值或未能在指定时间窗口内刷新计数器的值,会触发系统复位。
    的头像 发表于 11-28 14:51 4114次阅读
    中科芯CKS32F107XX系列MCU的独立<b class='flag-5'>看门狗</b>介绍

    中科芯CKS32F107XX系列MCU的窗口看门狗介绍

    中科芯CKS32F107xx系列产品内部提供两个看门狗定时器单元,独立型看门狗IWDG(Independent Watchdog)和窗口型看门狗WWDG(Window Watchdog),本文主要介绍WWDG的应用,关于IWDG
    的头像 发表于 11-28 14:48 4429次阅读
    中科芯CKS32F107XX系列MCU的窗口<b class='flag-5'>看门狗</b>介绍

    既然有独立看门狗了,为啥还要窗口看门狗(WWDT),窗口看门狗的特色是什么?

    既然有独立看门狗了,为啥还要窗口看门狗(WWDT),窗口看门狗的特色是什么?
    发表于 11-21 06:42

    看门狗定时器、复位源、异常处理机制科普

    在嵌入式开发中,系统一旦“跑飞”,工程师最怕的不是bug,而是程序卡死无人知。这时,芯片自身的自我保护机制就至关重要。看门狗、复位源和异常处理机制,是保证系统可靠性的三大基石。本文带你梳理清楚它们
    的头像 发表于 11-17 10:53 1872次阅读
    <b class='flag-5'>看门狗</b>定时器、复位源、异常处理机制科普

    小安派BW21-CBV-Kit入门教程之看门狗简介

    这是一个简单的看门狗定时器(WDT)示例,演示了看门狗 API 的用法。 有关看门狗的定义和工作原理,请参阅以下信息。
    的头像 发表于 11-13 17:22 5287次阅读
    小安派BW21-CBV-Kit入门教程之<b class='flag-5'>看门狗</b>简介

    T113-I打造高可靠性嵌入式系统,1.12秒极限下的看门狗喂狗之法

    前言:在嵌入式系统使用中,看门狗(Watchdog)是保障系统稳定性的重要机制之一,守护着系统的稳定运行。常规实现是通过应用层参与喂狗操作,
    的头像 发表于 08-22 08:30 1784次阅读
    T113-I打造高可靠性嵌入式<b class='flag-5'>系统</b>,1.12秒极限下的<b class='flag-5'>看门狗</b><b class='flag-5'>喂狗</b>之法

    第二十三章 IWDG——独立看门狗

    本篇文章介绍了W55MH32的独立看门狗定时器,该定时器为12位递减计数器,由LSI时钟驱动,通过预分频器和重装载寄存器设超时时间,喂狗可防复位,用于检测程序故障。
    的头像 发表于 06-20 13:59 1330次阅读
    第二十三章 IWDG——独立<b class='flag-5'>看门狗</b>