污染源在线自动监控数据采集传输仪连接成功但平台没数据

「数采仪显示连接成功,平台就是没数据」——这是现场报障里最常听到的一句。先说结论:污染源在线自动监控数据采集传输仪能不能把数据送上去,取决于链路通、报文对、身份准、时间齐四件事,连接成功只证明第一件。我们处理过的案例里,多数根因集中在三处:现场机地址 MN 与平台备案不一致、设备时钟漂移导致 DataTime 落在无效区间、报文 CRC 校验失败被整包丢弃。

协议层:报文对了才算传了

HJ 212 的报文是「## + 4 位数据段长度 + 数据段 + 4 位 CRC 校验」的结构,CRC 按 16 位计算后转成四位十六进制。长度字段或校验位错一位,平台侧通常直接整包丢弃,不回任何错误提示——现场看到的就是连接正常、数据没有。

数据段里几个字段要盯住:QN 时间戳、ST 系统编码、CN 命令编码、MN 现场机地址、PW 访问密码、CP 数据区。2000–2999 段是数据上传类命令,如实测数据、分钟数据、设备运行状态;1011 是连接请求、1013 是心跳,心跳发出后收不到 1014 应答,链路会被判超时断开;3000–3999 段是参数类命令,比如 3020 这类提取或设置现场机时间的指令,反控失败往往出在这里。

还有一处常被忽略:CP 数据区的 && 包裹是否完整,多条数据拼包时各条之间是否按规范分隔。少一个分隔符,长度字段跟着错,整包作废。

网络层:链路通不等于链路稳

  • 心跳周期内收不到应答,设备按超时次数重连,表现为时不时断一下;
  • 现场出口做了 NAT,映射老化时间短于心跳间隔,长连接被中间设备悄悄回收;
  • 信号强度够但 APN 配错、专网卡走公网、域名解析不到平台地址;
  • 平台侧防火墙未放行约定端口,TCP 握手上不去,日志里全是重连记录。

设备层:数据源头先站得住

  • MN 编码填错或与排口关联表不匹配:平台收到报文却挂不到对应排口,前台展示为空;
  • 设备时钟未同步:DataTime 落在未来或过旧,被按无效数据处理;
  • 仪表侧 RS485 地址冲突、波特率不一致,采到的是 0 或恒定值;
  • 量程、单位、折算系数配置错,数据能传出去但被判异常;
  • 本地存储已满,断链期间的补传数据被新数据覆盖。

平台层:收到了不代表入库了

  • MN 未备案或 PW 密码不匹配,报文被拒;
  • 排口、监测因子未建立关联,数据进了库但界面不显示;
  • 补传标识的处理规则不同,补传数据被单独存放或按无效标记;
  • 平台时区与设备不一致,跨零点数据错位。

为什么先问平台、再看设备、最后抓包

顺序本身就是效率。第一步让平台侧查最近 24 小时有没有收到该 MN 的报文、收了几条、有无校验失败记录,这一步能直接分出根本没上来和上来了没入库两类问题,成本最低。第二步看设备日志里的连接与心跳记录,确认链路是稳定还是反复重连。第三步看本地存储有无积压,判断是实时上传失败还是补传失败。第四步才抓包看原始报文,因为抓包最费事,还要现场配合复现。

每一步的判断与动作

  • 现象:平台无任何报文记录。判断:链路或身份未通过。动作:核对 MN、PW、平台地址与端口,看连接日志有无 1011 应答。
  • 现象:平台有记录但校验失败多。判断:报文结构或 CRC 出错。动作:抓包核对 ## 后的长度与校验位,逐字段检查 CP 区。
  • 现象:连接反复断开。判断:未收到 1014 应答或 NAT 老化。动作:缩短心跳间隔,检查中间设备超时设置。
  • 现象:有数据但时间错乱。判断:设备时钟漂移。动作:下发校时类命令,开启周期性校时。
  • 现象:断链恢复后仍缺数。判断:补传未触发或已超期。动作:检查本地存储与补传策略,确认补传窗口。

三个容易踩的坑

坑一:把连接成功当成传输正常。建链、心跳正常只说明网络层没问题。报文被 CRC 丢弃、被平台判无效,界面上的连接状态一样是绿的。

坑二:只看数据条数,不看时间戳。设备时钟快了几分钟,DataTime 落在平台当前时间之后,不少平台按无效处理。表现就是陆陆续续有、又好像一直缺。

坑三:以为补传能兜底。本地存储容量有限,超过保留条数或超过平台认可的补传窗口,数据就真丢了;补传报文的 QN 与实时上传不同,能否入库还取决于平台的处理规则。

客户常问的四个问题

「我这个情况到底要不要传?」只要属于纳入监控范围的排口,污染源在线自动监控数据采集传输仪就该保持正常上传,与工厂规模无关,具体要求以属地监管口径为准。

「连接灯是绿的,平台没数据,是不是平台的问题?」不能这么判。先让平台查该 MN 的接收记录,一条记录都没有,问题多半在设备侧或链路上。

「换张流量卡能不能好?」日志显示反复重连且信号弱,可以试;如果是 MN 或校验问题,换卡无效。

「改 MN 会不会把历史数据弄丢?」改之前先与平台确认备案信息,并导出本地存储数据;MN 变更后新旧数据可能分挂在两个身份下。