------记"机械表误纳入远程集采与控制流程"问题的排查与整改
项目背景:某商业综合体水电计费平台,负责广场内数百块电表、水表的建档、集采、计费结算和远程通断电。本文只讲其中一个问题,讲透为止。涉及客户与厂商信息均已脱敏。
一、问题是怎么暴露的
平台上线后不久,运维同事发现一件怪事:
- 实时数据页面里,有一批表长期采不上数,召读永远超时;
- 对欠费商户执行远程断电,指令发出去,平台返回"失败",商户的电却照常在用;
- 计费岗的同事天天被商户投诉,运维岗的同事天天往现场跑,到了现场一看------表在转、电在供、设备没毛病。
半个月里,问题单越积越多,现场派工跑了十几趟,一无所获。最后大家把这些"故障表"的档案拉出来一比对,真相浮出水面:这批表全是老式机械电表------根本没有通讯接口,也不可能被远程控制。
它们从一开始就不该出现在"远程集采"的名单里。
二、问题定位:一层一层剥开
2.1 先确认设备底数
现场勘查确认:这部分表是早期安装的机械电表,纯机械计量,没有 RS485 通讯口、没有脉冲输出、没有阀控继电器。平台上的"召读超时""断电失败",对它们来说不是故障,是物理上就不可能完成的任务。
2.2 再查平台侧的管理流程
对照平台功能和表计档案,我们梳理出这类表的共同身份特征:
- 表计类型:普通表计(即无远程采集能力的机械表)
- 通讯规约:无协议
- 未挂接任何采集网关
问题就出在:平台各个业务环节对这类表的识别和剔除是不统一的------有的环节剔了,有的环节没剔,有的环节剔错了。
| 业务环节 | 当时的表现 | 后果 |
|---|---|---|
| 建档 | 机械表和智能表走同一流程建档 | 机械表混入集采名单 |
| 单体召读 | 未识别机械表,照常下发召读指令 | 永远超时,生成大量无效工单 |
| 批量巡测 | 过滤逻辑不完整,部分任务仍包含机械表 | 巡测报告出现大片"掉线"假象 |
| 实时数据查询 | 查询只展示智能表,机械表天然不显示 | 一线误判为"设备掉线",反复派工 |
| 远程通断电 | 剔除范围划错(详见 2.3) | 该剔的没剔干净,不该剔的误伤 |
| 变比修改 | 无独立流程 | 机械表变比被直接修改,无审批无留痕 |
2.3 整改过程中又踩了一个坑:剔除口径选错了
发现机械表问题后,第一版整改方案是"把无协议的表从远程操作里剔掉"。上线后立刻出了新问题:一些走第三方网关(API 对接类)的正常智能表也被剔掉了------它们由网关侧负责通讯,表计档案上同样没有直连规约,按"无协议"一刀切,把能正常远程通断电的表也给禁了。商户该断的断不了,客诉反而升级。
这个教训很深刻:"协议"是实现细节,"表计类型"才是业务属性。 机械表的本质不是"没有协议",而是"这是一块普通表计"。剔除口径必须锚定在业务类型上,而不是锚定在通讯实现上。
2.4 还有一个隐性炸弹:变比没人管
排查中还发现,机械表的变比修改无人把关------不走审批、不留记录、改完即生效。而智能表的变比是要召读确认后远程下发的。计费结算高度依赖变比,这个口子不堵上,迟早出结算纠纷。
三、整改措施:把"表计类型"立成第一公民
3.1 统一身份判定规则
明确机械表的唯一判定口径:电表 + 普通表计类型 + 无协议 + 未挂接网关。全量排查在库数据,把误建档的机械表单独归类、打标,形成机械表台账。
3.2 全链路按类型剔除
所有远程操作入口统一按"普通表计"类型精确剔除,不再按协议判断:
- 单体召读、批量巡测:机械表直接过滤,不下发指令;
- 远程通断电:机械表请求直接拦截,返回明确提示"该表计不支持远程阀控";
- 实时数据查询:统一按类型过滤,并在操作手册中写明"哪些表计类型不在页面展示",避免再把"查询不显示"当成"设备掉线";
- 平台页面:识别到机械表时,召读、通断电等操作按钮直接隐藏------不给出错的入口,比出错后拦截更可靠。
被误伤的第三方网关智能表随之全部恢复远程能力。
3.3 机械表业务流程独立化
- 建档:机械表走独立建档流程,免审批直接投运(反正它也不产生通讯流量),但从入口就和智能表分开,杜绝"混进来";
- 变比管理 :机械表变比修改强制走审批,审批通过后在平台侧本地生效(它没有通讯通道,本就不存在"远程下发"这回事),全程留痕;
- 数据录入:明确机械表走人工抄表录入通道,抄表周期、录入责任人写进运维规程。
3.4 验证与归档
整改完成后逐项验证并出具测试报告,页面截图、数据核对记录留证,归档到项目文档库。前后对比:无效召读工单清零,机械表相关客诉归零,误伤的网关表远程控制全部恢复。
四、以后如何提前防范
- 设计阶段先出《设备能力矩阵》。每种表计类型支持什么操作(召读/通断电/变比下发/参数设置),一张表写死,开发照着做、测试照着验、业务照着用。能力边界是设计出来的,不是出了问题补出来的。
- 业务规则锚定业务属性,别锚定实现细节。"按表计类型剔除"稳,"按协议剔除"坑多------协议可能为空、可能复用、可能随网关方案变化,只有"这是一块什么表"是稳定不变的。
- 建档是采集的地基,入口就要分流。不同设备类型从建档入口就走不同流程,校验规则各自独立,别指望下游环节替你兜底。
- 把查询和展示规则写进操作手册首页。"查不到"不等于"坏了",这一条讲清楚,能省掉大量无效派工。
- 无通讯能力设备更要管住"人"的环节。智能表出错有记录可查,机械表全靠人工------审批、留痕、台账,一个都不能少。
- 验收清单里加一条"反向验证":不只验证"能操作的表能操作",还要验证"不能操作的表操作不了"。整改的第一版就是在反向验证缺失的情况下上线的。
五、写在最后
这块机械表不会说话,但它用半个月的工单和投诉,给我们上了一课:平台眼里不能只有"能联网的设备",对那些联不上网的设备,更要在一开始就想清楚它们该怎么管。
物联网项目的问题,三分在技术,七分在规则和流程。通讯协议再难也有解法,真正反复出事的,是能力边界没人划、剔除口径选错、流程入口不分。规矩立在前面,后面全是坦途。