-
安全产品
-
-
-
「天地和兴」技术分享:工业控制协议介绍之OPC协议
发布时间:
2018-06-12
来源:
作者:
访问量:
39
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自动化标准接口定义了以下三层接口,依次呈包含关系:
OPCServer:OPC启动服务器,获得其他对象和服务的起始类,并用于返回OPC Group类对象;
OPCGroup:存储由若干OPC Item组成的Group信息,并用于返回OPC Item类对象。
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规范,由客户端设定数据的变化限度,如果数据源的实时数据变化超过了该限度,服务器则通过回调返回数据给客户端。
相关资讯

关注我们