1. OPC技术的产生
随着工业生产的不断发展,工业控制软件取得了长足的进步。然而,由于生产规模的扩大和过程复杂程度的提高,工业控制软件设计面临着巨大的挑战,那就是要集成数量和种类不断增多的现场信息。在传统的控制系统中,智能设备之间及智能设备与控制系统软件之间的信息共享是通过驱动程序来实现的,不同厂家的设备又使用不同的驱动程序,迫使工业控制软件中包含了越来越多的底层通信模块。另外,由于相对特定应用的驱动程序一般不支持硬件特点的变化,这样使得工业控制软硬件的升级和维护极其不便。还有,在同一时刻,两个客户应用一般不能对同一个设备进行数据读写,因为它们拥有不同的、相互独立的驱动程序,同时对同一个设备进行操作,可能会引起存取冲突,甚至导致系统崩溃。OPC技术的出现则很好的解决了这些问题。
OPC是Object Linking and Embedding(OLE)for Process Control的缩写,它是微软公司的对象链接和嵌入技术在过程控制方面的应用。OPC以OLE/COM/DCOM技术为基础,采用客户/服务器模式,为工业自动化软件面向对象的开发提供了统一的标准,
2. OPC规范概述
OPC是一个工业标准,它是由一些世界上著名的自动化系统和硬件、软件公司和Microsoft(微软)紧密合作而建立的。OPC包括一整套接口,属性和方法的标准集,提供给用户用于过程控制和工业自动化应用。Microsoft的OLE/COM技术定义了各种不同的软件部件如何交互使用和分享数据,从而使得OPC能够提供通用的接口用于各种过程控制设备之间的通讯,不论过程中采用什么软件和设备。其发展动态如表1所列。
表1 OPC标准
标准 版本 内容
Data Access 3.0,2.0,1.0 数据访问规范
Alarms and Events 1.10,1.00 报警和事件规范
Historical Data Access 1.0 历史数据存取规范
Batch 2.0,1.0 批量过程规范
Security 1.0 安全性规范
Compliance 2.00.2 数据访问标准的测试工具
OPC XML 1.00,0.18 过程数据的XML规范
OPC eXchange 1.0 数据交换规范
OPC Commands 正在开发 命令规范
OPC Common I/O 正在开发 公共I/O规范
OPC Complex Data 正在开发
复杂数据规范OPC技术的实现由两部分组成,OPC服务器和OPC客户应用部分。其应用模式如图1所示。OPC服务器完成的工作就是收集现场设备的数据信息,然后通过标准的OPC接口传送给OPC客户端应用。OPC客户端则通过标准的OPC接口接收数据信息。在具体的实现过程中,用户可以根据自己的需要挑选相应的规范来使用。
其中数据访问规范提供给用户访问实时过程数据的方法;报警和事件规范提供了一种由服务器程序将现场的事件或报警通知客户程序的机制;历史数据存取规范用来提供用户得到存储在过程数据存档文件,数据库或远程终端设备中的历史数据以及来分析这些历史过程数据的方法。其他规范不在此一一介绍。
3.采用OPC规范设计系统的益处
1)采用标准的Windows体系接口,硬件制造商为其设备提供的接口程序的数量减少到一个,软件制造商也仅需要开发一套通讯接口程序。即有利于软硬件开发商,更有利于最终用户。
2)OPC规范以OLE/DCOM为技术基础,而OLE/DCOM支持TCP/IP等网络协议,因此可以将各个子系统从物理上分开,分布于网络的不同节点上。
3)OPC按照面向对象的原则,将一个应用程序(OPC服务器)作为一个对象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,从而保证软件对客户的透明性,使得用户完全从底层的开发中脱离出来。
4)OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便于系统硬件配置,使得系统的应用范围更广。
5)采用OPC规范,便于系统的组态,将系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。
6)OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访
问,从而实现系统的开放性,易于实现与其它系统的接口。4. OPC技术的应用
由于OPC技术的采用,使得可以以更简单的系统结构、更长的寿命、更低的价格解决工业控制成为可能。同时现场设备与系统的连接也更加简单、灵活、方便。因此OPC技术在国内的工业控制领域得到了广泛的应用,主要应用领域如下:
1)数据采集技术。OPC技术通常在数据采集软件中广泛应用。现在众多硬件厂商提供的产品均带有标准的OPC接口,OPC实现了应用程序和工业控制设备之间高效、灵活的数据读写,可以编制符合标准OPC接口的客户端应用软件完成数据的采集任务。
2)历史数据访问。OPC提供了读取存储在过程数据存档文件、数据库或远程终端设备中的历史数据以及对其操作、编辑的方法。
3)报警和事件处理。OPC提供了OPC服务器发生异常时,以及OPC服务器设定事件到来时向OPC客户发送通知的一种机制,通过使用OPC技术,能够更好的捕捉控制过程中的各种报警和事件并给予相应的处理。
4)数据冗余技术。工控软件开发中,冗余技术是一项最为重要的技术,它是系统长期稳定工作的保障。OPC技术的使用可
5)远程数据访问。借助Microsoft的DCOM(分散式组件对象模型)技术,OPC实现了高性能的远程数据访问能力,从而使得工业控制软件之间的数据交换更加方便。
5.OPC技术在工业控制领域应用中的作用
OPC技术对工业控制系统影响和应用是基础性和革命性的,简单地说,它的作用主要表现在一下几个方面:
首先,OPC解决了设备驱动程序开发中的异构问题。随着计算机技术的不断发展,用户需求的不断提高,以DCS(集散控制系统)为主体的工业控制系统功能日趋强大,结构日益复杂,规模也越来越大,一套工业控制系统往往选用了几家甚至十几家不同公司的控制设备或系统集成一个大的系统,但由于缺乏统一的标准,开发商必须对系统的每一种设备都编写相应的驱动程序,而且,当硬件设备升级、修改时,驱动程序也必须跟随修改。同时,一个系统中如果运行不同公司的控制软件,也存在着互冲突的风险。
有了OPC后,由于有了统一的接口标准,硬件厂商只需提供一套符合OPC技术的程序,软件开发人员也只需编写一个接口,而用户可以方便地进行设备的选型和功能的扩充,只要它们提供了OPC支持。所有的数据交换都通过OPC接口进行,而不论连接的控制系统或设备是哪个具体厂商提供。
其次,OPC解决了现场总线系统中异构网段之间数据交换的问题。现场总线系统仍然存在多种总线并存的局面,因此系统集成和异构控制网段之间的数据交换面临许多困难。有了OPC作为异构网段集成的中间件,只要每个总线段提供各自的OPC服务器,任一OPC客户端软件都可以通过一致的OPC接口访问这些OPC服务器,从而获取各个总线段的数据;
并可以很好地实现异构总线段之间的数据交互。而且,当其中某个总线的协议版本做了升级,也只需对相对应总线的程序作升级修改。
第三,OPC可作为访问专有数据库的中间件。实际应用中,许多控制软件都采用专有的实时数据库或历史数据库,这些数据库由控制软件的开发商自主开发。对这类数据库的访问不像访问通用数据库那么容易,只能通过调用开发商提供的API函数或其它特殊的方式。然而不同开发商提供的API函数是不一样的,这就带来和硬件驱动器开发类似的问题:要访问不同监控软件的专有数据库,必须编写不同的代码,这样显然十分繁琐。采用OPC则能有效解决这个问题,只要专有数据库的开发商在提供数据库的同时也能提供一个访问该数据库的OPC服务器,那么当以用户要访问时只需按照OPC规范的要求编写OPC客户端程序而无需了解该专有数据库特定的接口要求。
第四,OPC便于集成不同的数据,为控制系统向管理系统升级提供了方便。当前控制
系统的趋势之一就是网络化,控制系统内部采用网络技术,控制系统与控制系统之间也网络连接,组成更大的系统,而且,整个控制系统与企业的管理系统也网络连接,控制系统只是整个企业网的一个子网。在实现这样的企业网络过程中,OPC也能够发挥重要作用。在企业的信息集成,包括现场设备与监控系统之间、监控系统内部各组件之间、监控系统与企业管理系统之间、以及监控系统与Internet之间的信息集成,OPC作为连接件,按一套标准的COM对象、方法和属性,提供了方便的信息流通和交换。无论是管理系统还是控制系统,无论是PLC(可编程控制器)还是DCS,或者是FCS(现场总线控制系统),都可以通过OPC快速可靠的彼此交换信息。换句话说,OPC是整个企业网络的数据接口规范,所以,OPC提升了控制系统的功能,增强了网络的功能,提高了企
业管理的水平。最后,OPC使控制软件能够与硬件分别设计、生产和发展,并有利于独立的第三方软件供应商产生与发展,从而形成新的社会分工,有更多的竞争机制,为社会提供更多更好的产品。
6. 结束语
OPC作为一项逐渐成型的技术已得到国内外厂商的高度重视,许多公司都在原来产品的基础上增加了对OPC的支持。由于统一了数据访问的接口,使控制系统进一步走向开放,实现信息的集成和共享,用户能够得到更多的方便。OPC技术改变了原有的控制系统模式,给国内系统生产厂商提出了一个发展的机遇和挑战,符合OPC规范的软、硬件也已被广泛应用,给工业自动化领域带来了勃勃生机。