您好,欢迎访问飞畅科技官网!
服务热线:+086 0571-87007055/56/57 EN
飞畅科技工业通信技术中心

光通信与工业互联网方案专家

EXPERT IN OPTICAL COMMUNICATION & INDUSTRIAL INTERNET SOLUTIONS

联系我们CONTACT US

全国咨询热线

0571-87007055/56/57/75

市场部直线电话:0571-87007140

手机:15306818230(微信)

QQ :2355416925

定制设计:18072828031(微信)

或给我们留言

在线留言

链路灯亮却读到旧数据:工业通信心跳、超时与看门狗怎样判断在线

浏览次数:飞畅科技原创作者:飞畅科技技术团队

FIBERIOT / 故障排查

监控画面仍显示温度,交换机端口灯也亮着,操作员却发现设备已经停止更新。这并不矛盾:网线连接正常、网络能应答、业务程序还在工作,是三件不同的事。要判断工业设备是否真正在线,既要看信息能不能送到,也要看信息是不是新产生的。本文用心跳计数和通信看门狗,把这个容易混淆的问题讲清楚。

链路、TCP应答与业务更新分层原理图
图1:物理链路、传输应答与业务更新分别判断;原理示意,非实测。

01先分清三种“活着”,端口灯只回答其中一种

工业以太网交换机的LINK灯,主要反映端口物理链路状态。可以把它理解为两部电话之间的线路接通了,并不能据此判断对面的人有没有继续说话。PLC是负责现场控制的可编程控制器;人机界面HMI则读取它的数据并展示给人。两者之间即使链路保持连接,PLC内部的业务任务也可能暂停,或者某个采集程序不再更新寄存器。

第二层是传输连接。以TCP通信为例,设备中的网络栈负责维护连接、确认收到的字节。网络栈仍有响应,并不能证明应用程序已经处理了请求,更不能证明显示的温度来自刚刚完成的采样。第三层才是业务更新:采样任务有没有运行,控制数据有没有按约定产生,收到的值是否足够新。排障时必须分别记录这三层状态,不能把一个绿色指示灯当作全部答案。

02为什么“每次都读成功”也可能是假在线

设想一个监控程序不断读取PLC的某个寄存器,得到的数字始终是25。它可能代表温度确实稳定,也可能是采集任务停在了最后一个值。单看数值是否变化,无法区分两种情况;单看读取是否成功,同样不够。请求被正常处理,只说明本次通信拿到了一个值,没有自动提供这个值的采样时间。

因此,想判断数据新鲜度,应把采样时间、质量状态或更新计数一起送出。质量状态是设备对数据有效性的说明,例如“有效”“未更新”或“故障”,具体编码以接口资料为准。没有这些附加信息时,接收端只能说“通信成功”,不能直接宣布“过程正常”。监控画面应区分当前值、最后一次有效更新和故障状态;超时后继续显示旧值,也要明显标为陈旧数据。

PLC业务任务绑定心跳计数并由监控端检查变化
图2:自定义心跳计数随目标任务更新,计数冻结时即使响应到达也不能证明数据新鲜。

03心跳计数的关键:跟真正的业务任务一起更新

心跳就像约定的报平安,但报平安的人必须与需要监视的工作有关系。一个常见做法是让PLC的目标业务任务每完成一次更新,就改变一个计数值。接收端定期读取它,例如先看到101,再看到102、103,便知道这一任务至少有持续运行的证据。这里的数字仅为教学示例;计数位数、更新周期和读取方式都要由双方接口约定,不是所有工业协议内置的统一字段。

如果每次都收到回复,计数却一直停在103,接收端就不应仅因为“收到任何报文”而刷新业务监视计时器。还要检查是不是对应设备、对应请求、有效数据,以及计数是否出现了约定的变化。计数循环回到起点、设备重新启动和旧响应迟到,都需要处理。更重要的是,不能让一个无关的后台线程一直发送心跳,而真正的采集任务已经停止;这种设计只会制造另一个假在线。

04超时不是随便填一个数,而是给正常波动留余地

超时是“等到什么时候还没有有效更新,就认为异常”的约定。设置太短,正常排队、设备忙碌或短暂网络切换都会触发误报;设置太长,故障发生后又可能很久才被发现。应先了解正常更新间隔、最忙时的响应情况、可能的丢包重试和允许的检测延迟,再设定与工艺要求匹配的窗口。不能从网上照搬一个固定毫秒数用于所有产线。

请求等待超时、TCP保活和业务数据超时也不是同一个计时器。请求超时关注某次请求是否及时得到匹配响应;TCP保活关注空闲连接对端是否仍可达;业务超时关注目标数据是否按期更新。即使TCP保活成功,业务任务仍可能停住。重复重试也要有次数和间隔限制,避免故障时不断发送请求,反而挤占正常控制流量。

有效数据重置看门狗和超时后受控恢复的原理
图3:监视有效更新并按设备策略处理超时;普通通信监视不替代安全控制。

05看门狗怎样工作,又为什么不能当作安全认证

看门狗是一种“没有按时得到有效更新,就触发约定处理”的监视机制。可以把它想成一个需要定期重新计时的倒计时器:有效过程数据到达后重新开始计时;长时间没有有效更新,计时结束,设备报告异常或按照配置处理输出。它可能由硬件、固件或应用实现,监视的对象也可能是网络过程数据,或设备内部处理器与接口之间的通信。

例如Beckhoff的EtherCAT资料分别说明了网络侧过程数据监视与内部接口监视。这个例子帮助理解“监视谁”的区别,并不表示飞畅交换机具备同款机制,也不能把某一终端的默认时间推广到其他设备。超时后保持最后值、清零或进入其他预设状态,均要查实际设备说明。普通通信看门狗不等于经过认证的安全控制功能,不能替代设备本身要求的安全设计。

06恢复顺序和验收,比只拔一次网线更重要

通信恢复也应分层确认。端口重新UP,只说明物理链路建立;随后还要确认连接和请求恢复、有效数据再次更新、设备运行状态正确,最后再按预定流程恢复控制。一次迟到的旧响应或一包心跳,不应自动让所有输出恢复动作。哪些状态需要人工确认、哪些可以自动恢复,应由设备能力和实际工艺共同决定。

验收可以依次制造三种可控故障:断开通信线,暂停目标业务任务,故意延迟有效响应。每次只改变一个条件,分别记录端口状态、响应是否匹配、心跳或采样时间是否变化、告警出现时刻和恢复动作。暂停任务时若链路仍亮而业务告警能出现,才说明系统确实在监视业务新鲜度;不能只用断线测试代替这一项。

07把交换机证据与应用证据放在一起看

飞畅官网的管理型24路千兆电口、4路千兆光电复用口交换机,可作为PLC、监控终端等设备的网络连接载体;接口组成以对应产品资料为准。选择具备所需管理功能的实际型号时,还应核实能否查看端口状态、错误计数和事件记录。交换机负责通信路径,业务心跳和数据质量通常需要PLC、网关或监控软件配合实现,不能仅换一台交换机就认为假在线问题自动解决。

现场排障时,把网络记录和应用记录按时间对齐:物理端口正常但有效更新停止,重点查程序、采集任务和接口定义;端口反复掉线,先查线缆、供电与连接;响应间隔变长,则进一步查负载、排队和重试。最后用一句话概括:灯亮代表线路存在,回复代表通信有回应,而只有合格的新数据,才是目标业务持续工作的证据。

参考资料:Beckhoff:看门狗设置说明(具体终端示例);Modbus Organization:协议与实现资料;飞畅管理型交换机产品资料。图为原创通用原理示意,非产品内部实拍或实测。