目录
简介
EntireX DCOM
Utgard
OPC XML DA
OPC UA
协议转换代理
简介
本文介绍OPC DA跨平台通讯的几种方案。
OPC官方说明文档
OPC(OLE for Process Control)是为过程控制专门设计的OLE 技术,基于COM/DCOM的数据访问的标准。常说的OPC通讯,通常指OPC DA(OPC Data Access),是基于OPC标准的数据访问接口。由于COM/DCOM依赖于Windows系统, 使得OPC COM接口很难被应用到其他非Windows的操作平台上,使得工业互联受到很大的限制。
下文介绍几种跨平台方案,所谓OPC跨平台,目前主要指的是Windows与Linux平台之间的OPC通讯。
EntireX DCOM
EntireX DCOM:DCOM 在 Linux 下有多种实现版本,以Software AG 公司与微软合作开发的 EntireX DCOM 软件开发包最为流行。在Linux上安装EntireX DCOM,并启用 DCOM 功能,Linux上的客户端程序,可以与 Windows 平台上的 OPC服务器通信。
Utgard
Utgard :Utgard 是一个开放源码项目,提供了Java 语言编写的 OPC 库文件。利用 Utgard 库文件,可以开发符合 OPC DA 2.0规范的客户端。 Utgard由openscada-opc-dcom、openscada-opc-lib 2个库组成。其中,openscada-opc-dcom库使用j-Interop 实现了 DCOM功能,j-Interop 是一个实现了 DCOM wire protocol (MSRPC)的开源类包。openscada-opc-lib 库则是简化了的 OPC 接口程序,可以很方便用 Java 开发 OPC 客户端。
OPC XML DA
OPC XML DA:为解决OPC跨平台通讯,OPC基金会制定了OPC XML标准,就是对原有OPC Server进行功能扩展。由于XML具有良好的跨平台通用性,广泛应用于Internet应用,且很容易穿透防火墙,使得OPC DA能够跨平台或在互联网上得到应用。OPC XML DA基于XML的web技术,采用SOAP作为对应用程序共享消息进行包装的通讯协议,实现OPC Server和OPC Client之间通过Http协议传输数据,使得数据很容易在不同平台间传输,并轻易实现在Internet上发布OPC数据。
OPC UA
OPC UA:基于COM/DCOM的技术有着不可根除的缺点,例如安全性不高、应用平台受限等。OPC基金会又推出OPC UA(Unified Architecture,统一架构)新一代OPC规范。相较于OPC Classic,OPC UA在数据安全性、跨平台性、扩展性等方面有着更好的表现,这使得越来越多的企业开始考虑将现有的OPC Classic升级到OPC UA,以满足更高的数据传输性能和安全要求。比如选择Softing的dataFEED OPC Suite软件作为OPC UA通信的中间件,将现场OPC Classic服务器升级到OPC UA服务器。
OPC UA(OPC Unified Architecture),基于OPC统一架构的时间敏感网络技术 ,是一个新的工业软件接口规范,其目的在于提出一个企业制造模型的统一对象和架构定义,具有跨平台、增强命名空间、支持复杂数据内置、大量通用服务等新特点。
OPC UA 规范包含核心规范部分与存取类型规范部分,其中核心规范部分包括
OPC UA Data Access
OPC UA Alarms and Conditions
OPC UA Programs
OPC UA Historical Access
存取规范部分包括:
OPC UA Security Model
OPC UA Address Space Model
OPC UA Services
OPC UA Information Model
OPC UA Service Mappings
OPC UA Profiles
和现行OPC一样,OPC UA 系统结构包括 OPC UA 服务器和客户端两个部分, 每个系统允许多个服务器和客户端相互作用。
由于OPC UA技术具备优秀的信息建模、通信传输、跨平台等能力,使得数据采集、信息模型化、系统通信更加安全、可靠。这决定了OPC UA将在多广泛的技术领域获得应用,如IEC发布的智能电网标准化Roadmap将OPC UA技术作为重要的支撑标准,德国工业4.0也将OPC UA作为支撑技术之一。所以,OPC UA技术将作为重要的信息集成标准,在信息领域获得广泛应用。
协议转换代理
协议转换代理:将OPC转换成TCP协议,由于TCP协议天然的跨平台特性,使得转换后的协议可以很方便地在两个异构平台之间传输数据。用户可以自己开发OPC 代理,其本质是OPC Client,从OPC Server获取数据,并将数据封装成标准的TCP协议,或者自定义的TCP协议。该OPC代理运行在OPC Server上,Linux客户端与OPC代理通讯达到与OPC Server间接通讯的目的。