目录

数据交换技术OPC技术工作原理简述

数据交换技术:OPC技术工作原理简述

参考文献

[1] 李海龙.OPC技术在工业设备互联互通中的应用[J].数字通信世界

[2] 郭瑀.OPC技术在数据采集与监视控制系统中的研究与应用[D].西安电子科技大学

[3] 江城.OPC UA信息模型及其应用[D].太原科技大学

传统控制系统中,每个系统厂商都必须为不同的硬件开发一个驱动,造成重复开发;不同的软件开发商采用不同协议开发驱动程序,造成驱动程序不一致;由于驱动程序的不同,不同的软件包不能同时访问一个设备。

https://i-blog.csdnimg.cn/blog_migrate/da98b9481d345a04b101cfb8f28779c3.png

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访问规范 3.0

OPC技术由两部分组成: OPC服务器和OPC客户端

OPC服务器通过与现场设备相对应的驱动服务来读取硬件数据信息,通过标准的OPC接口传送给OPC客户端。OPC服务器可实施读取现场数据,保存至数据库中。通过OPC服务器访问应用数据,可以克服异构网络结构和接口协议之间的差异,上层应用程序无需关心底层的硬件特性以及OPC服务器与硬件通信细节,即可得到生产过程数据。

https://i-blog.csdnimg.cn/blog_migrate/ffd05b0c08c42a4f9cc3275764c86429.png

OPC规范中未OPC服务器规定了两套接口: 定制接口自动化接口

OPC服务器必须提供定制接口,而自动化接口可选。定制接口支支持C/C++编写的用户程序的应用,自动话接口则支持更上层的应用:

https://i-blog.csdnimg.cn/blog_migrate/c8670d850e5ece6b4b4ca9baddd6d74b.png

在OPC规范中,按照功能的不同,规定了以下几种OPC服务器:

  1. OPC数据访问服务器
  2. OPC报警和时间服务器
  3. OPC历史数据访问服务器
  4. OPC批量服务器

其最基本的服务器为OPC数据访问( Data Access,以下简称DA )服务器。OPC DA服务器采用一种层次结构来组织数据源,共有3类COM对象,分别为 OPCServer(服务器)对象、OPCGroup(组)对象和OPCItem(项)对象 。前两者必须实现。

服务器对象包含服务器信息并作为组队下的容器,组对象包含自身信息和项对象。

https://i-blog.csdnimg.cn/blog_migrate/8a93b16789a9633dd3d223c7a76096dd.png

  1. OPCServer对象负责OPA DA服务器级的信息管理和获取服务器的状态信息;

  2. OPCGroup对象负责OPA DA客户信息的设定与数据访问;

  3. OPCItem对象用于管理与过程数据源的连接。

    https://i-blog.csdnimg.cn/blog_migrate/c43d37c881e0eba963b167e90606ce44.png

    OPC数据访问的过程:

    OPC DA用户与DA服务器进行连接,建立基本的OPC组和OPC数据项;然后用户通过对以上两类COM对象进行访问,实现对过程数据的访问,最后服务器在响应并处理完用户请求后通知客户。

在设计OPC客户端程序时,需要按由上至下的顺序建立各个对象,对各对象的访问要遵循OPC数据访问规范。

在项对象中,有以下3种属性:Value,Quality,Timestamp。

  1. Value:即项对象值;

  2. Quality:质量,反映了从设备读取数据的品质,可以传递Good(好),Bad(坏)或Uncertain(不确定)的含义;

  3. Timestamp:时间戳,反映了服务器刷新其数据存储区的时间;

    https://i-blog.csdnimg.cn/blog_migrate/6ca0912fdf52cb59c7e88777ccda99f9.png

OPC技术是实现控制系统现场设备与过程管理信息交互,实现控制系统开放性的关键技术,同时也为不同现场总线的集成提供了有效的软件实现手段。OPC的作用如下:

  1. 现场设备间开放式数据交换的中间件

    现场设备商只需开发一套遵循OPC规范的服务器,由服务器与数据源进行通信,获取现场数据,用户端应用程序通过服务器访问现场设备。

  2. 异构网段间数据共享的中间件

    现场总线至今仍是多种总线并存的局面。每种总线提供各自的OPC服务器和用户端,并且任意OPC用户端可通过一致的OPC接口访问这些OPC服务器,获取各个总线端的数据。

  3. 集成工业网络的中间件

    在信息集成的过程中,OPC作为连接件,按一套标准的COM对象、方法和属性,提供数据交互服务,可以说OPC是整个工业网络的数据接口规范。

  4. 访问专有数据库的中间件

    控制软件的专有数据库通常只能调用开发商自主开发的API。若开发商提供一个可以访问该数据库的OPC服务器,当用户访问该数据库时,只需按照OPC规范的要求编写OPC用户端程序即可。

OPC UA 是工业4.0 中一个重要的通信协议。

传统OPC标准具有许多缺点,如仅适用于特定的微软平台、难以传输DCOM产生的复杂报文、不同供应商之间的系统缺乏互操作性等。此外随互联网发展对传统OPC也提出了各种新需求,需求分为两类: 分布式系统之间交换数据和交换数据建模

为此OPC基金会在2006年发布了OPC UA(Unified Architecture,统一架构)作为上一代的补充,用于解决目前需求。 OPC UA不再依靠DCOM,而是基于面向服务的架构(SOA),OPC UA的使用更简便,已经成为独立于微软平台的OPC。