工厂里的设备越来越智能,老板们都想看生产数据、做设备监控、搞预测性维护。但工业现场的设备大多是 PLC(可编程逻辑控制器)控制的,PLC 本身不会主动"说话",要把 PLC 里的数据采集出来上传到云端或者 MES 系统,中间需要不少技术环节。
PLC 数据采集的第一步是搞清楚 PLC 的通信协议。不同品牌的 PLC 用的协议不一样:西门子 S7 系列用 S7 协议(也叫 ISO-TSAP),三菱用 MC 协议,欧姆龙用 FINS 协议,松下用 Mewtocol 协议。还有一些通用的现场总线协议,比如 Modbus RTU/TCP、Profibus、EtherNet/IP。做采集之前,先翻一下 PLC 的手册,确认它支持什么协议、通信口在哪里。
如果 PLC 本身带有以太网口,事情就简单多了。直接用网线连到交换机,通过 Modbus TCP 或者 S7 协议读取寄存器数据就行。但很多老设备的 PLC 只有串口(RS232 或 RS485),这时候就需要一个串口服务器或者工业网关,把串口数据转换成以太网数据。串口服务器不贵,几百块钱一个,但选型时要注意波特率、数据位、停止位、校验方式要跟 PLC 匹配。
工业网关是 PLC 数据采集的核心设备。它一边通过各种协议跟 PLC 通信,另一边把数据标准化后发到云端或者上位机。好的工业网关支持多种协议转换,比如同时采集西门子 S7、三菱 MC、Modbus 的设备,统一转换成 MQTT 或者 OPC UA 协议上传。MQTT 是物联网场景最常用的上行协议,轻量、基于发布订阅模型,适合网络条件不好的工业环境。
OPC UA 是另一个重要的工业通信标准。跟传统的 OPC DA(基于 Windows DCOM,很难跨平台)不同,OPC UA 是平台无关的,支持加密、认证、复杂数据模型,是现在工业 4.0 和智能制造的推荐协议。如果你的系统需要跟国外的 MES、SCADA 对接,OPC UA 几乎是标配。
采集上来的数据怎么处理?首先是边缘计算。网关本地可以做一些数据预处理,比如滤波、单位换算、报警判断,只把关键数据上传,减少网络流量和云端存储压力。其次是时序数据库,工业数据都是带时间戳的,InfluxDB、TDengine 这些时序数据库比传统的 MySQL 更适合存这类数据,写入速度快、压缩率高。
实际工程中坑也不少。第一个是通信不稳定,工业现场的电磁干扰大,网线质量差或者接地不好会导致丢包。建议用屏蔽双绞线,交换机选工业级的。第二个是 PLC 扫描周期的影响,PLC 里的数据只有在扫描周期结束后才会更新,采集频率没必要设得太高,通常 1 秒到 10 秒采一次就够了。第三个是数据安全问题,不要把 PLC 直接暴露在公网,网关和云端之间要加 VPN 或者 TLS 加密。
总结一下 PLC 数据采集的链路:PLC → 通信线(网线或串口线)→ 工业网关(协议转换)→ 网络(工厂局域网或 4G/5G)→ 云平台/上位机。每一步都有选型和技术细节要注意,但只要协议匹配、网络通畅,数据采集本身并不复杂。
下一篇:没有了