最近在帮一个客户做多工厂的组态系统规划,过程中踩了不少坑,也想明白了一些事。今天聊聊云边协同架构下,组态系统怎么从"一个厂调通"走到"N个厂快速复制" 。
这个话题看起来是个技术问题,其实本质上是个工程管理问题。
一、先说痛点:为什么多工厂复制这么难?
很多做过单厂项目的团队都有个幻觉——"第一个厂做完了,后面的厂不就是复制粘贴吗?"
真干起来你会发现:
- 设备不一样。同一个集团的不同工厂,PLC品牌可能都不统一,有的用西门子,有的用三菱,有的甚至还有国产PLC混在里面。
- 网络环境不一样。有的厂有稳定的专线,有的厂靠4G/5G,有的厂连公网都不稳定。
- 管理诉求不一样。总部要看的是汇总数据和KPI大屏,分厂要看的是实时工况和报警。
- 人员能力不一样。总部有IT团队能维护,分厂可能连个会配置的人都没有。
这四个"不一样"叠在一起,就决定了你不可能用一套固定方案去套所有工厂。
二、云边协同:不是"云+边",是一种分工哲学
"云边协同"这个词现在满天飞,但很多人理解成了"边缘采数据,云端存数据"。这只是最表层的理解。
真正的云边协同,是把"变化"留在边缘,把"标准"放在云端。
什么意思?
- 边缘层:负责适配本地硬件差异。不同的PLC、不同的协议、不同的网络条件,全部在边缘侧消化。边缘网关或边缘服务器就是那个"翻译官"。
- 云端:负责统一的数据模型、统一的组态模板、统一的告警规则、统一的权限管理。所有"标准化"的东西,全部由云端下发和管理。
这种分工的好处是:新增一个工厂时,你只需要在边缘侧做适配,云端的东西是现成的。
三、我总结的多工厂复制路径(四步法)
第一步:建立"设备抽象层"
这是整个架构的地基。
不管底层是Modbus TCP、OPC UA还是MQTT,在边缘侧都要做一次协议归一化,输出标准的数据点表。我一般推荐统一用MQTT作为边缘到云端的通信协议,原因很简单——轻量、异步、断网可缓存。
实际操作中,边缘网关的选型很重要。市面上能支持多协议转换的边缘网关不少,但你要注意几个点:
- 是否支持断网续传(store-and-forward)
- 本地是否能做简单的数据预处理(滤波、聚合、去重)
- 是否支持远程配置更新(不然每加一个厂都要去现场)
第二步:设计"组态模板体系"
这一步是复制效率的关键。
我的做法是把组态画面分成三层:
| 层级 | 说明 | 复用率 |
|---|---|---|
| 通用模板 | 如:泵站总览、电力系统图、环境监测仪表盘 | 80%以上 |
| 行业模板 | 如:水务工艺流程、生产线状态 | 50-70% |
| 定制画面 | 特定工厂的特殊设备或布局 | 不复用 |
核心思路是:通用的部分做成模板,在云端统一管理和版本控制;定制的部分在分厂级别单独配置。
现在主流的Web组态平台基本都支持模板机制。你在选型的时候要重点看:
- 模板是否支持参数化(同一个模板绑定不同数据源)
- 是否支持云端统一下发和版本管理
- 修改模板后能否批量更新已部署的实例
第三步:搭建"数据同步与汇聚机制"
多工厂场景下,数据同步是个大坑。
直觉上你会觉得"所有数据都往云端传不就行了",但实际情况是:
- 带宽成本:每个工厂每秒几千个数据点,全量上云的带宽费用很吓人
- 实时性要求:本地操作员看的画面必须毫秒级响应,不能等云端转一圈回来
- 断网场景:网络中断时,本地必须能独立运行
所以合理的做法是分级同步:
- 实时数据:只在边缘侧消费,云端只接收聚合后的关键指标
- 告警数据:实时推送到云端,但本地也要有独立的告警展示和处理能力
- 历史数据:按策略定时批量同步,比如每小时或每天一次
- 配置数据:云端下发到边缘,单向同步
这里有个实操技巧:用时序数据库(如TDengine、openGemini、InfluxDB)做边缘侧的本地存储,既能满足本地查询需求,又方便做增量同步。
第四步:建立"运维与部署流水线"
前三步解决的是架构问题,这一步解决的是效率问题。
当你要同时管理10个、50个甚至上百个边缘节点时,手动部署和配置就是噩梦。你需要:
- 统一的边缘节点管理平台:远程监控每个节点的运行状态、资源占用、网络质量
- 配置即代码(Configuration as Code) :所有边缘侧的配置(采集点表、协议参数、告警阈值)都用结构化文件管理,支持版本控制和批量下发
- 自动化部署工具:新增一个工厂时,准备好点表和网络配置,一键部署整套边缘服务
这一步很多团队容易忽略,但它决定了你的复制速度是"一个月一个厂"还是"一周一个厂"。
四、几个实战教训
教训1:别在第一个厂就追求"完美架构"
第一个厂的目标是跑通全链路,不是建设完美系统。很多团队在第一个厂就搞过度设计,结果交付周期拉长,还因为缺少真实场景验证,到第二个厂发现很多设计用不上。
我的建议是:第一个厂用最简单的架构跑通,但要把数据接口设计好。接口对了,后面架构怎么调都行。
教训2:边缘侧一定要能"独立存活"
这个怎么强调都不过分。工厂的网络环境远比你想象得糟糕——施工断网、设备调试关网络、运营商故障……各种原因都可能导致云端连接中断。
边缘侧必须能在完全离线状态下独立运行:本地采集、本地存储、本地展示、本地告警,一个都不能少。云端恢复后再做数据补传。
教训3:组态模板的颗粒度要适中
模板太粗(整个页面一个模板)——灵活性不够,每个厂都要大改。模板太细(每个组件一个模板)——管理复杂度爆炸,拼装起来很痛苦。
我的经验是按功能模块划分模板最合理:一个泵站监控是一个模板,一个电力回路是一个模板,一个环境监测面板是一个模板。这样既有复用性,又保留了组合灵活性。
五、当前市面上的几个方案思路
简单提几个我了解到的方向,供参考:
- 力控FWebSCADA:走云原生路线,采集+存储+服务+平台一体化设计,基于Java跨平台框架,对云边协同的支持比较原生。2025年新发布的版本强化了边缘侧能力,适合工业4.0场景的轻量化部署。
- 亚控KingSCADA/KingFusion:走全栈国产化路线,KingFusion 4.5基于WellinOS工业云操作系统,支持千万级数据点采集。在油气、水利等大型项目中有不少落地案例,比如长庆采油六厂的35万点集中监控。
- 航天科技AIRIOT:走低代码+物联网平台路线,分布式架构支持百万级设备接入,提供了40多种行业模板,强调快速复制和项目交付效率。
- 开源路线:也有团队用Node-RED做边缘编排 + Grafana/自研Web组态做展示层 + EMQX做消息中间件,拼出来的架构灵活性很高,但运维复杂度也高,适合有技术能力的团队。
选型这事没有标准答案,关键看你的团队能力、项目预算和长期规划。
写在最后
云边协同下的多工厂复制,核心不是技术选型,而是架构分层和标准化程度。
技术方案可以换,但如果你一开始就没有把"变化"和"标准"分开,没有建立好设备抽象层和模板体系,后面换什么工具都一样痛苦。
先在一个厂跑通全链路,沉淀出模板和标准,然后再追求复制效率——这个顺序不能反。