结论:设备数据采集进入MES或数据平台后“对不上”,多数源于时间戳来源不统一和断线补传没有幂等设计。下面给出一套可落地的做法。
一、时间戳:以谁为准
采集点位至少有三种时间:设备本地时间、采集网关时间、服务器接收时间。建议统一规则:优先使用网关采样时间,网关通过NTP与同一时间源同步;同时保留服务器接收时间用于排查延迟。设备PLC本身时钟漂移常见,不要直接信任。表字段建议:device_id、tag、value、quality、sample_ts、recv_ts、seq。
二、协议与点位:采什么、多久采
Modbus TCP适合简单仪表,按寄存器块批量读取以减少轮询;OPC UA适合订阅变化上报,设置死区避免噪声刷屏;串口设备要处理帧头校验和粘包。计数类数据建议采累计值而非瞬时脉冲,由平台计算增量,这样丢一条也能通过下一条恢复。
三、断线补传与幂等
网关本地用队列或嵌入式数据库缓存,按seq顺序上传,服务器确认后再删除。服务端以 device_id+tag+sample_ts(或seq)为唯一键做去重写入,重复补传不会造成重复累计。补传时应限速,避免恢复网络后冲垮服务。
四、质量标记与异常处理
每条数据带quality(正常、断线、超量程、人工修正)。报表计算只使用正常数据,其余单独展示,避免“默默地补零”。
五、验收清单
FAQ
问:采样周期越短越好吗?答:不是,应按工艺需要确定,过短会增加存储和网络负担。
问:累计值回零怎么办?答:识别回零或翻转,增量计算时按新周期处理。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。