工地扬尘噪声监测数据传不上平台,八成是MN号没对上

“数采仪屏幕上明明显示已连接,平台那边翻遍了就是找不到我们工地的数据,是不是设备有问题?”这是工地扬尘噪声监测项目里我们被问得最多的一句话,提问的多是刚接手现场的运维工程师。

先说结论:TCP连上不等于数据传上去了。这类故障九成以上出在协议层——设备编号MN和平台台账对不上,或者报文发过去了,平台在字段校验那一步判为无效直接丢掉,不回任何错误码。设备硬件坏掉的比例很低:数采仪还能显示连接状态,说明4G模块、物联网卡、主程序都在跑。

一、先把“连接成功”这四个字说清楚

数采仪显示连接成功,只代表设备到平台IP和端口这条TCP链路建起来了。HJ 212-2017的报文结构是:“##”开头 + 4位数据段长度 + 数据段 + 4位CRC校验 + 回车换行。平台收到包以后,要先核对长度对不对、CRC对不对、MN是不是它库里有的设备、ST系统编码和PW访问密码是不是它认的,任何一项不过,多数平台的处理方式是静默丢弃。

所以现场看到的是“连上了”,平台看到的是“没这个人”。这两句话描述的是同一时刻的同一台设备,只是站在了不同的层。

二、四个层面拆开看

  • 协议层(先查这里):MN编号和平台台账差一位;CN命令码用错,平台要分钟数据、现场只发实时数据;数据段长度没补足4位;CRC写成小写或漏了前导0;CP段里的参数编码没按平台下发的参数表来;Flag数据标记位缺失。
  • 网络层:心跳1000没按周期发,中间防火墙或运营商NAT把空闲长连接回收了;物联网卡是定向卡,白名单里没有这个平台IP或端口;设备多网口时默认路由走错;平台换过地址,现场还配着旧域名。
  • 设备层:扬尘或噪声探头RS485掉线,CP段里对应参数没值,整包被判无效;数采仪本地时钟漂移,数据时间比平台快几分钟;现场断电重启后上传程序没自启。
  • 平台层:项目在平台侧没审核、没启用;平台升级改过参数表或端口;平台的有效数据规则把缺项或超标记录整条筛掉。

三、为什么先查这个、后查那个

顺序本身就是经验。先查MN,再查平台有没有收到包,然后才动网络,最后才怀疑探头。

理由是成本:MN在设备菜单和平台台账上各看一遍,两分钟的事,而且它出错时的表现和断网一模一样,都是“平台没数据”;网络排查要抓包、要联系运营商、要跑现场,耗时最长。把顺序倒过来,最常见的结局是折腾半天换了张卡、换了个天线,问题还是那个写错的MN。

四、每一步的判断标准和处置动作

  • 现象:数采仪显示已连接,平台设备列表里查不到该MN。判断:MN未登记或写错。动作:核对平台台账与设备菜单里的MN,改完重启上传进程。
  • 现象:抓包能看到“##”开头的报文,但收不到平台回应。判断:CRC或数据段长度不合法被丢。动作:用工具复算CRC,确认长度是4位、报文结尾有回车换行两个字节。
  • 现象:平台有报文记录,但标记为无效或缺项。判断:CP段参数编码与平台参数表不一致,或某一路探头没数据。动作:按参数表逐项对,先修485掉线的那一路。
  • 现象:白天正常,凌晨必断。判断:长连接被中间设备回收,心跳没配好。动作:按平台要求设置心跳周期和1013命令里的超时时间与重发次数。
  • 现象:数据时间比平台时间快出几分钟。判断:本地时钟未校准。动作:用平台的1011、1012校时命令对时,并开启定时校时。
  • 现象:现场仪表有数,平台显示0。判断:数采仪读取的寄存器地址或协议类型配错。动作:用串口工具直连探头读一遍原始数据做比对。

五、三个最容易踩的坑

  • 把“连接成功”当链路健康的证明。TCP建立之后可能早就成了半开连接,心跳发出去没有回音,设备端界面上却还挂着“在线”。
  • 只测一个参数。扬尘有数、噪声为0,很多人第一反应是噪声探头坏了,其实是CP段缺项,平台整包判无效,两个参数一起“消失”。
  • 用手机能上网就认为设备能通。物联网定向卡、专用APN、不同网段的默认路由,跟手机完全不是一回事。

六、工地扬尘噪声监测的几个常见问题

  • “我这个情况到底要不要传?”看属地主管部门给的要求和工地类型,重点区域、规模以上工地一般都要接入;接哪个平台、传哪些参数,以对接文档为准。
  • “数采仪显示连接成功,平台就是没数据,到底是谁的问题?”先对MN和参数表,这两项占了大多数;对完还不行,再抓包看平台有没有回包。
  • “为什么晚上老是断,白天好好的?”夜间数据量小,长连接空闲被回收,把心跳和重发参数配对,多数能解决。
  • “平台说数据无效,可现场仪表都有数,怎么回事?”无效多半是缺项、时间戳异常或标记位不对,不是仪表没读数。

工地扬尘噪声监测的上传故障,说到底是一个“分层定位”的活。把协议层、网络层、设备层、平台层分开看,按成本从低到高排排查顺序,绝大多数问题在一杯茶的工夫里就能锁定方向。