APP下载

基于OPC的工控系统软件集成

2012-07-06黄礼超

关键词:驱动程序应用程序组件

黄礼超,巫 茜

(1.重庆工业职业技术学院机械工程学院,重庆 401120;2.重庆理工大学 计算机科学与工程学院,重庆 400054)

在复杂的大型工程项目中,为实现对生产过程的控制,配置了众多处于底层控制网络的SCADA、PLC及DCS等控制系统。同时,为强化对企业的管理,基于信息网络,还构建了各种高层管理及辅助决策的管理信息系统。在复杂的工业控制大系统中,既有用于反映控制系统运行状态的实时控制信息,也有用于为管理决策提供支持、反映管理状况的非实时管理信息。由于各子系统功能不同,结构各异,数据格式差别极大,通信协议不一定统一,导致系统之间难以实现数据交换和集成,给管控一体化系统的实现带来了不少困难。一般实现控制网与信息网集成的基本技术有互联技术、远程通信技术、动态数据交换技术、数据库访问技术等。针对异构工控系统群软件功能集成,基于OPC(OLE for process control)的软件系统集成受到了广泛的关注[1-10]。为使用户从底层通信模块开发直接转向软件系统的功能开发,本文对基于OPC的系统集成进行了研究。

1 管控一体化无缝集成

尽管Windows与COM/DCOM/OLE等技术已成为应用软件之间通信事实上的标准,但是要实现复杂工控系统管控一体化仍然较为困难。由于各种原因,生产现场的大量数字化设备与控制器几乎不可能都选自同一个产品制造商,不同制造商生产的产品往往各自遵从不同的通讯标准,其通信协议一般是不开放的,软硬件产品自成体系,各自组成自己的控制系统,因此导致各应用软件与现场设备之间难以实现系统的无缝隙连接。尽管通信协议不同的系统也可通过协议转换实现系统之间的互联,但是由于协议转换实现的软件开发工作量大,事实上这种实现模式并不具有普遍性。数据源与客户程序之间要实现数据交换首先必须建立驱动连接,在驱动程序的驱动下才能完成设备与应用程序的数据信息交换,但是各个厂商的驱动程序往往是不公开的,互不兼容,再加之设备的多样性,因此这种驱动连接方式的缺陷是明显的。在工业控制现场的控制系统一般采用工控组态软件,通过I/O驱动从现场设备获取实时数据,再经必要数据处理后一方面送计算机屏幕显示,另一方面还要将相关数据上传后台数据库以满足管理系统的需要,此外还必须将经过运算处理后的控制数据送给I/O设备,对现场控制系统的控制参数进行调整[9-15]。如果应用软件与现场设备之间没有驱动程序,那么系统之间的数据交换是非常困难的。这表明实现管控一体化的关键是在现场设备与应用软件之间要提供一个统一标准的数据接口。OPC规范[16-17]弥补了上述缺陷。该规范制定了硬件和应用软件之间的接口标准,以方便系统实现开放的、无缝隙的连接[18-19]。

2 基于OPC的数据交换与系统集成

2.1 服务器与客户程序的链接

系统集成要解决的首要问题是应用软件与各种设备驱动程序之间的通信问题。按照传统链接方法,如果一个系统有n个设备、m种应用程序,那么要实现其间的数据交换,需要有n×m条链接,也就是说必须开发n×m个驱动程序。OPC技术是实现控制系统开放性的关键技术,如图1所示。它采用客户/服务器体系,其统一标准的接口规范极大地方便了客户程序与服务器的链接。采用OPC技术,完成n个设备与m种应用程序之间的链接,只需要开发n+m个驱动程序与OPC的接口即可。由此可见,基于OPC的数据访问有强大的技术与经济优势,这就是OPC技术在系统集成中被广泛采用的优势所在。

图1 C/S模式下基于OPC的接口

2.2 OPC的技术实质

随着技术的进步,应用系统需要解决的问题会愈来愈多,程序也愈来愈庞大,系统功能也变得更加复杂。为降低软件开发难度,通常是借助分解协调原理,将应用程序的功能分解为若干独立的模块,应用软件承担的任务由各个独立的模块共同协同完成。这些模块通常称为组件,即COM(component object model)与DCOM(distributed component object model)组件,它们明显地具有易维护、易升级和开放性等特点,并且可各自独立地设计、编辑和调试。

COM是组件对象模型,有客户端和服务器。客户端借助COM接口实现对服务器的访问。COM规范定义了组件间的通信机制,旨在提高互操作性和代码可复用能力,它不依赖于任何特定的操作系统,具有语言无关性,实现的核心是COM库,为规范实现提供核心服务。COM由若干组件组成,每个组件有自己的独立软件功能,在一定条件下将其连接,就可实现相应的功能,因其基于客户/服务器模型,所以稳定性好,扩展能力强。

DCOM是分布式组件对象模型,是基于COM组件对象模型之上的一种规范和服务,旨在提供使COM组件加入网络环境的透明网络协议,使不同进程之间的通信与协作可在分布式计算环境下实现。DCOM的编程模型决定了客户程序只有通过接口才能获得COM对象的服务,因此进行交互的实体是COM对象。基于COM与DCOM,OPC技术有如下技术特性:① 借助DCOM技术,OPC可方便地实现远程通信;② OPC技术提供了标准的访问接口;③ 基于客户/服务器结构,其底层通信由COM/DCOM提供支持,其过程对客户端和服务器是透明的;④ 高速可靠的数据通信可借助OPC技术实现。

2.3 OPC数据访问接口

OPC规范有2种访问接口方式:其一是自定义接口或定制接口(custom interface);其二是自动化接口(automation interface)。实际上自定义接口是一组COM接口,它有标准的接口函数,只要标准的接口函数不改动,也可以增加一些函数以扩展其功能,有利于对服务器端的开发,COM接口可借助C/C++等高级编程语言开发的程序对其进行访问。自动化接口是基于脚本编程语言而定义的标准接口,实际上是对自定义接口的进一步封装,使自定义的COM接口转换为自动化的OLE接口,它屏蔽了定制接口的接口虚函数表。2种访问接口的关系是:对服务器端开发而言,选择性地提供了自动化接口,也规定了OPC服务器必须提供的定制接口;对于客户端程序开发而言,可以选择任意一种接口进行访问。2种方式各有所长,其中自定义接口功能强大,但是需要应用软件开发者对COM技术有很好的掌握;自动化接口有易于开发的优势,但也存在易受接口本身功能限制的缺陷。

OPC服务器拥有服务器对象的所有信息,其对象是一种层次结构,层与层相互之间的关系是:Server为Group的容器,向OPC客户端提供创建和操作OPC组对象的功能;Group为Item的容器,拥有本组对象的所有信息,提供组织和管理数据项的机制。数据项(Item)是读写数据的最小单位,它代表OPC服务器到数据源的一个物理连接,是一个具体的过程变量,客户程序是不能直接访问的,只有通过对组对象的访问才能实现对数据项(Item)的访问,其数据结构包含值(value)、品质(quality)和时间戳(time stamp)等3个变量。尽管OPC规定了客户与服务器程序借助接口进行数据交互的标准,也定义了COM接口,但是OPC并没有给出如何具体地实现的方法。接口可分为必选的和可选的,前者包括了客户程序与服务器进行数据交换的最基本功能,后者规定了一些额外的高级功能,用户可自行选择。因此在系统开发中OPC服务商可按照各自硬件特性实现其接口的成员函数,在客户程序端也可通过查询以判断服务器程序是否实现了可选接口的功能。

3 OPC的应用案例

OPC技术在工业自动化系统中有广泛的应用,一种典型的DNA-M(distributed internet application architecture for manufacturing)体系结构如图2所示。OPC在该系统DNA-M中的地位相当于一块软件“主板”,它已经远远超出了OPC技术初期取代驱动程序的设计初衷。从图2可以看出,在这种典型的制造业分布式网应用程序体系结构中,位于控制现场的WindowsCE设备、工业控制网络、PLC控制系统以及数据采集系统等可直接与DNA-M连接,借助OPC方式获取控制过程监控数据。在该应用案例中,各种管理、监视与控制应用等类似于插在PC机内OPC主板上的软件“芯片”,其间通信遵从OPC协议,借助OPC各个“芯片”可获取现场的相关实时数据,并且各个“芯片”之间彼此能方便地交换数据信息。

图2 OPC在DNA-M体系中的应用

在图2中,OPC应用的重要意义可体现在以下方面:①在系统设计中,用户对软件和设备有了更多的选择余地,特别在集成制造系统开发中,可使设计变得更加灵活;②设备应用程序只需编写驱动接口程序就可连接不同设备,用不着为硬件特性增加或修改重写驱动程序;③计算机硬件厂商只需提供一套符合OPC Server规范的程序组并编写一套驱动程序,就可以满足不同用户开发应用系统的需要,极大地方便了用户的程序开发。

在工业自动化系统控制中,现场设备层与过程监控层的数据信息交互是实现管理控制一体化的关键。反映工业生产现场系统设备运行状态的信号、上位监控软件SCADA系统、人机界面软件HMI以及相关的开发平台和应用软件平台等,均可借助OPC通用接口方便地与其进行链接,其间的信号传递关系如图3所示,从而可方便地使现场总线技术在工业自动化系统中获得更广泛的应用。

从分析上述应用案例可以看出,OPC在工业控制系统应用中的作用,实际上就是在控制设备与控制软件之间建立一个统一的数据信息存取规范和一个应用软件程序间通讯的接口标准,该接口规范不仅支持网络上分布式应用程序间的通讯,也可用于单台计算机的内部通讯以及不同平台上应用程序间的通讯。OLE/COM及DCOM技术是OPC的基石,管控一体系统能够实现异构环境下应用系统的无缝集成,就是因为OLE/COM及DCOM完全支持上述分布式的应用。

图3 基于OPC的现场信号链接

在生产企业控制现场中有各种各样的信息系统,承载其数据信息的应用程序与现场设备通过OPC可有效地进行链接,其关键在于服务器在底层控制系统中采用了统一的OPC标准,因此基于OPC可方便地将企业的现场控制层和过程监控层、生产管理层以及经营决策层进行有效的、管控一体化的无缝集成。由图4可以看出,OPC技术在企业信息系统应用中的重要地位。

图4 OPC在企业信息系统中的应用

4 结束语

管控一体化集成系统的实现依赖于软件应用系统的无缝集成,随着自动化软硬件设备快速升级换代,更新周期越来越短,其设备种类必将随着技术的发展越来越多。大量工程实践表明,基于OPC技术规范和接口标准的产品,在现场过程控制中可即插即用,具有互操作性,可解决不同监控系统间实时数据交换难题,有利于实现工业自动化系统的无缝集成。

[1]Qiao Jiaxin.Application research on enterprise integrated automation based on OPC & OPC-XML[C]//Automation and Logistics,2009,ICAL'09.[S.l.]:IEEE International Conference,2009:747-751.

[2]刘玉成,刘玉斌,李太福.基于OPC的复杂工控系统的软件集成技术[J].西南师范大学学报:自然科学版,2006,31(5):132-135.

[3]唐恩.基于OPC和Winsock API的远程数据采集系统设计[J].自动化与仪器仪表,2011(5):52-54.

[4]宋承周,颜小军,王佳军.基于OPC通信技术的智能建筑信息集成的实现[J].机电工程,2010,27(1):41-43.

[5]谭元飞,王再英.基于OPC的以MATLAB为计算平台的工业监控系统设计[J].自动化与仪器仪表,2011(4):54-55.

[6]范新强.OPC技术及其集成方案设计分析[J].自动化与仪器仪表,2011(1):45-48.

[7]李春洋,周宁.面向BACnet协议的工控OPC服务器设计[J].武汉理工大学学报,2010,32(3):377-381.

[8]苏延召,李艾华.基于OPC和Web Services的阵地一体化管理系统集成[J].国外电子测量技术,2010,29(8):53-56.

[9]王国富.基于OPC和B/S的生产管理网络研究与实现[J].自动化与仪器仪表,2010(3):135-137.

[10]赵武,马建伟.基于OPC的MATLAB与WINCC实时数据交换设计与实现[J].通信技术,2008,41(12):98-100.

[11]Mohammad Ali Livani.Scheduling hard and soft real-time communication in a controller area network[J].Control Engineering Practice,2000(7):1515-1523.

[12]Eduardo Tovar.Supporting real-time distributed computer-controlled systems with multi-hop P-NET networks[J].Control Engineering Practice,2000(7):1015-1025.

[13]梁爽,姚锡凡.基于OPC技术的柔性制造系统集成平台研究[J].机械设计与制造,2010(6):252-253.

[14]杨明极,郭剑虹,沈强,等.OPC技术在工业控制领域的研究[J].哈尔滨理工大学学报,2009,13(4):29-31.

[15]陆会明,张冬练.基于SCADA系统OPC通信的控制系统实时仿真[J].现代电力,2008,25(3):60-63.

[16]OPC Foundation.OPC Data Access Automation Interface Standard Version 2.03[EB/OL].[2000-07-27].http://www.opcfoundation.org/OPC_specification.htm.

[17]OPC Foundation.OPC White Paper.DCOM,OPC and Performance Issues[EB/OL].[2001-06-14].http://www.opcfoundation.org/OPC_specification.htm.

[18]邢建春,王平.工业控制软件互操作标准OPC和DDE综述[J].工业控制计算机,2001(12):31-34.

[19]Perez F,Orive D,Marcos M,et al.Access to process data with OPC-DA using IEC61499 Service Interface Function Blocks[C]//Emerging Technologies & Factory Automation,2009.[S.l.]:IEEE Conference,2009:1-4.

猜你喜欢

驱动程序应用程序组件
无人机智能巡检在光伏电站组件诊断中的应用
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
计算机硬件设备驱动程序分析
风起新一代光伏组件膜层:SSG纳米自清洁膜层
基于MPC8280的CPU单元与内部总线驱动程序设计
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序