制造企业做设备数据采集,第一个要做的决策不是“选哪个品牌”,而是“走哪条技术路线”。
路线选错了,后面怎么调都是错的。
路线一:传统组态软件
代表:WinCC、组态王、力控。
原理: 组态软件运行在工控机或服务器上,通过驱动连接PLC和仪表,在软件内部完成数据采集、画面组态、报警、趋势、报表。
优点: 成熟稳定,功能全。画面组态、报警、趋势、报表都是现成的,拖拖拽拽就能做出来。适合中大型SCADA项目。
缺点: 贵。一个WinCC的授权可能几万块。而且组态软件是“封闭”的——数据存在它的专有数据库里,要跟MES、ERP打通很麻烦。另外,组态软件的驱动是厂家提供的,不一定覆盖你现场所有的设备品牌。
适合场景: 中大型SCADA项目,预算充足,不需要跟上层系统深度集成。
路线二:Kepware + 自定义应用
代表:KEPServerEX + C#/Python程序。
原理: 用Kepware作为通讯中间件,负责连接各种PLC和仪表。Kepware把数据暴露成OPC UA或者Modbus TCP的标准接口。上层的自定义应用通过OPC UA或Modbus读取数据,存数据库、做界面、做分析。
优点: 灵活。Kepware的驱动覆盖很全,市面上主流的PLC和仪表基本都支持。上层应用可以用任何语言写,数据想怎么处理就怎么处理。
缺点: 需要自己开发。Kepware只解决“采集”的问题,采集之后的数据存储、界面、报表、分析全部要自己写。而且Kepware本身也是收费的。
适合场景: 有开发能力的团队,需要跟MES/ERP/数据库深度集成。
路线三:透传 + 平台解析
代表:DTU透传 + 云平台解析。
原理: 用一个简单的DTU(数据传输单元),把PLC的串口数据或者Modbus TCP数据“透明传输”到云平台。云平台负责解析Modbus协议,提取数据。
优点: 便宜。DTU几十到几百块,比网关便宜得多。部署也简单——插上电、配好网络就能用。
缺点: DTU只透传,不解析。如果PLC的Modbus地址变了,或者要加一个新的寄存器,要在云平台上重新配置,不能本地处理。而且透传模式对网络质量要求高,网络断了数据就丢了。
适合场景: 简单场景、少量设备、网络稳定。
路线四:边缘计算网关
代表:EdgeLiteGateway、NeuronEX、智象九维等。
原理: 在边缘侧部署一个网关,网关负责采集设备数据、本地处理、本地存储,然后把处理后的数据上传到云端。
优点: 数据在本地先处理一遍,上传的是“精炼后的数据”而不是“原始数据”。带宽需求可以降低90%以上。断网的时候数据存在本地,网络恢复后自动补传。而且可以在边缘侧做简单的AI推理——异常检测、趋势预测直接在网关上跑,不需要把数据传到云端再算。
缺点: 比DTU贵,需要配置和管理。
适合场景: 设备多、数据量大、需要本地处理和断网自治的场景。
以EdgeLiteGateway为例,它支持13种工业协议采集,可以在本地做数据预处理和简单的AI推理,网络断了数据先存本地SQLite,恢复后按序重传。
GitHub:suoten/EdgeLiteGateway Gitee:suoten/EdgeLiteGateway
那到底选哪条路线?
场景 推荐路线 中大型SCADA,预算充足 组态软件 需要跟MES/ERP深度集成 Kepware + 自定义应用 少量设备、网络稳定、预算极低 DTU透传 设备多、数据量大、需要断网自治 边缘计算网关 一个容易忽略的关键点: 很多企业一开始选了DTU透传,设备从几台涨到几十台之后,云平台的负载和带宽成本扛不住了。选路线的时候要考虑三年后的设备规模,不要只看当下。
边缘网关选型的几个关键参数
如果确定走边缘计算网关路线,选型的时候看这几个参数:
协议覆盖。 支持Modbus是基础,但现场可能还有S7、MC、FINS、OPC UA、MQTT。协议覆盖越全越好,不然后面加设备的时候要换网关。
边缘计算能力。 能不能在本地做数据处理?能不能跑简单的AI推理?如果只是采集转发,那跟DTU没区别。
断网缓存。 网络断了数据丢不丢?有没有本地存储?恢复后能不能自动补传?
数据转发目标。 支持转发到哪些平台?MQTT、HTTP Webhook、InfluxDB、TDengine?如果只支持MQTT,后面换平台的时候会很麻烦。
部署方式。 Docker部署还是安装包?能不能远程升级?
开源还是闭源。 开源的好处是可以自己改、自己维护。闭源的好处是有厂家支持。看团队的情况选。
关于工具
ProtoForge和EdgeLiteGateway两个项目可以配合使用——ProtoForge在办公室模拟各种工业协议设备,EdgeLiteGateway采集这些虚拟设备的数据。在没有真实设备的情况下,可以先把整个采集链路跑通。
ProtoForge: GitHub:suoten/ProtoForge Gitee:suoten/ProtoForge
EdgeLiteGateway: GitHub:suoten/EdgeLiteGateway Gitee:suoten/EdgeLiteGateway