2023年11月30日发(作者:)

OPC技术

OPC(OLE for Process Control, 用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC

金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表

及过程控制系统的公司。

基于微软的OLE(现在的Active X)COM (部件对象模型)DCOM (分布式部件对象模型)技术。OPC

括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。

OPC全称是OLE for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了

桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于

现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也

不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性

的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基

础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE

标准允许多台微机之间交换文档、图形等对象。

COMComponent Object Model的缩写,是所有OLE机制的基础。COM是一种为了实现与编程语言无

关的对象而制定的标准,该标准将Windows下的对象定义为独立单元,可不受程序限制地访问这些单元。

这种标准可以使两个应用程序通过对象化接口通讯,而不需要知道对方是如何创建的。例如,用户可以使

C++语言创建一个Windows对象,它支持一个接口,通过该接口,用户可以访问该对象提供的各种功

能,用户可以使用Visual BasicCPascalSmalltalk或其它语言编写对象访问程序。Windows NT4.0

操作系统下,COM规范扩展到可访问本机以外的其它对象,一个应用程序所使用的对象可分布在网络上,

COM的这个扩展被称为DCOMDistributed COM

通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。OPC采用客户/

务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,

解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。

OPC服务器通常支持两种类型的访问接口,它们分别为不同的编程语言环境提供访问机制。这两种接口是:

自动化接口(Automation interface;自定义接口(Custom interface。自动化接口通常是为基于脚本编

程语言而定义的标准接口,可以使用VisualBasicDelphiPowerBuilder等编程语言开发OPC服务器的

客户应用。而自定义接口是专门为C++等高级编程语言而制定的标准接口。OPC现已成为工业界系统互联

的缺省方案,为工业监控编程带来了便利,用户不用为通讯协议的难题而苦恼。任何一家自动化软件解决

方案的提供者,如果它不能全方位地支持OPC,则必将被历史所淘汰

OPC技术应用简析

1OPC技术的产生

随着工业生产的不断发展,工业控制软件取得了长足的进步。然而,由于生

产规模的扩大和过程复杂程度的提高,工业控制软件设计面临着巨大的挑战,

就是要集成数量和种类不断增多的现场信息。在传统的控制系统中,智能设备之

间及智能设备与控制系统软件之间的信息共享是通过驱动程序来实现的,不同厂

家的设备又使用不同的驱动程序,迫使工业控制软件中包含了越来越多的底层通

信模块。另外,由于相对特定应用的驱动程序一般不支持硬件特点的变化,这样

使得工业控制软硬件的升级和维护极其不便。还有,在同一时刻,两个客户应用

一般不能对同一个设备进行数据读写,因为它们拥有不同的、相互独立的驱动程

序,同时对同一个设备进行操作,可能会引起存取冲突,甚至导致系统崩溃。OPC

技术的出现则很好的解决了这些问题。

OPCObject Linking and EmbeddingOLEfor Process Control的缩

写,它是微软公司的对象链接和嵌入技术在过程控制方面的应用。OPC

OLE/COM/DCOM技术为基础,采用客户/服务器模式,为工业自动化软件面向对象

的开发提供了统一的标准,这个标准定义了应用Microsoft操作系统在基于PC

的客户机之间交换自动化实时数据的方法。采用这项标准后,硬件开发商将取代

软件开发商为自己的硬件产品开发统一的OPC接口程序,而软件开发者可免除开

发驱动程序的工作,充分发挥自己的特长,把更多的精力投入到其核心产品的开

发上。这样不但可避免开发的重复性,也提高了系统的开放性和可互操作性。

2OPC规范概述

OPC是一个工业标准,它是由一些世界上著名的自动化系统和硬件、软件公

司和Microsoft(微软)紧密合作而建立的。OPC包括一整套接口、属性和方法

的标准集,提供给用户用于过程控制和工业自动化应用。MicrosoftOLE/COM

技术定义了各种不同的软件部件如何交互使用和分享数据,从而使得OPC能够提

供通用的接口用于各种过程控制设备之间的通讯,不论过程中采用什么软件和设

备。其发展动态如表1所列。

1 OPC标准

标准版本内容

Data Access3.0,2.0,1.0数据访问规范

Alarms and Events1.10,1.00报警和事件规范

Historical Data Access1.0历史数据存取规范

Batch2.0,1.0批量过程规范

Security1.0安全性规范

Compliance2.00.2数据访问标准的测试工具

OPC XML1.00,0.18过程数据的XML规范

OPC eXchange1.0数据交换规范

OPC Commands正在开发命令规范

OPC Common I/O正在开发公共I/O规范

OPC Complex Data正在开发

复杂数据规范OPC技术的实现由两部分组成,OPC服务器和OPC客户应用部

分。OPC服务器完成的工作就是收集现场设备的数据信息,然后通过标准的OPC

接口传送给OPC客户端应用。OPC客户端则通过标准的OPC接口接收数据信息。

在具体的实现过程中,用户可以根据自己的需要挑选相应的规范来使用。

其中数据访问规范提供给用户访问实时过程数据的方法;报警和事件规范提

供了一种由服务器程序将现场的事件或报警通知客户程序的机制;历史数据存取

规范用来提供用户得到存储在过程数据存档文件、数据库或远程终端设备中的历

史数据以及来分析这些历史过程数据的方法。其他规范不在此一一介绍。

3.采用OPC规范设计系统的益处

1)采用标准的Windows体系接口,硬件制造商为其设备提供的接口程序的

数量减少到一个,软件制造商也仅需要开发一套通讯接口程序。即有利于软硬件

开发商,更有利于最终用户。

2OPC规范以OLE/DCOM为技术基础,OLE/DCOM支持TCP/IP等网络协议,

因此可以将各个子系统从物理上分开,分布于网络的不同节点上。

3OPC按照面向对象的原则,将一个应用程序(OPC服务器)作为一个对象

封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,从而

保证软件对客户的透明性,使得用户完全从底层的开发中脱离出来。

4OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便

于系统硬件配置,使得系统的应用范围更广。

5)采用OPC规范,便于系统的组态,将系统复杂性大大简化,可以大大缩

短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。

6OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的

方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。

4OPC技术的应用

由于OPC技术的采用,使得可以以更简单的系统结构、更长的寿命、更低的

价格解决工业控制成为可能。同时现场设备与系统的连接也更加简单、灵活、

便。因此OPC技术在国内的工业控制领域得到了广泛的应用,主要应用领域如下:

1)数据采集技术。OPC技术通常在数据采集软件中广泛应用。现在众多硬

件厂商提供的产品均带有标准的OPC接口,OPC实现了应用程序和工业控制设备

之间高效、灵活的数据读写,可以编制符合标准OPC接口的客户端应用软件完成

数据的采集任务。

2)历史数据访问。OPC提供了读取存储在过程数据存档文件、数据库或远

程终端设备中的历史数据以及对其操作、编辑的方法。

3)报警和事件处理。OPC提供了OPC服务器发生异常时,以及OPC服务器

设定事件到来时向OPC客户发送通知的一种机制,通过使用OPC技术,能够更好

的捕捉控制过程中的各种报警和事件并给予相应的处理。

4)数据冗余技术。工控软件开发中,冗余技术是一项最为重要的技术,它

是系统长期稳定工作的保障。OPC技术的使用可以更加方便的实现软件冗余,而

且具有较好的开放性和可互操作性。

5)远程数据访问。借助MicrosoftDCOM(分散式组件对象模型)技术,

OPC实现了高性能的远程数据访问能力,从而使得工业控制软件之间的数据交换

更加方便