记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

技术分享:工业控制协议介绍之OPC协议

2018-06-12 18:45

OPC全称是OLE for Process Control,即用于过程控制的OLE,是针对现场控制系统的一个工业标准接口,是工业控制和生产自动化领域中使用的硬件和软件的接口标准。基于微软的OLE(现在的Active X)、COM(部件对象模型)和DCOM (分布式部件对象模型)技术,OPC包括自动化应用中使用的一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。提供工业自动化系统中独立单元之间标准化的互联互通,顺应了自动化系统向开放、互操作、网络化、标准化方向发展的趋势。

OPC体系结构

OPC 规范中,对 OPC 的体系结构做了详细说明。

OPC规范包括:OPC数据访问规范、OPC报警和事件规范、OPC数据交换规范、OPC历史数据访问规范、OPC批处理规范、OPC安全性规范、OPCXML规范。现在成熟并发布的OPC规范主要包括数据存取规范、报警和事件处理规范以及历史数据存取规范。

基于OPC的软件结构如图:

像所有的COM实现一样,OPC的结构是客户机服务器模式。各个OPC客户程序通过OPC标准接口对各OPC服务器管理的设备进行操作,而不需关心服务器的实现细节及设备内部的具体细节。OPC把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。

OPC逻辑对象模型

应用程序与OPC服务器之间必须有OPC接口,OPC规范提供了两套标准接口:Custom标准接口和OLE自动化标准接口。通常在系统设计中采用OLE自动化标准接口。

OLE自动化标准接口定义了以下三层接口,依次呈包含关系:

  1. OPCServer:OPC启动服务器,获得其他对象和服务的起始类,并用于返回OPC Group类对象;
  2. OPCGroup:存储由若干OPC Item组成的Group信息,并用于返回OPC Item类对象。
  3. OPCItem:存储具体Item 的定义、数据值、状态值等信息。

3.1  OPC服务器对象

OPC 服务器对象是 OPC 服务器开发的核心内容,其中IOPCServer 又是OPC服务器对象的主要实现接口。

IOPCServer实现对 OPC 组的管理,包括 OPC组的创建、删除、显示所有连接到当前服务器的组以及根据输入的组名得到组等功能。这些功能的实现由特定的函数实现。

IOPCCommon接口是 OPC 数据访问服务器、 OPC报警与事件服务器等服务器共同支持的接口,它提供设置与查询 LocaleID 的能力,通过 LocaleID在组定义时的使用,可以让不同 LCID 的客户应用程序的操作不会相互影响。

IOPCItemProperties接口主要是提供给客户应用程序浏览具有 ITEMID 的属性以及读取这些属性的当前值。

3.2  OPC组对象

主要功能:管理OPC Group对象的内部状态信息、创建和管理Items对象、OPC服务器内部的实时数据存取服务(同步与异步方式)。

IOPCItemMgt接口让客户应用程序在一个组中创建、删除和控制项对象,它是OPC 组对象管理项的接口。例如设置OPC 项的活动状态和数据类型等属性。

IOPCSyncIO接口进行同步读写操作。

IOPCAsyncIO接口进行异步读写操作。

IOPCAsyncIO2是 OPC 2.0 版中替代 IOPCAsyncIO的异步操作接口,它与连接点接口配合使用,提高了数据通信的效率。

IDataObject接口在 OPC 1.0 版本中是 OPC服务器的必要接口,它是以OPCGroup 为操作对象,而不直接对标签进行操作。

IConnectionPointContainer接口与服务器对象的同名接口功能不同。在组对象中它完成的是与 IDataObject 接口相似的功能,而在服务器对象中,连接点容器接口提供访问关机事件的连接点。

3.3  OPC项对象

用来描述实时数据,代表了与服务器数据源的连接,而不是数据源。一个项不能被OPC客户端访问,因此在OPC规范中没有对应于项的COM接口,所有对项的访问都需要通过OPC Group对象来实现。

item属性包括:

  • name:项的名称,在服务器对应于Item ID。
  • active:项的激活状态。
  • value:项的数据值。
  • quality:项的品质,代表数值的可信度。
  • Timestamp:时间戳,代表数据的存取时间。

下面的表中列出了Item的数据类型(VARTYPE)

 

OPC通信

OPC通信机制包括下面三种:

1. 同步通信:OPC客户端对OPC服务端进行读取操作时,OPC客  户端必须等到OPC服务器端完成对应操作后才能返回,在此期间 OPC客户端处于一直等待的状态。

2. 异步通信:OPC客户端对OPC服务器端进行读取操作时,OPC客户端发送请求后立即返回,不用等待服务器端,当OPC服务器端完成操作后再通知客户端程序。

3. 订阅:需要服务器端支持OPC A&E规范,由客户端设定数据的变化限度,如果数据源的实时数据变化超过了该限度,服务器则通过回调返回数据给客户端。

知识来源: www.mottoin.com/112125.html

阅读:12186 | 评论:0 | 标签:技术控

想收藏或者和大家分享这篇好文章→复制链接地址

“技术分享:工业控制协议介绍之OPC协议”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云