数据交换技术OPC技术工作原理简述
数据交换技术:OPC技术工作原理简述
参考文献
[1] 李海龙.OPC技术在工业设备互联互通中的应用[J].数字通信世界
[2] 郭瑀.OPC技术在数据采集与监视控制系统中的研究与应用[D].西安电子科技大学
[3] 江城.OPC UA信息模型及其应用[D].太原科技大学
为什么出现OPC?
传统控制系统中,每个系统厂商都必须为不同的硬件开发一个驱动,造成重复开发;不同的软件开发商采用不同协议开发驱动程序,造成驱动程序不一致;由于驱动程序的不同,不同的软件包不能同时访问一个设备。
OPC技术为工控软件制定了一套标准的对象、接口和属性,只要遵守OPC规范,就可实现不同系统间的数据交换。
OPC简介
OPC(OLE for Process Control,用于过程控制的OLE,OLE即Object Linking and Embedding,对象连接与嵌入)是应用于过程控制中的对象链接与嵌入技术。
它是一套组件对象模型标准接口,以微软公司的OLE/COM/DCOM(Object Linking and Embeding/Component Object Model/Distributed COM,对象链接和嵌入/组件对象模型/分布式组件对象模型)技术为基础,采用 客户/客户端 模式,用于在基于 WINDOWS操作平台 的工业应用程序之间提供高效的信息集成和数据交换功能。
简单来讲, 就是定义了一个接口的开发标准,实现了客户端和服务器之间的数据交换 。
OPC技术仅限于windows应用程序间相互交换数据,这与作为OPC技术基础的COM规范和其实现有直接的关系。
OPC组成
OPC访问规范 3.0
OPC技术由两部分组成: OPC服务器和OPC客户端 。
OPC服务器通过与现场设备相对应的驱动服务来读取硬件数据信息,通过标准的OPC接口传送给OPC客户端。OPC服务器可实施读取现场数据,保存至数据库中。通过OPC服务器访问应用数据,可以克服异构网络结构和接口协议之间的差异,上层应用程序无需关心底层的硬件特性以及OPC服务器与硬件通信细节,即可得到生产过程数据。
OPC规范中未OPC服务器规定了两套接口: 定制接口 和 自动化接口 。
OPC服务器必须提供定制接口,而自动化接口可选。定制接口支支持C/C++编写的用户程序的应用,自动话接口则支持更上层的应用:
在OPC规范中,按照功能的不同,规定了以下几种OPC服务器:
- OPC数据访问服务器
- OPC报警和时间服务器
- OPC历史数据访问服务器
- OPC批量服务器
其最基本的服务器为OPC数据访问( Data Access,以下简称DA )服务器。OPC DA服务器采用一种层次结构来组织数据源,共有3类COM对象,分别为 OPCServer(服务器)对象、OPCGroup(组)对象和OPCItem(项)对象 。前两者必须实现。
服务器对象包含服务器信息并作为组队下的容器,组对象包含自身信息和项对象。
OPCServer对象负责OPA DA服务器级的信息管理和获取服务器的状态信息;
OPCGroup对象负责OPA DA客户信息的设定与数据访问;
OPCItem对象用于管理与过程数据源的连接。
OPC数据访问的过程:
OPC DA用户与DA服务器进行连接,建立基本的OPC组和OPC数据项;然后用户通过对以上两类COM对象进行访问,实现对过程数据的访问,最后服务器在响应并处理完用户请求后通知客户。
在设计OPC客户端程序时,需要按由上至下的顺序建立各个对象,对各对象的访问要遵循OPC数据访问规范。
在项对象中,有以下3种属性:Value,Quality,Timestamp。
Value:即项对象值;
Quality:质量,反映了从设备读取数据的品质,可以传递Good(好),Bad(坏)或Uncertain(不确定)的含义;
Timestamp:时间戳,反映了服务器刷新其数据存储区的时间;
OPC在工业网络中的地位
OPC技术是实现控制系统现场设备与过程管理信息交互,实现控制系统开放性的关键技术,同时也为不同现场总线的集成提供了有效的软件实现手段。OPC的作用如下:
现场设备间开放式数据交换的中间件
现场设备商只需开发一套遵循OPC规范的服务器,由服务器与数据源进行通信,获取现场数据,用户端应用程序通过服务器访问现场设备。
异构网段间数据共享的中间件
现场总线至今仍是多种总线并存的局面。每种总线提供各自的OPC服务器和用户端,并且任意OPC用户端可通过一致的OPC接口访问这些OPC服务器,获取各个总线端的数据。
集成工业网络的中间件
在信息集成的过程中,OPC作为连接件,按一套标准的COM对象、方法和属性,提供数据交互服务,可以说OPC是整个工业网络的数据接口规范。
访问专有数据库的中间件
控制软件的专有数据库通常只能调用开发商自主开发的API。若开发商提供一个可以访问该数据库的OPC服务器,当用户访问该数据库时,只需按照OPC规范的要求编写OPC用户端程序即可。
OPC UA简介
OPC UA 是工业4.0 中一个重要的通信协议。
传统OPC标准具有许多缺点,如仅适用于特定的微软平台、难以传输DCOM产生的复杂报文、不同供应商之间的系统缺乏互操作性等。此外随互联网发展对传统OPC也提出了各种新需求,需求分为两类: 分布式系统之间交换数据和交换数据建模 。
为此OPC基金会在2006年发布了OPC UA(Unified Architecture,统一架构)作为上一代的补充,用于解决目前需求。 OPC UA不再依靠DCOM,而是基于面向服务的架构(SOA),OPC UA的使用更简便,已经成为独立于微软平台的OPC。