“数采仪上两路pH都显示在线,平台上一路数字乱跳,另一路干脆没有。”这是华东某化工园区总排口改造后遇到的情况。先把答案给出来:pH要不要唯一标识码——不需要单独申请。HJ 212报文里并没有给pH留一个独立的身份字段,pH的身份是用“MN号+通道(污染物编码)+DataTime”这三项组合起来确定的。现场真正出问题的,多数是这三项没对齐,而不是缺一个码。
报文里为什么没有“pH身份证”这一项
一条实时数据报文的骨架大致是这样的:QN=20240315103000001;ST=32;CN=1011;PW=******;MN=PS01XXXX01;Flag=4;CP=&&DataTime=20240315103000;pH-Avg=7.26;pH-Flag=N&&,前后再由包分隔符和CRC校验位包住。
可以看到,定位一条pH数据主要靠四项信息:CN=1011(实时数据命令码)、MN(数采仪的设备唯一标识)、CP段里的DataTime(数据时间),以及pH-Avg、pH-Flag这样的参数字段名。整个结构里没有“pH编号”这样的字段。也就是说,平台认的是“哪台数采仪、在哪个时刻、上报哪个参数”,pH探头本身不带身份证。
这就带来一个直接后果:一台数采仪接两支pH,如果两路都往pH-Avg这个字段名里写,报文里就会出现两条字段名完全相同、只有数值不同的记录,平台按后到的覆盖先到的,或者直接判重丢弃。表现出来的就是“一路跳、一路没”。
分层看,问题一般落在这四处
- 协议层:参数字段名重复、污染物编码填错、CP段里&&不配对、CRC校验不过被平台静默丢弃。最常见的是把第二路pH也写成pH-Avg。
- 网络层:TCP长连接建起来了,但心跳(CN=1000)间隔超过平台设定值被踢下线;或者NAT老化后连接假活,设备侧还显示在线。
- 设备层:两支pH在数采仪里被配到同一个采集通道;或者量程、小数位不同,一路0–14、一路0–12,折算后数值对不上。
- 平台层:平台设备档案里只登记了一个pH点位,第二路数据到了没有归属,进不了库。
为什么先看报文,再看网络
这个顺序本身就是经验。链路通不通,发一条CN=1011看有没有回3011应答就能确认;而参数名、编码、MN号这些,只有把原始报文抓出来逐字段比对才看得见。先查网络,最常见的结果是“网络没问题”然后卡住;先查报文,往往十分钟就能定位。
实操顺序建议:抓原始报文→核对MN与平台登记是否一致→核对CP段字段名与平台编码表→看有没有3011应答→最后才查网络与防火墙。
每一步的判断标准和处置动作
- 报文能发出但无应答:判断为平台侧拒收,多半是MN号重复或未备案。动作是在平台设备管理里查该MN是否已被别的数采仪占用,重复的先解绑再重新注册。
- 有应答但数据不进库:判断为字段名或编码不匹配。动作是把CP段字段名逐个对照平台下发的编码表,注意大小写和连接符,pH-Avg与ph-avg在部分平台是两个东西。
- 两路pH数值互相覆盖:判断为通道未区分。动作是在数采仪采集配置里给两支探头分配不同通道号,报文侧用不同参数名或带通道后缀。
- 设备显示在线但平台离线:判断为心跳或连接假活。动作是把心跳间隔调到平台要求范围内,重启网络链路,必要时开启TCP KeepAlive。
- 换探头后数据异常:判断为设备档案未同步。动作是平台侧更新设备信息,重新做一次数据比对。
三个容易踩的坑
第一个坑:以为多一支pH就要多申请一个MN号。MN是数采仪的身份,一台设备一个,不是一支探头一个。给同一台数采仪配两个MN,平台会判重,两路数据互相踢,比不分还糟。
第二个坑:只看“连接成功”就认为通了。TCP建连成功只说明网络层通了,数据有没有落地要看3011应答和平台入库记录。现场很多人卡在这一步,反复重启设备,其实报文早被平台按校验失败丢掉了。
第三个坑:改了一头不改另一头。换了pH探头、改了通道号,只动数采仪不动平台档案,或者反过来。两边版本不一致,数据就在中间悬着,看起来像“时好时坏”。
FAQ
问:我这个情况到底要不要给pH单独一个标识码?
答:不需要。一个数采仪一个MN,pH靠通道和参数名区分。真要区分两支探头,动的是采集通道和参数字段,不是再申请一个码。
问:两支pH量程一样,能不能共用一个通道?
答:不行。共用一个通道,报文里两条记录字段名一样,平台无法判断哪条属于哪个点位,必然覆盖或丢弃。
问:平台说数据收到了,但页面显示离线,咋回事?
答:多半是心跳没按周期发,或者设备状态(CN=3020)没上报。数据报文和状态报文是两条线,缺一条平台就判离线。
问:换了pH探头要不要重新报备?
答:要同步。数采仪侧改配置的同时,平台设备档案里的探头信息、量程、通道都要跟着改,两边对不上就会出现数据异常。
南京昕苒环保的PS-S01数采仪在现场调试时,默认把多路pH的通道号写进配置模板,方便运维对照报文排查。具体参数字段以当地平台下发的编码表为准,不同省份的命名确实不完全一样。