“污染源在线自动监控数据采集传输仪上显示连接成功,平台那边刷新好几次,一条数据都没有。”这是华东一家化工园区运维工程师上周打电话时说的原话。类似的情况我们每个月都会遇到几起。
先说结论:这类故障里,真正断网的不到三成,多数是应用层的报文没被平台接收或应答。排在第一位的是 MN 设备编号没在平台备案或状态被置为停用;第二位是 CN 命令码、Flag 标志位跟平台侧配置对不上;第三位是历史数据补传被平台限流挡住,新数据能进、旧数据进不去。
连上不等于传上去
污染源在线自动监控数据采集传输仪走的是 HJ 212-2017 那套报文。TCP 三次握手成功,只能说明设备到平台 IP 和端口这条路是通的,跟数据有没有被认下来是两件事。
判断依据很简单:设备上传用 ST=32,平台认下来会回 ST=91。日志里只有发出去的报文、没有回来的 91,这条数据在平台侧就等于没到。所以排查第一步永远是看有没有回执,而不是先怀疑信号。
四层原因,一层层往下剥
协议层
- CN 命令码用错:实时数据是 2011,分钟数据 2051,小时数据 2061,日数据 2031,连接状态上报是 3020。平台侧只开了其中某几类,发错码就只收不应。
- Flag 标志位:bit0 表示有无数据段,bit2 表示是否要求应答。Flag=5 和 Flag=1 在部分平台上处理逻辑不同,配错会被整包丢弃。
- 因子编码:a34013、w01018、w21003 这类编码必须存在于平台因子字典,字典里没有的编码,有的平台直接跳过,有的整包退回。
- CRC 校验:从 ## 之后到 && 之前做 CRC16,附在报文末尾 ## 前面,多一位少一位、大小写错都收不到。
- PW 访问密码、MN 设备编号必须与平台登记完全一致,末尾多一个空格也会被判无效。
网络层
- 专网卡走错 APN,能 ping 通但进不了平台内网。
- SIM 卡欠费、流量池耗尽或被停机保号。
- 平台侧 IP 白名单没加这台设备,端口(常见 21230 或平台自定)未放通。
- 心跳间隔大于运营商 NAT 老化时间,长连接被静默回收,设备侧还显示“已连接”。
- DNS 解析失败,但用 IP 直连能通,问题就藏在域名配置里。
设备层
- RS485 的 A/B 反接、未共地,串口能开但读不到数。
- 串口参数 9600、8N1 与仪表不一致,或两台仪表设了同一个从站地址,抓回来的是另一台表的数。
- 数采仪时钟偏差过大,DataTime 与平台时间差太多,被判为无效数据。
- 本地缓存区写满,新数据覆盖旧数据,补传时自然缺段。
平台层
- MN 未备案,或备案后被置为停用、注销。
- 同一个 MN 被两台设备同时使用,互相把对方顶下线,表现就是时通时断。
- 平台侧限流、黑名单,或接口升级后字段长度变了。
排查顺序本身就是知识
为什么先看回执再查网络?因为 TCP 通不通一眼能看出来,报文对不对必须逐字节对。顺序反了,容易在最不容易出问题的地方耗掉半天。
- 第一步看 ST 应答。现象:有发送无回执。判断:应用层没被认。动作:抓最近一条完整报文,逐字段比对。
- 第二步核 MN、PW、CN、Flag。现象:平台后台能看到设备但显示离线。判断:身份字段不一致。动作:拿平台登记信息逐字核对,含空格。
- 第三步验 CRC。现象:平台日志记“报文格式错误”。判断:校验位算错。动作:用工具重算,确认大小写与位数。
- 第四步查长连接与心跳。现象:白天正常、夜间掉线。判断:NAT 老化。动作:把心跳间隔压到 3 分钟以内再观察。
- 第五步查串口与从站。现象:报文正常但数值恒定或为 0。判断:没读到真实仪表。动作:换表直连、逐台改地址。
- 第六步回平台侧确认。现象:以上都对仍无数据。判断:平台限流或备案异常。动作:让平台方查该 MN 的状态与接收记录。
三个容易踩的坑
- 把“连接成功”当链路正常。面板上的连接状态只看 TCP,不看 91 回执,最容易把人带偏。
- 本地能看到数就以为数据没问题。显示值可能来自缓存,也可能是从站地址冲突抓了别的表。要把平台收到的因子值和现场仪表屏显对照。
- 一出问题就重启数采仪。重启能好一阵,但 MN 冲突、平台限流这些根因没动,过几个小时照样断,还把所有现场证据清掉了。
常见问题
- “我这个情况到底要不要传?”看属地生态环境部门给的通知和平台账号,装了就该传,没装就不用。数采仪不判断该不该传,只负责把数据送出去。
- “换了台新数采仪,还要不要重新备案?”要。MN 变了就是新设备,平台侧不登记,发过去也只会被丢。
- “平台说缺数据,我这边日志显示发了。”看有没有 91 回执。只有发送记录没有回执,等于没送到。
- “补传的老数据平台不收,新的能进。”先看补传数据的时间戳和平台允许的补传时限,再看是不是被限流。这种情况多半跟污染源在线自动监控数据采集传输仪的补传策略配置有关,不是链路问题。
污染源在线自动监控数据采集传输仪本身出硬件故障的概率不高,多数“连上没数据”都能在报文层面找到答案。把回执、MN、CN、CRC 这四样逐条对一遍,剩下的问题基本就跑不掉了。