1 引言WWW_P※LCJS_CO※M-PLC-技-.术_网
现场总线作为一种开放的、全数字化、双向、多站的通信系统,它具有开放性、可互操作性与互用性、现场设备的智能化与功能自治性、系统结构的高度分散性和对现场环境的适应性等技术特点,使它能够节省硬件数量与投资、节省安装费用、节省维护费用、用户具有高度的系统集成主动权,提高了系统的准确性和可靠性。因此,现场总线近年来得到了迅猛的发展和应用,给自动控制领域带来了空前的变化。
WWW_PLCJS_COM-PLC-技.术_网
但是,目前总线标准不一,多种总线并存,它们各有自己的市场,难以实现真正意义上的开放。每一个客户的应用程序为了从数据源(数据库或设备)读取数据时,由于软件或硬件的不一致性,对于不同的设备都要开发不同的驱动程序,这样就存在以下问题:W1WW_P4LCJS_COM-PLC-技.术_网
(1) 对不同类型的设备开发的驱动程序不能为其他设备所利用,造成开发驱动程序的重复性劳动。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
(2) 硬件的特性不能够得到所有的程序开发者的支持,导致驱动程序的不一致性。WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
(3) 硬件的任何变动都可能导致驱动程序的异常,因此要求驱动程序不断适应硬件变化。WWW_PLCJS@_COM%-PLC-技.术_网
(4) 两个应用程序通常不能同时访问同一设备,存在访问冲突WWW_P※LCJS_CO※M-PLC-技-.术_网
虽然很多厂家都致力于解决这一问题,但是,客户协议的不同,问题不可能彻底解决,作为中间件的OPC也就应运而生。OPC把硬件供应商和软件供应商分离开来,提供了从设备和数据库等数据源获得数据和用一种标准的方法与任何客户通信的机制。这样,硬件开发者通过提供带有OPC接口的服务器,使任何客户程序(必须带有OPC接口)均可采用统一的方式存取不同硬件厂商的设备。从而把软件开发者从不得不考虑不同厂商的繁杂的硬件细节中解放出来,大大提高了工作效率。解决了不同厂家生产的设备之间不能通信的问题。随着网络技术的发展,远程控制成为人们追求的目标,而OPC DX技术,它是在OPC DA的基础上发展而来,融合了最新的XML技术,实现了OPC 服务器与服务器之间的通信,并解决了DCOM技术用来满足远程通信的局限性。P.L.C.技.术.网——可编程控制器技术门户
2 OPC技术简介
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
OPC(OLE for Process Control)是指过程控制中的对象链接和嵌入技术。它借用Microsoft公司的COM/DCOM技术和OLE(Object linking and embedding)技术,并将其应用于工业过程控制。它为过程控制提供了一套标准的接口、属性和方法,是实现控制系统现场设备级与过程管理级进行信息交互,实现控制系统开放性的关键技术。图1说明了采用OPC技术前后的数据访问方式:WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PL※CJS_COM-PLC-技.术_网
——可——编——程——控-制-器-技——术——门——户
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
plcjs.技.术_网
图1中的对比,可以很明了的看出,OPC采用了客户/服务器结构,OPC标准要求所有的硬件供应商将硬件设备驱动程序封装成独立的OPC服务器,负责向OPC客户端应用不断的提供数据,应用程序开发商可以根据需要使用人和语言来开发程序代码。上层应用作为OPC客户端,可以不包含任何通信接口程序,不必关心底层的硬件设备特性,也不必考虑软硬件如何通信。只要遵守OPC数据接口协议,就能够从OPC数据服务器中读取数据,从而实现数据灵活配置和多种系统的真正开发集成。OPC与应用程序关系如图2所示:WWW_PLC※JS_COM-PmLC-技.术_网
在OPC的客户/服务器结构中,OPC服务器是数据源,他们拥有数据或者从各种设备中得到数据,它常用的变成工具是C/C++。OPC客户端时数据用户,他们在应用中使用数据,但不需要了解数据,常用的编程工具是VB/Excel/Delphi等。WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
2.1 COM、DCOM介绍WW.W_PLCJS_COM-PLC-技.术_网
OPC技术主要基于COM/DCOM技术,了解了COM/DCOM技术才能真正的理解OPC。WWW_P※LCJS_COM-PLC-)技.术_网
(1) COMWWW_PLC※JS_COM-PmLC-技.术_网
COM就是一个可以用于构造软件组件的模型。组件就是一个程序包(Package)或者一段功能模块(Module),更WWW_PL※CJS_COM-PLC-技.术_网