故障现象与结论
“数采仪显示连接成功,平台就是没数据。”华东某电镀园区运维工程师的这句话,通常不是断网,而是报文上去了,平台没认:重金属在线监测仪的因子编码、MN或时间格式与平台档案对不上。先查协议映射和平台因子配置,比换卡、换天线、重启设备有效。
协议层:CN码和因子编码最容易错
- 实时数据看CN=1014,历史补传看CN=2000–2999,设备状态看CN=3020。现场只发1014、平台只按3020判断在线,就会出现“有报文、无数据”。
- 总铅、总镉、总砷、总汞、六价铬等因子,数采仪里的PolId必须与平台因子表一致,差一位就入库失败。
- QN、MN、PW、ST、Flag、CP、DataTime逐项看。MN错一位会挂到另一家企业;DataTime不是yyyyMMddhhmmss,平台判无效包。
- CRC16校验和包长字段要对得上。抓1014的Data段,比看面板指示灯有用。
网络层:TCP通不等于业务通
- 平台域名解析到旧IP、端口被防火墙拦截、NAT会话老化,都会显示“连接成功但无数据”。看数采仪日志里发送后有没有平台确认。
- 心跳间隔按平台要求设,太长会话被回收,太短可能判异常。
- 4G看RSSI和信噪比,不要只看“有信号”。弱信号下能建链,大包容易重传超时。
设备层:仪表状态和寄存器映射
- 重金属在线监测仪处于校准、维护、故障状态时,输出可能是固定值或无效值,数采仪照传,平台会过滤。
- RS485的A/B反、屏蔽层接地没做好、隔离器供电不足,会偶发丢包。Modbus 03/04读到的寄存器值与面板值对不上,先查寄存器地址和浮点高低字节。
- 4-20mA输出正常不代表测量正常,量程、零点、状态位都要看。
平台层:收了不等于入库
- 平台未配该MN、未开通重金属因子、数据表结构不对,都会“接收成功、入库为空”。
- 补传的QN时间戳重复,平台去重后只留一条;反复补同一段,看起来就像没数据。
- Flag位有标定、维护、故障标记的数据,可能被单独存放,不在实时查询里显示。
排查顺序:先协议、再平台、后网络、最后设备
连接成功已经说明TCP链路大概率通,先看报文和平台配置能最快排除“假在线”。网络层要抓包和日志,成本高;设备层要动现场仪表,最容易把好设备调乱。顺序反过来,常常查一天网络,最后发现是MN配错。
每步的判断与处置
- 看发送日志:有CN=1014发出、无平台确认,查网络和平台地址;有确认但平台无数据,查MN和因子编码。
- 抓1014报文:QN、MN、DataTime、PolId逐项对平台档案;CRC16错就重发,不要先改仪表。
- 查平台接收日志:收到但入库失败,让平台侧看因子表和表结构;平台没收到,回到网络层。
- 查仪表状态位:校准、维护、故障先恢复,再对Modbus寄存器值和面板值。
- 补传验证:用CN=2000–2999补一小段历史数据,确认能入库且不被去重误删。
三个容易误判的坑
- 把“连接成功”当成“数据已通”。TCP建链只证明网络可达,HJ212的MN、因子、时间格式任何一项错,平台都会静默丢包。
- 用补传代替实时上传。CN=2000–2999的QN是过去时间,平台按时间戳去重,反复补同一段会“传了没变化”。
- 万用表测4-20mA正常就判仪表正常。电流环正常只说明输出回路通,仪表可能在校准状态或寄存器映射错,数据本身不可用。
FAQ
问:我这个情况到底要不要传?答:平台给你开了MN和因子,实时数据就要传;校准、维护时段按平台要求打Flag,不要直接断电。
问:数采仪显示连接成功,平台就是没数据,先重启哪个?答:先别重启。看发送日志和平台接收日志,确认是没发出去、发了没确认,还是确认了没入库,再动设备。
问:重金属在线监测仪换了探头,数据还是空?答:换探头不改变上传链路。先查数采仪里的因子编码和量程是否跟着改,再看仪表输出状态位。
问:补传历史数据平台收不到,是不是平台坏了?答:先看QN时间段是否已存在、MN是否一致、CN是否在2000–2999范围内。平台去重和因子未开通都会表现为收不到。