24 March 2022

当前蓬勃发展的 OPC UA 继承、延续、优化、扩展了老的 OPC 标准。正如其名字“开放平台通信统一架构(Open Platform Communication Unified Architecture )”所暗示的,新的标准更加开放,更加平台中立,更关注通信标准,更加统一。

而老的 OPC 则是 OLE for Process Control 的缩写,而 OLE 则是“对象连接与嵌入” Object Linking and Embedding 的缩写。OLE 是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM)。OLE 从多媒体借鉴而来,是 Windows 的一组服务功能,提供了一种以源于不同应用软件的信息建立复合文档的方法。因此,OLE 只支持 Windows 系统。因为,在上世纪 90 年代,工业领域大部分都在用 Windows 操作系统,因此自动化厂商自然跟随主流,选择微软的 COM 和 DCOM 技术作为数据访问标准。

COMDCOMOPC DAOPC DA 服务器Windows 平台Windows 平台SOAPTCP/IPOPC UA 客户端OPC UA 服务器跨平台跨平台

目前,很多工厂里还运行着大量的 OPC 服务。OPC 标准解决了当时的一个重要困难,即在自动化系统中,实现了不同厂商之间的数据交换,同时定义了一套基础的数据接口。自动化行业按照这个标准运行了 10 多年之后,越来越觉得 COM 和 DCOM 技术限制太多。

第一,严重依赖 Windows 平台。这就导致,OPC 只能在 Windows 系统之间通信,控制系统的下一层级,工业现场侧,只能是各种厂家的不同协议。当然,这一层面也在推进标准化,于是产生了 MODBUS、PROFIBUS、MODBUS TCP、PROFINET等协议。

第二,控制系统北向的企业信息网络,又要使用企业服务总线(ESB)进行数据通信,主要基于 SOA 架构。

第三,COM/DCOM 技术数据建模能力差、性能不稳定、无法穿越防火墙。

于是,在 2003 年 11 月 3-7 日,OPC 基金会召开了第一次 OPC UA 工作组会议,确定了下一代标准 OPC UA,并把老的 OPC 标准改名为 OPC Classic 即经典 OPC。新的 OPC UA 标准的首要目的是从技术层面建立一套基于标准网络协议的通信标准,同时建立一套基础的面向对象信息模型。并且,还要能跨平台、可扩展、满足信息安全需要。