现象:数采仪说“连上了”,平台两条曲线是空的
“数采仪屏幕上显示连接成功,平台就是没数据,总磷总氮两条线全是断的。”这是我们在华东某化工园区一家排污企业现场听到的原话。设备是 PS-S01 环保数采仪,下挂一台总磷总氮在线监测仪,走 RS-232 输出。现场运维人员已经重启过数采仪、换过一张流量卡,问题依旧。
结论:原因基本不在网络,而在报文里“没有平台认的总磷总氮”
先说答案。数采仪显示“连接成功”,只代表它把 TCP 连到了平台指定的 IP 和端口,跟数据能不能入库是两件事。我们处理过的这类故障,占比最高的原因是:报文确实上去了,但污染物编码、命令码或者 Flag 标志位跟平台侧的字典对不上,平台收到后按无效数据丢弃,界面上就什么都不显示。真正是网线断、卡欠费导致的,反而好判断。
原因分四层看
协议层:最常见的出错位置
- 污染物编码不对。按 HJ 212 体系的编码规则,总磷是 w21011,总氮是 w21001。有些现场配成了氨氮 w21003,或者沿用了厂家自定义的老编码,平台字典里没有这一项,收到也不落库。
- 命令码用错。实时数据上传一般走 CN=1011,历史数据补传走 CN=2051,设备运行状态走 CN=3020;2000–2999 这一段是平台上位机下发、现场机应答用的。拿 1011 去发历史数据,平台会按实时数据的时间戳规则校验,对不上就不收。
- Flag 标志位。CP 数据区里写的是 w21011-Rtd=0.35,w21011-Flag=N 这样的形式,N 是正常,标成 F(故障)、M(维护)、S(校准)时,不少平台会入库但不画曲线。
- QN 时间戳。QN 是 17 位,格式 yyyyMMddHHmmssSSS。设备时钟跑偏一两个小时,平台就判成“未来数据”或“过期数据”,直接过滤。
- CRC 校验。报文尾部带 4 位十六进制校验码,数据区必须是 CP=&&……&&,少一个 & 或者拼接时字符集变了,校验就算不过,平台侧表现为连接被断开。
网络层:多见于“假在线”
- TCP 长连接被中间的 NAT 或防火墙静默回收,数采仪本地还认为自己连着,实际已经发了没回应。
- 心跳间隔设得太长。常见默认值在 5 分钟左右,个别现场被设成 30 分钟,链路早被回收了。
- 4G 信号弱、APN 配错、专网端口被限制,这类问题通常表现为时通时断。
设备层:仪表本身没出数
- 缺试剂、消解温度没到、比色池脏、量程超限,仪表输出的是 0 或者一直保持上一次的测量值。
- 单位不一致。总磷总氮在线监测仪有的按 mg/L 输出,有的按 μg/L 输出,数采仪没做换算,平台收到的数值差 1000 倍,直接被有效性规则判掉。
- 串口参数不匹配:波特率 9600、8N1、从站地址设错,数采仪读不到数就会一直发上一次的缓存值。
平台层:现场怎么改都没用
- 平台侧的污染物字典里没配 w21001、w21011,或者配的参数名和报文对不上。
- 数据有效性规则把 0 值、恒值判为无效。
- 补传有时间窗口,部分省份只接受近期若干天内的补传数据,超过就拒收。
排查顺序:先协议、后网络,先平台、再现场
顺序本身就是经验。协议层的问题在办公室看日志就能确认,改一条配置十分钟;跑一趟现场的成本是半天起步。所以顺序一定是:先看平台侧收到了什么,再看数采仪发出的是什么,最后才怀疑网络和仪表。
| 现象 | 判断 | 动作 |
|---|---|---|
| 数采仪显示连接成功,平台无总磷数据 | 报文里可能没有 w21011 | 打开数采仪通信日志,看 CP 数据区有没有 w21011-Rtd 字段 |
| 报文里有 w21011,平台仍不显示 | 平台字典或参数名不匹配 | 让平台方核对污染物编码与单位配置 |
| 数据有,但一直是 0 或固定值 | 仪表未出数,或 Flag 被标成 F、M、S | 查仪表运行状态、试剂余量、消解温度,核对 Flag 位 |
| 时通时断,日志里连接反复重建 | 长连接被中间设备回收 | 缩短心跳间隔,开启断线重连,改用心跳保活 |
| 补传后平台仍缺数 | QN 时间戳超窗或重复 | 核对设备时钟,确认平台补传时限 |
| 平台侧提示校验失败或直接断链 | CRC 或 && 配对错误 | 检查报文拼接与字符集,重新下发配置 |
三个容易误判的坑
坑一:ping 通就当网络没问题
ICMP 能通,不代表那条 TCP 长连接还活着。中间设备把空闲连接悄悄回收,是这类故障里非常典型的情况。判断方法是看数采仪日志里有没有收到平台应答,而不是看 ping 结果。
坑二:数采仪屏幕上有数值,就当仪表正常
屏幕显示的可能是上一次读到的缓存值,也可能是单位没换算的原始值。真要判断,得看这台总磷总氮在线监测仪本机的测量记录和状态码,而不是数采仪的显示界面。
坑三:补传时顺手把设备时钟改了
有人发现数据时间对不上,直接把数采仪时间往前调,结果 QN 时间戳全部变成过去时间,平台按重复数据或超窗数据处理,越补越乱。时钟要先和平台对齐,再补传。
常见问题
我这个情况到底要不要传?
只要属于排污许可管理范围内的排放口,装的总磷总氮在线监测仪一般都要联网上传。具体到某个口子传不传,以属地生态环境部门给你们的联网要求为准,别自己判断。
平台显示在线,数据一直是 0,是不是数采仪坏了?
先别换设备。看一下报文里的 Flag 位,再看仪表是不是在缺试剂或者消解没到温的状态。数采仪只是转发的,仪表给 0 它就发 0。
我们这边说缺数,可数采仪日志里都是成功的,怎么回事?
“发送成功”和“平台入库成功”不是一回事。要看平台回的应答报文,以及平台侧的原始报文查询。很多时候是编码对不上,平台收了但没存。
总磷总氮在线监测仪换了新表,编码要改吗?
要。新表的量程、单位、小数位都可能和旧表不同,数采仪里的量程换算和污染物编码要重新对一遍,尤其是从 μg/L 换成 mg/L 的情况。