OPC协议及其在实时数据库开发中的应用--控制网



OPC协议及其在实时数据库开发中的应用
企业:控制网 日期:2005-12-21
领域:仪器仪表 点击数:2977



1  概述

    OPC协议是由OPC基金会制定的一个工业标准,它规范了过程控制和自动化软件与工业现场设备之间的接口。OPC是Object Linking and Embedding(OLE)for Process Control的缩写,它是微软公司的对象链接和嵌入技术在过程控制方面的应用。

    OPC以OLE/COM/DCOM技术为基础,COM 就是Component Object Model,也就是组件对象模型。DCOM中的D 是distributed(分布式)的意思,一般用于网络。DCOM(分布式组件对象模型)是COM技术的扩展。DCOM 通过处理网络协议的下层细节来支持网络中不同计算机上的对象间的通讯。这样可以启用由多个协同完成同一任务的进程组成的分布式程序。COM Internet 服务 (CIS) 最初是在 Windows NT 4.0 Service Pack 4 中发布的,它提供的附加支持,使得由于服务器端或客户网络上的代理服务器设置了防火墙而令其他协议无法使用时,DCOM 仍然能够通过Internet(使用 HTTP)使用。因此以OLE/DCOM为基础的OPC,可以使OPC客户通过利用DCOM连接到网络。

    OPC包括一整套接口、属性和方法的标准集,提供给用户用于过程控制和工业自动化应用。Microsoft的OLE/COM技术定义了各种不同的软件部件如何交互使用和分享数据,从而使得OPC能够提供通用的接口用于各种过程控制设备之间的通讯,不论过程中采用什么软件和设备。复杂数据规范OPC技术的实现由两部分组成:OPC服务器和OPC客户应用部分。OPC服务器完成的工作就是收集现场设备的数据信息,然后通过标准的OPC接口传送给OPC客户端应用。OPC客户端则通过标准的OPC接口接收数据信息。在具体的实现
过程中,用户可以根据自己的需要挑选相应的规范来使用。

2  OPC协议

    OPC协议中包括了数据访问规范、报警和事件规范、历史数据存取规范、批量过程规范、OPC安全性规范、数据访问标准的测试工具、过程数据的XML规范、数据交换规范、命令规范、公共I/O规范、合成数据规范。

采用OPC协议设计系统有诸多好处:

    (1)  既有利于硬件制造商,也有利于软件开发商。因为采用标准的Windows体系接口,硬件制造商为其设备提供的接口程序的数量减少到一个,软件开发商也仅需要开发一套通讯接口程序;

    (2)  可以将各个子系统从物理上分开,分布于网络的不同节点上。因为OPC规范以OLE/COM/DCOM为技术基础,而OLE/DCOM支持TCP/IP等网络协议;

    (3)  可以使用户完全从底层的开发中脱离出来。因为OPC按照面向对象的原则,将一个应用程序(OPC服务器)作为一个对象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,从而保证软件对客户的透明性;

    (4)  可以使系统的应用范围更广。因为OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便于系统硬件配置,使得系统的应用范围更广;

    (5)  提高了系统的可维护性。因为采用OPC规范,便于系统的组态,将系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护;

    (6)  实现了系统的开放性。因为OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。

3  OPC应用架构

Server/Client

    OPC协议采用客户/服务器体系。协议中为OPC服务器规定了两套接口:自定义接口(Custom Interface)与自动化接口(Automation Interface),其中自动化接口是可选的,它支持VBA的所有应用程序,如VB、Excel等。而自定义接口是OPC服务器必提供的接口,它只能用C/C++来编写客户应用程序。
自动化接口定义了以下三层接口,依次是包含关系:

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

    OPC Group(组)向客户提供一种方法来组织数据,例如在特别的操作符显示或报告中Group可能代表Item(项),可以读/写数据。在客户和Group中的Item也可以建立链接,而且可以根据需要来启用和停止。OPC客户可以配置OPC服务器应该提供的向OPC客户数据转换的比例。Group有两种类型:公共的和本地的(或私人的)。公共的通过多客户来分享,本地的是对本地的一个客户。对公共组有详细的可选择的接口。客户的每一个组可以定义一个或多个项。一个OPC项,从特定的自定义接口,作为OPC客户的对象是不可存取的。因此不能有外部的接口被定义为OPC的项。所有存取OPC项是通过一个OPC组对象,它包含OPC项,或简单的OPC项在哪儿被定义。

    通常一个OPC Client(客户)可以与多个服务器同时连接,同时一个OPC服务器也可以同时被多个的OPC应用程序连接。因为采用了数据订阅方式,多服务器连接与单服务器连接在本质上并无太大的区别,需要处理的只是多服务器同时工作时项的加减和连接释放问题。在进行多OPC Server的连接时,对每一个不同的Server都要连接一次,当不要某个OPC Server时,要释放掉该Server,以免占用资源。一个OPC客户可以预订规定的事件的发生的被通报,即协议中的报警和事件规范。OPCEventServer接口提供方法使OPC 客户做到:(1) 决定OPC服务器支持的事件的类型;(2) 进入对规定的事件的预订,以便OPC客户能收到他们发生的通知,过滤器可以被用来定义需要的事件的一个子集;(3) 存取并使用OPC服务器实现了的条件。

    OPC客户和OPC服务器进行数据交换可以有两种不同的方式,即同步方式和异步方式。同步方式实现较为简单,当客户数目较少而且同服务器交互的数据量也比较少的时候可以采用这种方式;异步方式实现较为复杂,需要在客户程序中实现服务器回调函数。然而当有大量客户和大量数据交互时,异步方式的效率更高,能够避免客户数据请求的阻塞,并可以最大限度地节省CPU和网络资源。

    OPC服务器允许一个客户应用从许多OPC服务器存取数据,这些服务器由许多不同的OPC卖方提供,它们通过一个单一的对象运行在不同的代码上。图1为客户/服务器接口图。



图1  客户/服务器接口图



4  OPC协议在RTDB中的应用

    由于OPC协议的采用,使得可以以更简单的系统结构、更长的寿命、更低的价格解决工业控制中的问题,同时现场设备与系统的连接也更加简单、灵活、方便,因此OPC技术在国内工业控制领域得到了广泛的应用。现在,实时数据库在工业控制领域有着广阔的应用空间,与传统的DBMS不同,实时数据库着重满足事务的实时性需求,数据随时间而变化,并且能够及时处理以达到数据截止期的要求,还可以通过网络对数据进行实时监控。因此OPC协议在实时数据库中的应用是必要的。

实时数据库系统中主要包括数据采集、数据存储、数据库管理、数据应用四个子系统它们实现不同的功能:

?  数据采集子系统:提供数据采集接口,实现远程数据采集功能,并提供与其他系统的数据采集接口。

?  数据存储子系统:完成数据存储功能;实现数据的完整性机制、一致性机制;实现数据的实时存储;实现数据的高速缓存机制,保证数据存储过程的安全性和实时性;实现数据的索引和排序功能;实现数据的压缩存储机制。

?  数据管理子系统:权限管理功能;数据维护功能;数据备份、恢复功能;数据存档压缩功能;系统配置功能;数据可视化;数据报表统计功能;数据的智能分析功能;系统性能监视、分析工具;系统日志审计功能;系统使用帮助。

?  数据应用子系统:提供数据访问的API,提供XML数据输出、解析功能。
相应的OPC协议应用于这四部分:

?  在数据采集中:实时数据库中要求数据的实时性和灵活性,这些要求OPC协议都可以保证。因为现在众多硬件厂商均提供有标准的OPC接口,它实现了应用程序和工业控制设备之间高效、灵活的数据读写,可以编制符合标准OPC接口的客户端应用软件完成数据的采集任务。而且借助Microsoft的DCOM技术,OPC实现了高性能的远程数据访问能力,从而使得工业控制软件之间的数据交换更加方便,这样可以实现远程数据采集。

?  在数据存储中:实时数据库中数据的存储,不仅是实时数据的存储,还有对历史数据的存取,要保证实时性,历史数据的存储很重要。OPC协议既有数据访问规范,又有历史数据存取规范。OPC提供了读取存储在过程数据存档文件、数据库或远程终端设备中的历史数据以及对其操作、编辑的方法。

?  在数据库管理中:实时数据库对现场的要求很高,对现场情况的处理要求迅速,这样才能保证实时性。OPC协议提供了报警和事件规范,即OPC提供了当OPC服务器发生异常时,以及OPC服务器设定事件到来时向OPC客户发送通知的一种机制,通过使用OPC协议,能够更好的捕捉控制过程中的各种报警和事件并给予相应的处理。在过程控制工业中一般使用实体作为报警和事件。在不正式的会话中,警报和事件的术语经常可交替地被使用,而它们的含义是相同的。

?  在数据应用中:OPC协议可使用数据冗余技术。控软件开发中,冗余技术是一项最为重要的技术,它是系统长期稳定工作的保障。OPC技术的使用可以更加方便的实现软件冗余,而且具有较好的开放性和互操作性。这可以很好的应用于实时数据库开发中。而且OPC协议中的过程数据XML规范可以提供XML数据输出和解析功能。

    而且OPC协议规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。这在实时数据库开发中提供了很大的便利。

5  结论

    随着OPC协议的逐渐成型,越来越多的国内外厂商给予了高度的重视,很多公司都在原来产品的基础上添加了对OPC协议的支持,它的应用范围会越来越广。由于OPC协议统一了数据访问的接口,使控制系统进一步走向开放,实现信息的集成和共享,用户能够得到更多的方便。而且OPC协议技术改变了原有的控制系统模式,给工业自动化领域带来了勃勃生机,也给国内系统生产厂商提出了一个发展的机遇和挑战。而且在实时数据库开发中OPC协议的应用,也使得人们开发的实时数据库软件可以更好的符合实际的应用。因为采用OPC协议,在数据采集中,可以更好的保证数据的高效实时,还可以实现对远程数据的采集;在数据存储中,对实时数据和历史数据的存储都能保证实时性;在数据库管理中,能够及时对现场事件进行处理;在数据应用中,提供了XML数据的输出和解析,而且使系统具有较好的开放性和可互操作性,易于实现与其它系统的接口。所以在实时数据库开发中使用OPC协议很方便而且很必要。

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: