过程控制系统中的OPC技术
作为生产过程自动化的基础 ,过程控制系统从最初采用基地式仪表的就地控制 ,发展到采用单元组合式仪表的集中控制。随着计算机的出现和微型计算机性能/价格比的不断提高 ,集散控制系统(DCS)逐渐成为过程控制系统的主流。近年来,随着智能仪表及现场总线技术的引入,控制系统以计算机为中心的特征日益明显.既然工业自动化体系,在硬件方面日趋计算机化,那么工业自动化系统的软件开发,亦必然会体现计算机领域的软件开发特点。在计算机领域,随着计算机技术的不断发展 ,应用程序和操作系统环境所具有的功能和复杂程度在迅速增加,传统的软件开发技术已难以适应软件开发的要求 ,面向对象技术成为重要的软件开发方法。面向对象方法具有良好的信息隐蔽性、模块独立性和可重用性,使应用程序的集成更加容易,而且能在不同软件厂商提供的应用程序中更为容易地对信息进行交换、合成和处理 ,可以大大提高软件的开发效率。在这方面微软的OLE(ObjectLinkingandEmbedding)/COM(ComponentObjectModule)技术是大家所熟知的面向对象开发的框架 ,并且已在计算机领域的软件开发中得到了卓有成效的应用。
OPC(OLEforProcessControl)是微软公司的对象链接和嵌入技术在过程控制方面的应用 ,为工业自动化软件面向对象的开发提供一项统一的标准。采用这项标准后 ,针对硬件的驱动程序不再由软件开发商开发 ,而是由硬件开发商根据硬件的特征提供统一的OPC接口程序。由于硬件开发商对自己的硬件特征了如指掌 ,从而能够最大限度地挖掘硬件的潜力 ,提高驱动程序的性能。采用OPC标准后 ,由硬件开发商提供统一的OPC接口程序 ,从而避免了开发重复性 ,使开发费用大大降低[1]。
1产生背景
在传统的控制系统中 ,智能设备之间及智能设备与控制系统软件之间的信息共享是通过驱动程序来实现的。由于软件开发商对驱动程序的要求各不相同,硬件供货商不可能为所有的软件开发商提供驱动程序,所以这项工作主要只能由控制系统的软件开发商承担。
随着现场总线技术 和PC机在过程控制系统中的应用,一方面网络中需进行数据访问的智能设备不断增加,另一方面 ,企业中越来越多来自不同部门的员工通过PC机对数据进行访问.这就需要更多的驱动程序,以满足以上的需要 ,而这势必会加重软件开发商的负担,使其无法全身心地投入到其核心产品的开发中去。这种开发方式主要存在以下弊端 :
(1)重复开发
每个软件系统开发商必须为每个特定的硬件开发一个驱动程序。
(2)不同开发商之间的驱动程序的不一致性软件开发商各自从自己的需要出发 ,采用不同的数据交换协议开发驱动程序 ,从而使各开发商之间的驱动程序不一致 ,并且驱动程序并不支持所有的硬件特性。
(3)不支持硬件特征的变化由于驱动程序由软件开发者开发 ,硬件特征的变化将会使有的驱动程序失效 ,为适应硬件特征的新变化 ,软件开发者必须为硬件开发新的驱动程序。
(4)访问冲突
一般来说 ,两个软件包不能同时访问同一设备 ,因为它们使用不同的驱动程序。为了解决这一问题 ,硬件开发商试图以开发驱动程序的方法来解决这一问题 ,但由于不同的客户采用不同的客户协议而无法实现[2]。
控制系统软件开发商构造一个完整的控制系统需要大量的驱动程序 ,如果再考虑兼容不同硬件厂商的产品 ,那么驱动程序的数量将更加庞大。为解决这一控制系统软件开发中的瓶颈问题 ,需要一项为业界所公认的数据交换标准来规范驱动程序的开发。现在OPC作为这方面的标准已迈出了坚实的一步。传统方式和OPC方式下的驱动程序开发的对比如图1所示。
图1
2产生历程
1995年由来自Intellution、Fisher Rosemount、IntuitiveTechnology、Opto22、RockwellSoft ware等5家控制类公司及它们的技术顾问微软公司共同发起成立了OPC标准化组织OPCTaskForce,并将其起草的有关OPC标准的几项规定发布到其Web站点(www.industry.net/opc)上 ,向来自用户和制造商的260余个OPC评论单位征询意见 ,根据收集到的反馈意见 ,OPCTaskForce对标准草案进行了修改 ,最后经其顾问微软公司的OLE专家进行认证 ,颁布了OPC1 0。
为进一步扩大OPC标准的影响 ,1996年在芝加哥举行的ISA/96会议上成立了OPC基金会(OPCFoundation),接替OPCaskForce的工作,以吸收更多的会员单位参加,使其真正成为一项为各方所接受的、开放的标准。OPC基金会下设:技术筹划委员会、市场筹划委员会OPC101版修订委员会、一致性测试委员会、历史数据访问委员会、事务登录委员会、报警处理委员会、安全委员会、标准命名协议委员会等 ,开展与OPC标准有关的各方面的工作。现在最新的OPC标准是于1997年9月11日发布的OPC1 0A。
3主体框架
OPC利用微软公司的COM/DCOM对象模型和ActiveX技术 ,为实现世界范围内所有的自动化软硬件的互操作性 ,提供一项规定。简而言之 ,它位于数据源和数据使用者之间 ,是不同制造 商的产品之间进行对话的通行证。
31对象和接口
OPC逻辑对象模型包括3类对象 :OPC服务器对象、OPC组对象、OPC项目对象 ,每类对象都包括一系列接口 ,见图2(带[]的为可选项)。
OPC服务器对象提供了一种访问数据源的方法 ,它通过IOPCServer ,OPCBrowser,IPersistFile向客户提供接口。OPC组对象包含在OPC服务器对象中 ,并由客户端定义和维护 ,每个服务器可以包含多个组对象。OPC组对象可以通过IOPCGROUNP增加或删除OPC项目对象 ,OPC项目对象包含在OPC组对象中 ,1个组对象可以包含多个项目对象 ,它同样由客户端定义和维护。
OPC客户端与OPC服务器连接并通过接口与OPC服务器通信 ,OPC服务器对象向OPC客户端提供创建和操纵OPC组对象的功能。这些组允许OPC客户对它们要访问的数据进行组织。1
个组可以作为1个单元被激活或失活。1个组也可以提供1种方法允许客户“订阅”项目列表 ,以便在项目变化时它能得到通知。
客户只能看到接口 ,所有的COM对象只能通过接口进行访问。这样 ,这里所描述的对象只是逻辑表示 ,可能与服务器的内部执行无关。
32数据访问机制
OPC标准中的接口主要有两种 :客户端和服务器程序员所使用的OPC自定义接口(OPCCOMcustominterfaces)和支持用高端商业应用(如用Visualbasic、Delphi、Excel等)开发的客户程序的OPC自动化接口(OPCOLEAutomationinterfaces)。OPC自定义接口是OPC服务器必须提供的 ,而OPC自动化接口则不一定提供。利用这两种接口与OPC服务器通信的方式见图3。
对于在分布式结构中不同的结点上客户和服务器的操作 ,OPC标准利用分布式结构DCOM使客户应用与远程服务器接口。
4带来的变化
41对用户和开发商的影响对用户来说 ,OPC意味着开放性。只要用户选择了符合OPC标准的工具箱 ,就可以选择最好的设备和软件(不管它是服务器还是客户端 ,也不管它的作者是谁)。集成已经存在的不同的系统将变得非常容易。大量的32位Windows应用程序使得用户有更大的选择余地 ,以更有效、快捷的方式构造、定制满足其需要的集成制造系统。
硬件制造者只需开发1套通用的驱动程序 ,并且其驱动程序比以往由软件开发商开发的驱动程序具有更高的性能。而软件开发者可以免除开发驱动程序的工作 ,从而使他们能够把更大的精力投入到其核心产品的开发上 ,充分发挥他们的特长 ,使其核心产品具有更高的性能 ;同时由于采用OPC标准开发的软件之间具有良好的通信能力 ,这样就使原先相互分割的商务系统和控制系统的集成成为可能 ,把企业的商务系统、控制执行系统、监视系统和控制系统无缝地集成为一体 ,构造1个两层的工业自动化体系(如图4所示) ,大大提高企业的运营效率。
42价格的下降
在传统的开发方式下 ,由于缺乏信息和数据共享的统一标准 ,驱动程序由软件厂商开发 ,每个驱动程序对应一个特定的硬件产品和一个特定的应用程序。这样每个软件开发商需要针对不同的硬件产品独立开发1套驱动程序 ,工作量变得非常庞大 ,而且各开发商重复开发 ,导致工业自动化软件的开发费用居高不下。采用OPC标准后 ,这项工作改由硬件厂商承担 ,提供统一的OPC接口程序 ,从而使整个系统的开发费用得以分散 ,工业自动化软件的价格也必将大幅度下降。
43性能的改善
在OPC开发模式下 ,驱动程序由硬件厂商开发 ,由于硬件厂商了解自己产品的细节 ,所以提供的接口程序的性能与以前由软件厂商提供的驱动程序相比有了明显的改善。以往控制软件开发商的大部分精力花在了驱动程序的开发上 ,采用OPC标准后 ,这部分工作改由硬件产品供应商承担 ,软件开发商可以把精力集中在MMI、SCA DA、MES等软件包的开发与集成上 ,提供性能更好的软件产品。
5发展近况及前景
OPC标准的制定虽然主要由少数几家公司所推动 ,但是已制定的OPC标准由来自90多家公司的专家参与 ,并参考了来自200多个合作伙伴的评论意见 ,所以具有广泛的代表性。一批国际知名的控制类公司 ,如ABB、AspenTech、Eu rotherm、Foxboro、Honeywell、NationalInstru ments、Siemens、Toshiba、Johnson Yokogawa、GEFanuc等相继宣布支持OPC标准。在这种情况下 ,毫无疑问OPC将会在控制领域发挥重大的作用 ,OPC将会成为大势所趋。
现在许多公司正在致力于利用OPC标准开发产品[3]。Wonderware公司原来一直采用Net DDE开发其软件产品 ,并且做得相当成功 ,但鉴于OPC正在成为业界标准的形式 ,现在正逐步转向采用OPC标准开发其软件产品。USDATA公司开发了1种叫做OPC友好插座的产品 ,该产品允许任何符合OPC标准的对象加入到该公司的软件中。在已开发成功的Fisher Rosemount的DeltaV过程系统中采用了OPC技术。Intellu tion作为OPC董事会成员 ,在推行OPC标准方面始终是不遗余力 ,现已利用OPC技术开发出了VisualBatch、FIXDynamics等组件产品[4]。目前国内工业过程控制和仪器仪表行业在OPC标准的推广和应用方面尚没有见到有大的动作。我们认为 ,作为一项逐渐成型的过程控制领域软硬件接口的数据通信标准 ,OPC应当受到国内同行足够的重视。
OPC是一项崭新的技术 ,发展日新月异 ,如欲获得有关OPC技术的最新信息 ,可参阅以下Web站点 :http://www.opcfoundation.org是OPC基金会站点 ,专门发布有关OPC标准的最新信息 ;http://www.intellution.com/opcsam ple.html是Intellution公司为推动OPC发展进程用于发布OPC样本代码的Web站点 ,可使用户感受OPC标准的优势及建立OPC的概括印象 ;http://dspace.dial.pipex.com/opc/是由Eurotherm的一些软件工程师发起的OPC程序员集散地 ,用于供OPC程序开发人员交流经验和体会。
楼主最近还看过