我们为山东泰开集团开发无功补偿设备远程监控系统时,整个项目从第一次需求会议到正式上线,经历了 4 个月。这篇文章把这个过程还原出来,供正在调研类似系统的企业参考。
第一阶段:需求调研(2–3 周)
工业监控系统的需求调研比普通软件复杂,因为涉及两端:硬件端(设备、传感器、网关)和软件端(数据展示、报警、报表)。
我们在调研阶段重点搞清楚三个问题:
- 监什么?需要采集哪些参数?电压、电流、功率因数、温度?采集频率是多少?每秒一次还是每分钟一次?
- 怎么报警?超过什么阈值触发报警?报警推送给谁?短信、微信、App 推送?报警需要人工确认吗?
- 谁来看?日常使用的是现场运维人员、远程调度员还是管理层?不同角色看到的信息粒度不同。
这三个问题如果没想清楚,后面的开发一定会返工。很多项目烂尾,根源在需求调研时双方都在讲"大概"。
第二阶段:硬件协议对接(3–6 周)
这是工业物联网项目和普通软件开发最大的不同点。工业设备通常使用以下几种通信协议:
- Modbus RTU / TCP:老牌工业协议,大量 PLC、仪表支持,读取寄存器数据;
- MQTT:物联网标准协议,轻量、适合网络条件不稳定的场景,我们在泰开项目中使用的就是这个;
- OPC-UA:西门子等欧系设备常用,支持更复杂的数据模型;
- 私有协议:部分老旧设备只有厂家私有协议,需要拿到协议文档才能解析。
对接阶段最大的坑是:设备厂家给的协议文档往往不准确。文档说地址 0x0001 是电压,但实际测试发现是电流——这种情况在老旧设备上非常普遍,需要靠抓包和逐个寄存器测试来确认。
另一个常见问题是网络连接。工厂现场的网络条件往往比办公室差得多,设备离线、数据包丢失都是正常情况,系统需要做好断线重连和数据补发机制。
第三阶段:后端系统开发(4–8 周)
后端需要处理几个核心任务:
- 数据接收与存储:高频采集的设备数据量很大,需要用时序数据库(如 InfluxDB)而不是普通的 MySQL 来存储;
- 阈值判断与报警:实时判断采集到的值是否超标,触发对应级别的报警;
- 数据聚合:原始数据按分钟/小时/天聚合,用于历史趋势分析;
- 用户权限管理:不同角色看到不同的设备和数据权限。
第四阶段:前端大屏和管理界面(3–5 周)
展示层通常分两类:
- 调度大屏:在大显示器或拼接屏上全屏展示,重点是一眼看清所有设备状态(正常/异常/离线),用颜色区分,不需要复杂交互;
- 管理后台:运维人员日常使用,需要查看历史曲线、导出报表、配置报警阈值、管理设备档案。
大屏的视觉设计容易走偏:客户常常要求"做得酷炫一点",加很多动画效果。但对运维人员来说,信息密度和可读性比美观更重要。我们的经验是:先让数据看得清楚,再考虑好不好看。
第五阶段:现场联调与上线(1–2 周)
系统在办公室测试通过后,还需要去现场和真实设备联调。现场联调时经常发现的问题:
- 网络环境和模拟环境不一样,连接稳定性不达预期;
- 设备数据抖动严重,需要增加滤波算法;
- 现场操作人员反馈的 UI 问题(字太小、操作步骤太多)。
给自己留出充足的现场调试时间,不要在交付节点前一天才去现场。
泰开项目的结果
山东泰开的无功补偿设备监控系统上线后,覆盖全国 12 个变电站,实时监控 200+ 台设备。运维人员现场出勤次数减少 70%,设备故障平均响应时间从 8 小时缩短至 30 分钟以内。
如果你正在规划类似的工业监控系统,建议在需求阶段就把设备的通信协议文档拿到手,这是整个项目时间表最不确定的变量。欢迎
联系我们咨询。