数采仪显示连接成功,国发5.0联网却传不上数据

一位华东某化工园区的运维工程师打来电话,原话是:“数采仪屏上一直显示连接成功,数据也在跳,国发5.0联网的平台那边就是没数据。”先说结论:这种“连上了却没数”的情况,九成不是探头坏了,也不是网线断了,问题出在应用层——TCP 通了,但登录报文没过,或者数据传上去了,被数据标记位挡在有效数据之外。先查平台日志和设备日志,别急着上梯子拆仪表。

连接成功不等于联网成功

国发5.0联网走的是 HJ 212 报文,一条数据报文的结构是:## 开头,接 4 位长度,然后是 QN(请求编号,通常是时间戳)、ST(系统编码)、CN(命令码)、PW(访问密码)、MN(设备唯一编码)、Flag(数据标记位)、CP(指令参数),末尾两位 CRC 校验。TCP 建连只是“电话拨通”,上面任何一位对不上,平台都不会落库,设备端却依然显示连接正常。

问题通常只出在四层中的一层

  • 协议层:MN 与平台建档时登记的设备编码不一致,多一位、少一位、大小写不同都算;PW 错误;ST 系统编码用了邻省的规则;QN 时间不是北京时间,超出平台接收窗口;CP 里的因子编码和平台启用的因子表不是同一套。
  • 网络层:专网 APN 没激活或流量卡欠费;平台 IP 变更后设备仍指向旧地址;防火墙放通了 80 没放通业务端口;NAT 会话老化把长连接回收掉,设备又没有自动重连机制。
  • 设备层:串口参数(波特率、数据位、停止位、校验位)与仪表不匹配,取不到数;掉电重启后参数没保存;采集周期设得比仪表输出周期短,读到空值。
  • 平台层:企业没建档或排口未关联;因子未启用;数据审核环节被置为无效;平台按小时或日统计,分钟数据在页面上本来看不到。

排查顺序:从平台往回查

顺序本身就是经验。平台侧日志不花钱、看得见,抓包和改设备参数最费时间,所以先查平台、再查报文、最后动设备。

  • 第一步,看平台有没有该 MN 的连接或登录记录。一条都没有,基本锁定在网络层或 MN 写错。
  • 第二步,有登录记录没有数据,在设备侧抓包,看 2000 系列的分钟、实时数据报文有没有发出去。
  • 第三步,发出去了没有回应,重点核对 MN、PW、ST 三项,再看报文末尾 CRC 是否对上。
  • 第四步,平台有回应但数值为空或为 0,查 Flag 标记、因子编码和串口取数。
  • 第五步,历史数据缺口,用历史补传类命令按时间段补,别指望实时命令把过去的数据捞回来。

每一步的判断标准和处置动作

平台无任何连接记录:判断为链路或地址问题,动作是先 ping 平台 IP、再测业务端口,换一张卡交叉验证。

有连接无数据:判断为发送侧没有触发,动作是看采集周期和设备时钟,确认 QN 时间戳就是当前时间。

有发送无应答:判断为鉴权或校验失败,动作是对照平台建档信息逐字核对 MN 与 PW,抓包比对报文的长度字段和 CRC。

有应答无数值:判断为取数或标记问题,动作是查串口参数、仪表输出状态,看 Flag 是否被标成维护或故障。

平台有数但页面不显示:判断为统计口径或审核状态,动作是切换小时、日视图,再找平台侧确认因子启用情况。

三个最容易误判的坑

  • 把 TCP 连接成功当成联网成功。屏幕上那个状态只说明链路通,不代表登录通过,更不代表数据被平台接收。
  • 改完 MN 或 PW 不重连。参数保存了,旧会话还在跑,现场看是“已经改了”,平台侧仍是旧标识,白白多排查半天。
  • 为了清故障直接给设备断电重启。重启后 Flag 会被打成故障或维护,数据照样上传但不计入有效数据,表现出来就是“平台有数、统计没数”。

客户最常问的四个问题

问:我这个情况到底要不要传?答:只要排口在联网范围内、设备正常运行,数据就要正常上传,不能靠断网规避;具体范围以属地要求为准。

问:屏上显示连接成功,是不是就没事了?答:不是。连接成功只是第一步,还要确认平台侧能查到报文、能看到有效数据。

问:换了个新数采仪,MN 照着旧的抄,怎么还是不上数?答:MN 要和平台登记的一致,新设备还要确认密码、系统编码、因子表都对得上,抄一个字段不够。

问:数据断了两天,还能不能补?答:多数平台支持历史数据补传,用历史命令按时间段补,注意时间戳要落在允许的区间内。