做工业自动化这么多年,我碰到的“老系统对接新平台”的案例简直数不过来。前阵子接了个项目,现场一套老调度系统,设备数据全走OPC DA接口,数据倒是稳定,问题在于上层MES平台只认OPC UA,两边说不上话。当时第一个念头不是去改老SCADA,而是找OPC DA转OPC UA工具软件,这也是现在工业数据传输集成里最常见的一条路径。这篇文章就围绕这套转换思路,把原理、选型、配置和排错完整讲透,特别要把“计算机名不再与opcua配置的计算机名称匹配”这个高频报错讲明白,让搞自动化、干MES集成、做IT/OT融合的朋友少走点弯路。
1. 为什么越来越多人做OPC DA转OPC UA的转换
1.1 OPC DA和OPC UA到底差在哪里
很多刚接触工业通信的人会把OPC DA和OPC UA当成“同一个东西的两个版本”,其实它们完全是两代产物,技术底座都不一样。
OPC DA全称是OPC Data Access,上个世纪90年代基于Windows的COM/DCOM技术构建。它在工业控制领域立下了汗马功劳,WinCC、Intouch、组态王这些老牌组态软件,至今大量现场还在用DA接口对外提供实时数据。但DA的短板也很明显:绑定Windows,依赖DCOM,跨网段访问要配置一大串权限和防火墙规则,穿过网闸更是费劲,数据模型也简单,就是一维的点表,不太适合表达复杂的设备关系。
OPC UA则是一套从底层重写的规范,不依赖COM技术,传输层支持TCP、HTTPS,还能跑在MQTT协议上,天生跨平台,Windows、Linux、嵌入式设备都能跑。UA自带会话加密、证书认证、用户鉴权这套完整的安全机制,数据模型也升级成了面向对象的节点模型,你可以在地址空间里像搭积木一样组织设备、区域、报警、历史数据这些信息。
我把核心差异整理了一个对比表,方便快速理解。
| 对比维度 | OPC DA | OPC UA |
|---|---|---|
| 底层技术 | COM/DCOM,Windows独占 | 独立传输协议,跨平台 |
| 默认端口 | 动态端口+DCOM固定135 | 4840(TCP)或443(HTTPS) |
| 安全机制 | 依赖Windows用户权限,配置复杂 | X.509证书+加密+用户认证,机制完整 |
| 信息模型 | 扁平或层级Item路径,无类型语义 | 对象、变量、方法、事件,语义丰富 |
| 穿透防火墙/网闸 | 困难,需开一堆动态端口 | 支持单端口通信,相对容易 |
| 部署便利性 | 需要专业DCOM配置能力 | 证书+端点配置,逻辑清晰 |
| 厂家支持现状 | 存量系统多,新项目基本不用 | 新系统、边缘网关、云平台主流接口 |
搞清楚了这层关系,所谓“OPC DA转OPC UA”,本质就是做一次协议翻译:一头用OPC DA客户端去连老系统,另一头起一个OPC UA服务端,把数据重新发布出来。这样老设备不用动,上层平台也能用新接口去拿数。
1.2 转换工具解决的典型场景
哪个环节会需要这种转换工具?我梳理了最常见的三类场景。
第一类是老SCADA系统对上层的MES/ERP。很多工厂的核心产线用了十多年的上位机,跑的组态软件只支持DA,但新建的MES、质量管理平台要求数据走OPC UA。没有转换网关,你只能让MES厂商去装一套支持DA的驱动,先不说兼容性问题,光DCOM权限这一关就能耗掉一个礼拜。
第二类是设备数据要上云或者进边缘计算平台。现在的云端工业物联网平台基本都只收OPC UA或者MQTT的数据,而现场PLC、仪表后端的采集站还在用DA接口做历史存储。通过转换工具把DA数据翻译成UA格式再推送出去,是比较平滑的过渡路径。
第三类是系统隔离和安全性
