环保数据采集仪连上平台却无数据:先查这四处

「数采仪显示连接成功,平台就是没数据。」这是我们在华东某化工园区现场听到的原话。先给结论:连接成功只说明TCP建链和心跳通了,问题绝大多数落在协议层——CN命令码用错、MN点位编码与平台备案不一致、CP数据段字段缺失或CRC校验被整包丢弃;其次是现场机时间漂移超出平台允许窗口,数据被判为无效。网络不通和协议不对,现象一开始就分得开,先看日志里有没有平台应答包,别一上来就动APN。

为什么「连接成功」不等于「上传成功」

环保数据采集仪和平台之间是两层事:一层是TCP长连接加心跳,一层是包在里面的数据报文。前者通了只代表通道在,后者任何一处字段错位,平台都会静默丢弃,设备端日志往往还是「发送成功」。所以排查的第一动作不是测网络,是翻通信日志看有没有收到应答帧。

协议层:优先怀疑的四项

  • CN命令码错位。上传类命令落在2000–2999,下发类在3000–3999,1000–1999是双向设置。平台用3020提取历史数据,现场机却回2011分钟数据,字段个数和顺序对不上,平台直接解析失败。补传要用2014,不能拿2011顶替。
  • MN点位编码不一致。设备里存的MN和平台备案的差一位、或多一个空格,平台查不到对应排口,丢弃且不回报错。
  • QN时间戳格式与时钟。QN是17位YYYYMMDDhhmmssSSS,位数不够或用了设备本地时间,与平台接收时间比对超窗即判无效。
  • CP数据段与CRC。数据区必须由CP=&&开头、&&收尾,因子如a34013-Rtd、a34013-Flag要成对出现,缺Flag平台按异常处理。包尾CRC的计算范围是##之后到&&之前的全部内容,多算少算一个字符整包就废,日志里通常只写「解析失败」。

网络层与设备层

  • 网络层:端口被封、专网APN切换后未重连、NAT超时导致长连接被悄悄回收、域名解析失败但IP可达。心跳9000的间隔设得过长,链路被中间设备提前断开也会表现为时断时续。
  • 设备层:串口波特率/数据位/校验位与仪表不一致,MODBUS从站地址填错,供电波动导致反复重启,断网期间的本地存储补传功能没开,数据丢了就真没了。

平台层:先别急着甩锅,但要确认

  • 点位未审核或未激活,通道未开放;
  • 平台侧在维护窗口,接收正常但入库延迟;
  • 某个因子设了阈值过滤,超范围数据被拦。

排查顺序本身就是知识

正确顺序是:先看应答帧,再核CN/MN/CP,然后对时间,最后才动网络和仪表。理由是网络故障的表现是「完全连不上」,协议故障的表现是「连得上但没数据」,两者的第一现象不同;一旦顺序反了,最常见的结局是现场把APN改了三四遍、重启了五六次,问题依然在,还破坏了原有的配置基线。每步的判断标准:有应答无数据,查协议;无应答,查链路;链路通但频繁掉线,查心跳与中间设备;数据偶发缺失,查补传与存储。

三个容易误判的坑

  • 看到平台有小时数据就以为正常。分钟数据丢了一大半,小时统计值照样在,等到数据审核或者比对监测阶段才发现缺数,回头补已经补不回来。
  • ping通了就认定网络没问题。ping走ICMP,和平台业务端口的TCP可达性是两件事,端口不通照样ping得通。
  • 改完参数不重启进程。部分环保数据采集仪的配置在启动时加载,改完MN或IP不重启,界面显示改了、实际没生效,运维记录被误导。

常见问题(FAQ)

问:我这个情况到底要不要传?

答:看在哪个环节断的。设备本地有存储、平台侧没收到,属于上传失败,必须补传;设备本地就没存下来,先解决采集,补传无从谈起。

问:数采仪显示连接成功,平台没数据,是不是平台的问题?

答:先看设备日志有没有收到应答帧。有应答还缺数据,多半在CN、MN、CP上;完全没有应答,才轮到链路和平台通道。

问:现场断电重启后数据没了,能补回来吗?

答:要看本地存储和补传有没有开。历史数据补传走的是补传命令,和实时上传的命令码不同,配置里没打开就不会自动补。

问:换了新仪表,上传数值一直是0,怎么回事?

答:先查串口参数和从站地址,再看量程与因子编码是否对应。数值0通常是采不到数,而不是传不出去。