要把三菱 PLC 的数据送到 MES 或云平台,有两条主流路径。选错了,后期改造成本很高。
路径一:MC 协议直连
MC 协议是三菱自家的通信协议,FX5U、Q、L、iQ-R 都支持,走以太网。优点是简单直接:指定软元件地址(比如 D100、M100),发请求就读到值。延迟低,实现轻,用 Python 或 C# 写个客户端几十行代码就能跑。
缺点是三菱专有,换品牌就得重写;没有语义,你读到的是 D100 这个数字,它代表什么只有你自己知道;没有订阅机制,只能轮询。
路径二:OPC UA
OPC UA 是跨厂商标准,有信息模型,可以把「D100 = 当前工单号」这种语义建模进去。支持订阅,数据变化才推送,不用高频轮询。对接上层系统(MES、SCADA、云平台)时更规范。
代价是需要中间层。三菱的 Q 和 iQ-R 有 OPC UA 服务器模块,FX5U 通常要靠网关或边缘计算盒子做协议转换。多一层就多一个故障点,也多一份成本。
怎么选
单机设备、只采几十个点位、只给一个系统用:MC 协议直连,别过度设计。
整线、上百个点位、要对接多个上层系统、未来可能换品牌:OPC UA。前期投入大,但后期加系统不用重做。
混合方案其实最常见
边缘侧用 MC 协议读 PLC,在边缘网关里做语义建模和缓存,再以 OPC UA 或 MQTT 往上送。这样既保留了直连的低延迟,又有了标准化的上行接口。MQTT 适合上云,OPC UA 适合厂内系统集成。
一个容易忽略的细节
MC 协议读软元件是按地址读的,如果 PLC 程序改了地址分配,采集端就全错。所以要么在 PLC 侧固定一块「通信区」,约定好 D1000 到 D1099 专门给外部读取,程序逻辑不许占用;要么用 OPC UA 的信息模型做一层映射。前者简单粗暴但有效,很多厂就是这么干的。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。