首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >工业设备在线状态怎么判定:心跳、超时与"假离线"的处理方法

工业设备在线状态怎么判定:心跳、超时与"假离线"的处理方法

原创
作者头像
智能制造MES笔记
发布于 2026-10-27 10:06:14
发布于 2026-10-27 10:06:14
100
举报

结论:采集系统里“设备离线”告警的误报,多数来自把“网络断了”和“设备停机”混成了一个状态。做法是分三层判断:链路层看心跳,设备层看数据有没有刷新,业务层看工单是否在生产,三层都满足才算“异常离线”,并对每一层设计独立的超时与恢复条件。

一、先把三种状态拆开

状态|判断依据|典型原因|处置

链路中断|网关到平台的心跳连续丢失|网线、交换机、4G信号、网关断电|网络侧处理,设备数据按断网补传

设备无响应|网关在线,但对某设备的读取连续失败|设备关机、通讯线松动、从站地址变更|现场检查,标记“设备无响应”

数据停滞|读取成功但值长时间不变|传感器卡死、点位映射错误|按点位设置“最大不变时长”,超过则提示

三者合并成一个“离线”,现场收到告警后无从下手,时间久了就没人理会。

二、心跳与超时怎么定

  1. 心跳周期:网关每10到30秒向平台发一条心跳,只含网关ID、序号、本地时间、缓存积压条数。过于频繁会白白占带宽,过于稀疏则发现慢。
  2. 超时判定:连续丢失3个心跳周期才判定链路中断,不要丢1个就报。
  3. 设备读取失败:对单个设备,连续N次读取失败(Modbus常见为超时或异常码)才置为“无响应”,N取3到5次,并记录最后一次错误码,方便区分“超时”和“设备返回异常”。
  4. 数据停滞:不同点位阈值不同。温度类可以设几分钟,计数类在非生产时段不变是正常的,所以要结合工单状态。

三、避免“假离线”的四个办法

• 恢复滞后:状态恢复需连续成功2到3次,防止信号临界时状态来回跳。

• 计划停机屏蔽:交接班、午休、保养时段通过班次日历屏蔽“数据停滞”告警,只保留链路告警。

• 网关重启识别:心跳序号归零代表网关重启,应记为“重启事件”,而不是一次离线加一次上线。

• 补传后回写状态:断网恢复后,补传的历史数据带原始时间戳,状态时间线要按原始时间回写,避免统计出来的在线率偏低。

四、落地时的字段建议

设备状态表建议至少包含:设备ID、网关ID、当前状态、状态开始时间、最后一次成功读取时间、最后错误码、连续失败次数、是否计划停机。状态变更写入状态变更流水表,保留变更前后状态和触发原因,用于事后统计在线率和排查。

五、常见追问

心跳放在业务数据里行不行?不建议。设备没有数据变化时就没有消息,容易被误判成离线,心跳应该独立。

离线告警要不要发短信?链路中断超过一定时长再升级通知,短时波动只记录,不打扰人。

在线率怎么算?用“计划运行时间内可采集时长”除以“计划运行时间”,计划停机时段不计入分母。

多个设备挂在一个网关上,网关断了怎么处理?先判网关,再判设备;网关中断时下属设备统一标记“网关中断”,不要逐个发告警。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档