

OPC规范简介
由OPC Task Force制定的OPC(OLE for Process Control)规范于1996年8月正式诞生了,随着1997年2月Microsoft公司推出Windows95支持的DCOM技术,1997年9月新成立的OPC Foundation对OPC规范进行修改,增加了数据访问等一些标准,OPC规范得到了进一步的完善。
“OPC 基于Microsoft公司的 Distributed interNet Application (DNA) 构架和 Component Object Model (COM) 技术的,根据易于扩展性而设计的。OPC规范定义了一个工业标准接口,这个标准使得COM技术适用于过程控制和制造自动化等应用领域。”OPC 基础委员会主席Dave Rehbein是这样描述的
OPC是以OLE/COM机制作为应用程序的通讯标准。OLE/COM是一种客户/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。
基于OPC的软件结构如图
由图可见,应用程序与OPC服务器之间必须有OPC接口,OPC规范提供了两套标准接口:Custom标准接口,OLE自动化标准接口。通常在系统设计中采用OLE自动化标准接口。
OLE自动化标准接口,及采用OLE自动化技术进行调用,其技术为上节所述的OLE自动化技术。OLE自动化标准接口定义了以下三层接口,依次呈包含关系。
OPC Server:OPC启动服务器,获得其他对象和服务的起始类,并用于返回OPC Group类对象;
OPC Group:存储由若干OPC Item组成的Group信息,并用于返回OPC Item类对象。
OPC Item:存储具体Item 的定义、数据值、状态值等信息。
由于OPC规范基于OLE/COM技术,同时OLE/COM的扩展远程OLE自动化与DCOM技术支持TCP/IP等多种网络协议,因此可以将OPC客户、服务器在物理上分开,分布于网络不同节点上。

OPC规范可以应用在许多应用程序中,如它们可以应用于从SCADA 或者DCS系统的物理设备中获取原始数据的最低层,它们同样可以应用于从SCADA 或者DCS系统中获取数据到应用程序中。实际上,OPC设计的目的就是从网络上某节点获取数据。图4.2.2OPC的客户/服务器关系图同样描述了OPC在SCADA系统的应用。
采用OPC规范设计系统的好处
在进行新型微机远动系统的研制中,各个计算机以及各个模块的数据交换应该按照OPC规范进行。这样做有以下好处:
OPC规范以OLE/DCOM为技术基础,而OLE/DCOM支持TCP/IP等网络协议,因此可以将各个子系统从物理上分开,分布于网络的不同节点上。
OPC按照面向对象的原则,将一个应用程序(OPC服务器)作为一个对象封装起来,只将接口方法暴露在外面,客户以统一的方式去调用这个方法,从而保证软件对客户的透明性,使得用户完全从低层的开发中脱离出来。
OPC实现了远程调用,使得应用程序的分布与系统硬件的分布无关,便于系统硬件配置以及,使得系统的应用范围更广。
采用OPC规范,便于系统的组态化,将系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。
OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。
|
|
|
OPC——现代工业控制软件互操作标准
王双庆 邢建春
【摘要】简要介绍了OPC规范的基本内容、制定的背景和OPC的发展,阐述了OPC在工控领域带来的巨大好处,目的是引起国内工控软硬件制造商的重视。
关键词:OPC,COM,工业控制,规范
OPC:The Specification for the Industry Control Software Interoperability
Abstract:The main points of the OPC specification,its background and development are introduced.Also,the great advantages brought by the OPC are described.The main aim is to attract the attention of domestic hardware vendors and software developers in this field.
Key words:OPC,COM,industry control,specification
OPC规范的第一个版本是1996年秋颁布的,在短短的3年时间里,得到越来越多工控领域硬件、软件制造商的承认和支持。它实际上已经成为工业控制软件公认的标准。世界上一些著名的工业控制硬件、软件制造公司,对其产品都提供了OPC的支持。从而形成了工控领域的一个共识:不提供OPC支持,必将限制其市场。本文主要叙述OPC的内容及其给工业控制带来的巨大便利,旨在引起国内工业自动化领域研究机构和厂家的注意和思考,使产品更有生命力。
1 OPC介绍
OPC(OLE for process control)规范是OPC基金组织倡导的,工业控制和生产自动化领域中使用的硬件和软件的接口标准。它是由全世界范围内自动化领域中处于领导地位的硬件和软件开发商,在Microsoft的合作下协作制定的,并且已经得到越来越多客户和硬软件制造商的认可。
OPC规范在短短的几年里发展如此之快,得益于OPC技术内涵。它基于Microsoft的OLE/COM和DCOM技术,包括了自动化应用中使用的一整套的接口、属性和方法的标准。Microsoft是OPC基金组织的发起成员之一,他把他的OLE/COM等新技术带给了OPC基金组织。这些技术为工控领域里最重要的数据交换环节提供了技术保证。COM/DCOM技术定义了分布式系统中软组件如何交互和共享数据,这已被证明:在Windows(NT)环境中,应用程序间数据交换的最有效最先进的技术。借助这些Microsoft的技术,OPC规定了与不同过程控制设备交互的统一的接口,而不用考虑过程中使用的控制软件和设备。
接口,简言之即提供给客户应用程序的功能的使用方法。OPC规范通常包括两套接口:定制接口和自动接口。规范详细说明了这些COM接口,但并没有提供接口的实现细节,OPC服务器具体实现接口的功能。服务器具体确定了可以存取的设备和数据,数据单元(data item)以何种方式命名以及对具体物理设备存取数据的细节,并且通过OPC标准接口开放给外部程序。像所有的COM实现一样,OPC的结构是客户机-服务器模式。各个OPC客户程序通过OPC标准接口对各OPC服务器管理的设备进行操作,而不需关心服务器的实现细节及设备内部的具体细节。服务器组件提供并管理那些到OPC对象的接口。图1所示为OPC接口、OPC服务器及OPC客户应用的联系。
图1 OPC客户与OPC服务器
现在成熟并发布的OPC规范主要包括数据存取规范、报警和事件处理规范以及历史数据存取规范。广义而言,数据存取服务器包括三种对象:服务器、组和数据单元。OPC服务器对象负责维护服务器的信息,而且是OPC组对象的容器。组对象维护自己的信息并提供容纳和逻辑上组织OPC数据单元的架构。数据单元(对象)提供与数据源的连接。与数据单元相对应的是一个值(value)、品质(quality)和时间标签(time stamp)。关于报警和事件处理规范,它明确了特定事件和报警条件下通知OPC客户应用的机制。它为OPC客户提供的功能有:确定OPC服务器支持的事件类型,得到特定事件的发生信息;还有OPC服务器实现的存取和操作条件。历史数据存取规范所支持的服务器类型主要有:简单的趋势数据服务器,复杂的数据压缩和分析服务器。
OPC的设计目的最重要的是即插即用,也就是采用标准方式配置硬件和软件接口。一个设备可以很容易地加入现有系统并立即投入使用,不需要复杂的配置,且不会影响现有的系统。系统中的信息也可以很方便地分散至众多支持OPC的软件应用当中,如维护、监督、操作显示和文档管理等应用。
2 OPC规范的制定背景
没有规矩,不成方圆。事物之间必须有一个标准,才能相互交流。像早期不同的计算机制造商的产品不能相互通信迫使产生了一系列的硬件软件制作规范一样,现代的工控领域所遇到的问题也迫切需要制定一个规范。
微处理机在工业控制和生产自动化领域的应用,已经得到了巨大的发展。然而现在面临的情况是,不同厂商提供的过程控制设备和商业应用软件不能相互自由地通信。因为没有标准可依,一个具体硬件制造商的产品必需一个专门的驱动程序与具体的一种应用软件进行交流,而且这个驱动程序一般并不适用于其他的应用软件。这样一来,硬件厂商不得不再为另一个应用开发一个驱动程序,从而造成重复劳动。这就好比家庭中,每一种家电都有自己独特的插座口,彩电的插头只能插在彩电的专用插座上,而不能插在冰箱的插座上。这样的一种境况,使得在自动化系统的设计和实现中,困难重重。尤其在今天,在市场决定一切的经营模式下,企业要面对激烈的竞争,客观要求企业的MIS(管理信息系统)和决策层要同生产一线的数据保持实时的不间断的联系,实现企业范围内数据的无缝开放交流。这个简单的要求对以前的自控系统已经近于苛刻。
除此之外,相对特定应用的驱动程序一般并不支持硬件特点的变化,而事实是,硬件产品在不停地更新换代。还有,在同一个时刻,两个客户应用一般不能对同一个设备进行数据读写。因为它们拥有不同的相互独立的驱动程序,同时对同一个设备操作,可以引起存取冲突,甚至导致系统的崩溃。
这些问题的解决,要求控制过程中使用的硬件设备和软件产品可以方便地组合应用。标准必须制定,OPC规范应运而生。
3 OPC带来的巨大好处
像用于字处理的标准打印机驱动和用于数据库存取的ODBC给各自的领域带来深远影响一样,OPC标准的制定为工控领域带来了变革。不仅是用户,连同硬件制造商和软件开发商都可从中得到巨大的利益。以前的过程监控中硬件和软件的设置情况如图2所示。
图2 传统过程控制中软件硬件设置
各种应用软件都必须提供这三种设备的驱动程序,即需要12个驱动程序维持系统的正常运行。而且各软件间不能相互通信。因为各个软件来自不同的开发商,具有不同的相互独立的对同一设备的驱动程序,所以多个软件也不能同时对同一个设备存取数据,否则可能造成系统的瘫痪。同时,某一个设备的升级要求该设备的所有驱动程序升级,否则隐患无穷。这样的一个系统要想长期维护,工作量可想而知。
OPC规范的引入,使得过程控制的硬件软件配置可以由图3表示。硬件制造商只用开发出符合OPC规范的驱动程序,即图中的服务器,就可以一劳永逸,因为这个服务器为所有支持OPC标准的OPC客户软件所用。这个系统可以很方便地进行修改和升级,增加一个设备(当然提供了OPC服务器),所有的软件都可以与其进行数据交互。
图3 OPC系统中软件硬件设置
以前,用户在设计一个自动控制系统时,选择硬件软件,限制因素太多,考虑因素也多。找到真正满足需要的设备后,可能因为自己的软件不支持而倍感苦恼,或者放弃选择,用一个并不太合适的设备来代替,或者请软件开发商开发出这种设备的驱动程序。而现在用户可以不受限制地选择硬件和软件,选择真正满足自我要求的设备。
各个厂商提供的OPC服务器,都以同一种方式工作,这使得用户只要学会一种服务器的使用,便掌握了所有的使用。以往,用户在学会所选软件程序的定制工具箱后,要改用另一种软件,必须重新学习这种特定软件的工具箱。这不仅浪费了用户的时间,也增加了用户的培训费用开支。
对于一个工业现场,如果测点和控制点增加或改变,对原来的系统来说,所需的工作量很大。而符合OPC规范的控制系统则很容易实现。尤其是大的工业现场,对系统进行长期地监控、配置优化以及节省维护费用的优势更为突出。
对于软件开发商而言,不再费神于开发各种硬件设备的驱动程序,而是把精力和时间集中在增加和完善软件的功能上,使自己的软件更易被用户接受和使用。对于硬件设备制造商,再也不必担心自己的产品因为没有为某些软件提供驱动程序而被用户所忽视或放弃。一次编写的驱动程序(OPC服务器),可以被所有的应用软件所用。不仅节省了各种I/O驱动程序的开发费用,而且可以让制造商集中精力生产更易于用户使用的、功能完善的硬件。
4 OPC的发展
OPC规范的第一个版本是在1996年秋颁布的,几年里OPC规范得到了巨大的发展和补充。OPC基金组织成员也由开始的5个扩大到现在的212个(至1999年9月),而且世界上主要的自动化系统和仪表的生产商像Sun和Intellution都在其中。组织成立的初衷就是要开发一个开放的、易实现的、即插即用的标准,这些目标已部分实现。Microsoft不仅是这个组织的参与者和技术后盾,每年还在Microsoft的总部召开一次OPC基金组织年会,该组织的成员可以预阅OLE/COM和其他Microsoft技术的新发展。最终用户也被鼓励加入OPC组织,一些用户也的确参加了规范制定和技术上的复查过程。这些都促进了OPC规范的发展和完善。OPC规范制定的主要目标是将规范尽快地应用于工业实际。在此指导思想下,多数开发商关心的区域首先开始了规范的制定。目前发布的3个规范为:数据存取规范、报警和事件处理规范以及历史数据存取规范。其他的像安全性、批量控制以及报警和事件的历史数据存取,这些功能的标准正在酝酿和制定中,相信在不久的将来就会发布。
5 结论
基于COM技术的OPC技术规范在短短几年内获得了极大的发展,并得到了国际上自动化领域领先厂商的广泛支持。采用OPC技术规范的产品实现了工业自动化系统中软件之间的互操作和无缝集成,以及现场监测、控制设备的即插即用,为该领域的硬件、软件厂商及最终用户带来了直接和明显的经济利益。符合OPC规范的硬件、软件产品开始大量地开发并得到广泛应用,支持OPC技术开发的各种开发工具正在不断地得到完善,OPC前景一片光明。目前工控产品的OPC支持性能,已经成为其综合性能的一个重要方面。国内的工控硬软件制造商要抓住时机,抓紧跟上世界先进技术的发展,开发符合OPC规范的产品,保证产品市场的生命力。