“数采仪显示连接成功,平台上就是没数据,运维说我们掉线了。”这是在江苏某化工园区一家排污企业现场听到的原话。设备是PS-S01,面板链路灯常亮,本地历史曲线也完整,唯独平台端一片空白。
结论先给:这种情况九成不是“没联网”,而是上报报文没通过平台侧校验,被直接丢弃。最常见的两个原因:一是MN(设备唯一标识)与平台登记的不一致,二是CP数据段的CRC校验对不上。平台收不到合法报文,就把这个点位判成离线。
“连上了”和“传上去了”是两件事
数采仪面板上的连接状态,只能说明TCP链路建立成功,或者心跳包(命令码9014)发出去了,它证明不了业务数据被平台接收。真正要看的是一次完整的上报报文,再对照平台回执。很多现场把“链路通”直接等同于“数据通”,后面所有排查方向就跑偏了。
按四层拆:协议、网络、设备、平台
协议层
- MN编码不匹配。现场填的是设备出厂编号或自定义编号,平台登记的是排污口编号,两边对不上,平台按未知设备直接丢弃,不报错、不提示。
- QN时间戳异常。报文头里的QN带完整时间,设备系统时间漂移过大,平台会判定为过期数据或未来数据,整包不收。
- CP数据段CRC失败。校验范围是从第一个&&到最后一个&&之间的内容,多一个分号、少一个字段、编码格式变了,CRC16都会对不上。
- 命令码用错。小时数据走1014,实时分钟数据落在2000–2999区间,平台下发提取用3020。分类用错,平台按不支持的指令拒收。
网络层
- 专网卡APN配置不对,能通公网却进不去平台的VPDN通道。
- 目标IP或端口填错,常见是把测试环境和生产环境搞混。
- 现场防火墙只放行了Ping,没放行业务端口。
设备层
- Flag字段被置成校准(C)或维护(M),部分平台不计入有效数据,页面看着就是“无数据”。
- 数采仪与前端仪表的串口参数不一致,采到的值本身就是空值,上报的是空CP段。
- 断电重启后配置没落盘,参数回到出厂状态。
平台层
- 该点位在平台侧被停用、合并或改了编号,现场还在往老编号发。
- 平台侧对上报频率、单包长度有约定,超限的包被静默丢弃。
排查顺序:先报文,再网线,最后换件
顺序本身就是效率。先看报文能直接区分“发错了”还是“没发出去”,这一步定完,后面就不用瞎猜。
- 第一步,抓一包完整上报报文。判断:MN、QN、CN、PW、Flag五个字段是否齐全,CP段是否为空,CRC是否与数据段匹配。动作:MN和平台登记逐位核对,时间同步到平台侧,CRC失败就回查数据段拼接逻辑。
- 第二步,看平台回执。判断:平台有没有回QN应答,回的是成功码还是错误码。动作:回执正常说明链路和协议都通,问题在数据有效性;无回执则往下走网络层。
- 第三步,测网络。判断:专网卡能否解析平台地址、业务端口能否建连。动作:换一张已知正常的卡对比,端口不通就找网络侧开通。
- 第四步,查设备。判断:串口是否采到值、Flag是否被置位、断电后参数是否丢失。动作:本地导出历史数据,与平台缺失时段比对。
- 第五步,对平台。判断:点位是否仍在用、编号是否变更、频率是否超限。动作:请平台侧确认登记信息,现场同步修改。
三个最容易踩的坑
- 把心跳当数据。看到连接灯常亮就判定网络没问题,实际心跳走的是短包,业务数据走的是长包,长包超长被丢弃时,心跳照样正常。
- 只改现场不改平台。换了MN只改数采仪,平台侧没同步,两边永远对不上,越改越乱。
- 一上来就换卡换设备。链路层没问题时换件,除了增加停机时间,还会把原始报文冲掉,后面再想定位就没了依据。
FAQ
我这个情况到底要不要传?
要看点位在平台侧是否还是有效状态。如果平台已停用该编号,现场继续发也是白发;如果平台仍在用,那就是必须传,先把MN对齐再谈其他。
平台上显示在线,可数据一直是空的,怎么回事?
大概率是CP数据段为空或Flag被置位。在线只代表链路活着,数据段有没有内容、内容算不算有效,是另一回事。
换了新设备,配置照抄老设备,为什么还是不行?
老设备的MN往往和新设备不同,照抄等于用旧身份上报。另外新设备的系统时间和串口参数也要单独确认。
现场看着一切正常,运维那边却说掉线,信谁的?
信平台回执。面板状态、本地曲线都只是设备自己说的,平台有没有收到合法报文,才是能对外的依据。江苏环保数采仪在现场部署时,建议上线第一天就把首包报文和平台回执留存归档,后面出问题能省很多时间。