“数采仪显示连接成功,平台就是没数据。”这是我们在华东某化工园区运维群里最常见的一句话。先给结论:VOC在线监测系统出现这种“假在线”,最可能的原因不是断网,而是上传报文里的 MN、ST 或污染物编码与平台侧配置对不上,或者 Flag 标志位被置为无效,平台收到包后直接丢弃。先看平台原始报文日志,比先换物联网卡有效得多。
故障分层:协议层、网络层、设备层、平台层各查什么
协议层
- 先看命令码。实时数据常见 1014,历史数据补传走 2000–2999,设备状态常见 3020。平台日志里如果连这些命令码都没有,问题不在协议字段。
- 再看报文字段:QN 请求编号、ST 系统编码、CN 命令编码、PW 访问密码、MN 设备唯一标识、Flag 标志位、CP 指令参数、DataTime 数据时间。MN 与平台注册不一致,包会被拒收。
- 数据段以 && 分隔,包尾带 CRC 校验。CRC 错、密码错、系统编码错,都可能表现为“连接成功但无数据”。
网络层
- 检查 APN、专网卡定向、平台白名单、端口和 DNS。TCP 长连接建立只说明链路通,不代表应用层报文被平台接收。
- 看设备发送计数是否增长。发送计数涨、平台无日志,优先查白名单和端口;发送计数不涨,查设备任务和串口。
设备层
- RS485 的 A/B 线反接、波特率不一致、采集周期被改,都会让数采仪“有连接、无数据”。
- VOC 在线监测系统前端预处理、采样阀、4–20mA 量程也要看,但这类问题通常表现为数据恒值或超量程,不是完全无包。
平台层
- 平台未注册 MN、排口未启用、污染物编码未勾选,都会导致原始报文有、页面无数据。
- 还要看小时数据是否生成、入库是否有延迟、数据是否被标记为无效。分钟数据正常不代表小时数据正常。
排查顺序:为什么先平台、再设备、后网络、最后协议
平台原始报文是唯一裁判。第一步看平台有没有收到包:有包无数据,查协议映射和 Flag;无包,再回设备看发送计数。第二步看设备发送计数是否增长:增长说明设备在发,问题在链路或平台准入;不增长说明设备侧没发。第三步才查网络,因为换卡、改 APN 成本高,容易把简单问题复杂化。最后核对协议字段,避免只改设备不改平台。
每步的判断标准和处置动作
| 现象 | 判断 | 动作 |
|---|---|---|
| 平台无任何原始报文,设备发送计数不增长 | 设备侧未发送或串口无数据 | 查采集任务、RS485 接线、波特率,重启采集进程后看计数 |
| 设备发送计数增长,平台无报文 | 网络准入或端口白名单问题 | 核对 APN、专网卡定向、平台白名单和端口,抓包看是否有 SYN 或 RST |
| 平台有报文,页面无数据 | MN、ST、污染物编码或 Flag 不匹配 | 比对平台注册信息与设备参数,重点看 MN 和 Flag 是否为 N |
| 分钟数据有,小时数据无 | 小时数据未生成或数据有效率不足 | 查平台小时统计任务、DataTime 对齐和缺测标记,必要时用 2000–2999 补传 |
三个容易误判的坑
坑一:连接成功就认为网络正常
TCP 连接成功只证明链路建立。平台如果因为 MN 未注册直接丢弃报文,设备侧仍显示连接成功。判断要看平台原始报文,不是看连接状态灯。
坑二:分钟数据正常就认为上传正常
VOC 平台很多考核看小时均值。分钟数据齐,但小时数据因缺测、Flag 无效或统计任务未跑而没有生成,页面照样空白。先看小时数据生成记录。
坑三:只改设备参数,不改平台配置
现场换了数采仪或改了 MN、ST,只改设备不改平台,平台会把新包当未知设备。正确做法是两边同时核对,改完用一条实时数据命令码 1014 验证。
FAQ
问:数采仪显示连接成功,平台就是没数据,到底先查哪?
先查平台原始报文日志。有报文就查 MN、ST、污染物编码和 Flag;没有报文再查设备发送计数和网络白名单。
问:我换了物联网卡,能 ping 通但平台还是不收,怎么回事?
ping 通只说明网络可达。重点看专网卡是否定向到平台、平台白名单是否加了新卡 IP、端口是否放行,以及 MN 是否被平台注册。
问:分钟数据有,小时数据没有,是不是设备坏了?
不一定。先看平台小时统计任务和 DataTime 对齐,再看分钟数据是否缺测、Flag 是否有效。设备侧发送计数正常时,优先查平台统计和补传。
问:平台说数据无效让我补传,补传命令码是多少?
历史数据补传一般走 2000–2999 命令段,按平台要求带 DataTime 和 Flag。补传前先确认设备时间与平台一致,避免补传后仍被判无效。