在线PH计数据传不上平台的排查顺序与四个常见坑

上周一位运维工程师发来一句话:“数采仪上显示连接成功,平台就是没数据,pH 那一列一直是空的。”这类问题在售后记录里出现频率很高,结论先说清楚:十有八九不是在线PH计本身坏了,而是数据在“数采仪—平台”这一段被丢掉了——要么 MN 号或因子编码没对上,平台收到了报文却不入库;要么 pH 值的模拟量或 485 通道压根没被数采仪采到,报文里该字段是空值或默认值。带上笔记本先登平台看有没有收到报文,比扛着工具箱到现场拆电极快得多。

故障现象:本地有数,平台没数

典型描述是这几种:数采仪屏幕上的 pH 值跳得挺正常,平台实时数据页刷不出来;或者平台有数但一直卡在某个固定值不动;或者白天有数、夜里断,第二天早上又自己恢复。三种现象指向的原因完全不同,第一种大概率是配置或映射,第二种要怀疑数采仪的数据保持功能,第三种基本是链路空闲被断开。

第一层:平台侧,连接成功不等于数据入库

很多客户到这里就卡住了,因为数采仪界面确实写着“已连接”。要注意,TCP 握手成功只说明网络通到平台端口,不代表平台认这份数据。HJ 212 报文里的几个字段,任何一个对不上,平台都可能静默丢弃:

  • MN:设备唯一标识,一般 24 位。数采仪里填的和平台登记的差一位,平台就找不到这台设备。
  • CN:命令编码,实时数据上传是 2011,分钟数据、小时数据各走各自的命令码,落在 2000–2999 这一段。CN 对了平台才知道这是什么数据。
  • 因子编码:pH 值在废水监测里对应的因子编码常见为 001,但各平台因子表不完全一样,必须以平台后台的因子配置为准。平台因子表里没这个编码,报文明明带着数值,页面照样空白。
  • PW:访问密码,与平台不一致时平台会返回带错误标记的应答,数采仪日志里能看到。
  • QN:请求编码,精确到秒再加四位序号,平台按 QN 去重。补传时 QN 重复,数据会被直接扔掉。

判断动作很直接:在平台后台调出通信报文日志。如果能看到 CN=2011、MN 正确、CP 段里有 pH 因子编码和数值,那平台侧就是映射问题,改配置就行;如果一条报文都没有,直接跳到下一层。

第二层:网络与链路,心跳断在半路

网络层最常见的是“连上了又断”。数采仪和平台之间靠心跳维持长连接,心跳命令是 1000。运营商侧对空闲连接有回收机制,通道静默一段时间后被回收,数采仪若没及时重连,就会表现成夜里断、白天恢复。另一种是现场 4G 信号在弱覆盖边缘,信号格数看着有两格,实际重传率很高,数据发出去但没到。

判断依据是数采仪日志和平台侧的 3020 上传超时记录。3020 是现场机上报数据上传超时的命令,平台收到 3020 就说明链路在超时重传。处置动作一般是把心跳间隔调短到平台允许的范围内,检查 APN 和防火墙策略,4G 现场加外置天线而不是靠机身自带。

第三层:数采仪与协议层,pH 值根本没进报文

这一层是最容易被忽略的。报文能发出去、平台也收到了,但 pH 字段是空的,原因通常在采集端:

  • 4–20mA 接入时,模拟量通道的量程上下限没配。常见约定是 4mA 对应 0 pH、20mA 对应 14 pH,但具体要看在线PH计的量程标签,配错了数值会整体偏移,甚至超量程被数采仪判定为无效。
  • 走 485 时,Modbus RTU 的功能码 03 读保持寄存器,从站地址、波特率、9600-8-N-1 的参数必须与仪表一致,pH 值常以放大 100 倍的 16 位整型存放,CRC 校验错了数采仪就取不到值。
  • A/B 线反接、屏蔽层单端接地没做好,现场有变频器时干扰会直接吃掉读数。

判断动作:数采仪本地页面看原始通道值,而不是看平台展示值。原始值不动或为 0,问题在采集端;原始值正常而报文为空,问题在协议配置。

第四层:在线PH计本体与信号输出

排到最后才查表,是因为这一层成本最高。电极老化、参比液干涸、球泡结垢、高阻信号受潮,都会让读数漂移或反应迟钝,但通常不会“完全没数”。真正导致完全没数的是变送器的输出侧:4–20mA 输出没有标定、量程拨码选错、温度补偿的 PT1000 没接导致变送器保护性输出、供电电压不足。这些用万用表串在回路里量一下电流就能分辨。

为什么排查顺序是这个顺序

先平台、再链路、再数采仪、最后仪表,理由是每一步都在“成本更低、信息更全”的一端。平台报文日志是唯一能证明数据到底走到了哪一步的证据,有报文就说明链路和数采仪都活着,问题范围立刻缩小一半;反过来,先跑到现场拆电极,拆完发现电极好好的,平台的因子映射还是错的。先远后近,是这类故障里最省时间的一条路。

三个容易误判的坑

  • 看到“连接成功”就认定网络没问题。连接成功只证明握手,数据有没有入库要看报文日志和平台入库记录,两件事不能划等号。
  • 看到数采仪和仪表显示一样,就认为数值可信。部分数采仪在采集失败时会保持上一次的数值,仪表那边已经超量程或断线,屏幕上还挂着那个数,两个“一样”其实是同一个错值。
  • 只对比数值,不看 QN 和 Flag。补传时 QN 重复会被平台去重,Flag 里带不带时间戳、要不要应答也会影响入库,光看数值对得上就以为通了,缺数依然存在。

客户常问的四个问题

问:我这个情况到底要不要传?平台说没收到 pH 值,可我现场看仪表是有数的。
要看平台上有没有对应因子的实时数据要求。只要这台设备在平台的监测点位清单里,pH 值就在上传范围内;现场有数、平台没数,属于典型的传输异常,得按上面的顺序查,不能拿“仪表有显示”当结论。

问:数采仪显示连接成功,是不是就说明网络没问题了?
只能说链路通到平台端口了。报文里的 MN、因子编码、密码任一项不匹配,平台都会收下但不入库,看起来就像没传。

问:补传的数据平台不认,显示还是缺数,怎么回事?
多数是 QN 重复或者时间戳格式不对。补传前先看平台那段时间是不是已经收到过同 QN 的报文,被去重之后就不会再入库。

问:pH 值能不能直接走 4–20mA,非得接 485?
能走,但要确认数采仪模拟量通道的量程上下限和在线PH计的输出量程一致,并且现场干扰不大。走 485 的好处是能同时拿到温度补偿值和仪表状态,排查时信息更全。