(检测技术与自动化装置专业论文)基于opc技术的火电厂水处理系统开发研究.pdf_第1页
(检测技术与自动化装置专业论文)基于opc技术的火电厂水处理系统开发研究.pdf_第2页
(检测技术与自动化装置专业论文)基于opc技术的火电厂水处理系统开发研究.pdf_第3页
(检测技术与自动化装置专业论文)基于opc技术的火电厂水处理系统开发研究.pdf_第4页
(检测技术与自动化装置专业论文)基于opc技术的火电厂水处理系统开发研究.pdf_第5页
已阅读5页,还剩73页未读 继续免费阅读

(检测技术与自动化装置专业论文)基于opc技术的火电厂水处理系统开发研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着自动控制技术的日益发展,计算机监控系统规模越来越大,不 同厂家生产的现场设备的种类在不断的增加。由于不同厂家所提供的现 场设备的通讯机制并不相同,计算机监控系统软件需要开发的设备通信 驱动程序也就越来越多,而基于c o m d c o m 技术的o p c 技术,提供了 一个统一的标准,不同厂商只要遵循o p c 技术标准就可以实现软硬件的 互操作性。 本文即是在此背景下以o p c 技术为核心,以火电厂水处理系统为载 体,将虚拟仪器技术,现场总线技术,以太网,p l c 技术等结合,建立 一个能综合各方优点的系统。 本文首先针对传统控制系统存在的问题,提出应用o p c 技术的必要 性,并进一步详细介绍了o p c 技术历史、基本概念和技术规范。接着针 对具体项目实例,开发了湖南某电厂水处理集中控制系统,并在第四章 详细介绍了其o p c 客户端的开发过程,包括o p c 对象的建立、数据的 采集及相关应用功能的开发。在第五章利用l a b v i e w 开发了水处理控制 系统中的脱水机控制子系统,实现了o p c 技术的另一种应用开发,并实 现了脱水机的数据共享和远程监控。最后对脱水机的智能控制策略进行 了探讨,提出了改进的模糊p i d 算法。 关键词:o p c ,水处理,l a b v i e w a b s 订a c t a b s t r a c t w i t ht h ed e v e l o p m e n to fa u t o m a t i cc o n t r o lt e c h n o l o g y , t h es c a l eo f c o m p u t e rm o n i t o r i n gs y s t e mi si n c r e a s i n g l yl a r g e ,t h et y p e so fd e v i c e s p r o d u c e db yd i f f e r e n t m a n u f a c t u r e r s s t e a d y i n c r e a s ei n a sd i f f e r e n t e q u i p m e n tm a n u f a c t u r e r si nt h ef i e l do fc o m m u n i c a t i o nm e c h a n i s m i sn o tt h e s a m e c o m p u t e rc o n t r o ls y s t e ms o f t w a r ew i l ln e e d t od e v e l o pm o r ea n dm o r e c o m m u n i c a t i o n se q u i p m e n t t h eo p ct e c h n o l o g yb a s e do nc o m d c o m p r o v i d eau n i f o r ms t a n d a r d ,a sl o n ga sa b i d ei t ,d i f f e r e n tm a n u f a c t u r e r sc a r l a c h i e v et h ei n t e r o p e r a b i l i t ys o f t w a r ea n dd e v i c e t h i sp a p e rt h a ti su n d e rt h i sb a c k g r o u n d ,t a k et h eo p ct e c h n o l o g ya sa c o r e ,t a k et h ep o w e rp l a n tw a t e rt r e a t m e n ts y s t e ma sac a m e li no r d e rt o i n t e g r a t et h ev i r t u a li n s t r u m e n tt e c h n o l o g y , f i e l d b u st e c h n o l o g y , e t h e r n e t , p l ct e c h n o l o g y , a n de s t a b l i s ha c o m p r e h e n s i v es y s t e mm e r i t s o ft h e p a r t i e s f i r s t l 2 ,a i m e da tt h ew e a k n e s so ft r a d i t i o n a lc o n t r o ls y s t e m s ,t h en e c e s s i t y o ft h eo p ct e c h n o l o g yi sp r o p o s e d ,f u r t h e ri nd e t a i li n t r o d u c e dt h eh i s t o r yo f o p ct e c h n o l o g y , t h eb a s i cc o n c e p ta n dt e c h n i c a ls p e c i f i c a t i o n si nt h i sp a p e r a f t e rt h a t ,i td e v e l o p e dac e n t r a l i z e dc o n t r o ls y s t e mf o rt h ew a t e rt r e a t m e n t p l a n ti nh u n a np r o v i n c e t h ed e v e l o p m e n tp r o c e s so ft h eo p cc l i e n ti s d e s c r i b e di nc h a p t e r4 ,i n c l u d i n gt h ee s t a b l i s h m e n to fo p ct a r g e t s ,d a t a a c q u i s i t i o na n dt h ed e v e l o p m e n to fr e l a t e da p p l i c a t i o n sf u n c t i o n i nc h a p t e rv ad e h y d r a t i o nc o n t r o ls y s t e mw i t hl a b v i e ww h i c hw a sas u b s y s t e mo ft h e w a t e rc o n t r o ls y s t e mi sd e v e l o p e d ,r e a l i z e da n o t h e ra p p l i c a t i o no ft h eo p c t e c h n o l o g y , r e a l i z e dd a t as h a r i n ga n dr e m o t em o n i t o r i n go ft h ed e h y d r a t i o n c o n t r o l s y s t e m f i n a l l y , i t d i s c u s s e dt h e i n t e l l i g e n t c o n t r o l s t r a t e g y f o r i i 武汉工程大学硕士学位论文 d e h y d r a t i o n ,p r o p o s e daf u z z yp i da l g o r i t h mt oi m p r o v e i t k e yw o r d s :0 p c ,w a t e rt r e a t m e n t ,l a b v i e w 1 l i 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文 不包含任何其他个人或集体己经发表或撰写过的研究成果。对本文的研 究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识 到本声明的法律结果由本人承担。, 学位论文作者签名:罄奴孳 学位论文版权使用授权书 q 年6 月f 。日 , 本学位论文作者完全了解我校有关保留、使用学位论文的规定,即: 我校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允 许论文被查阅。本人授权武汉工程大学研究生处可以将本学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等 复制手段保存和汇编本学位论文。 保密0 ,在年解密后适用本授权书。 本论文属于 不保密o 。 靴者繇帚酶 扣0 年6 月c 。日 指 第1 章绪论 1 1 课题的来源和背景 第1 章绪论 本文是作者以参与湖南耒阳综合利用电厂水控制系统设计、安装、 调试为背景,论述了水处理的自动控制和基于o p c 技术的计算机监控系 统的设计,同时针对现有的电厂污水处理中的脱水系统控制缺点,提出 了模糊p i d 控制策略对系统进行改进。 1 2 问题的提出 1 2 1 电力工业在国民经济发展中的地位和作用 能源是发展社会生产和提高人民生活水平的重要物质基础,在国民 经济发展中占有先决的地位。电能便于集中、分散、传输、控制和转换 成其他形式的能源,因此,电能的使用己遍及国民经济及人民生活的各 个领域,成为现代社会的必需品,成为经济发展的“先行工业”,成为国 家发达的“生命线”。电力工业的发展已成为一个国家经济和文化发达程 度的重要标志。保证供给充足的电力,成为各个地区、各个国家发展经 济的先决环境条件。 我们从已经实现工业化并走上现代化国家的历史进程中,可以明显 看到电力工业在国民经济发展中的重要作用。以前苏联、日本为例,前 苏联在最初的几个五年计划中,为了满足国民经济发展对电力日益增长 的需要,注意以较快的速度发展电力工业,电力增长率与国民经济总产 值增长率的比值一直大于1 0 。1 9 3 7 年前苏联的发电量居世界第1 5 位, 到1 9 7 1 年便上升到第2 位。日本为解决4 0 年代后期出现的电力严重短 缺的问题,把社会投资的4 0 以上投入电力工业。1 9 5 1 1 9 8 6 年日本发电 装机容量平均增长率为8 ,最大电力负荷平均增长率为7 6 。日本电 武汉工程大学硕士学位论文 力工业在备用容量力一面和发展速度方面都保证电力先行的地位。这都 无疑说明电力工业是国民经济重要的基础工业,是国家经济发展战略中 的重点和先进产业。 电力技术和电力工业的出现和发展改变了人们的生产和生活面貌, 促使经济以前所未有的速度向前发展。美国原来落后于英国、德国等国 家,电力技术革命使美国后来者居上,成为最发达的国家。毛泽东说:“蒸 汽机的出现是一次技术革命,而电力的出现又是一次技术革命”。电力技 术革命起源于欧洲,完成在美国。恩格斯对电力作了足够估价,他指出 电力网的扩张将“使工业几乎彻底摆脱地方条件所规定的一切界限,并 且使遥远的水力的利用成为可能,如果在最初它只是对城市有利,那么 到最后它终将成为消除城乡对立的强有力的杠杆。”后来的历史发展证明 了他的预见。事实表明,在工业化、现代化进程中,随着科学技术与工 农业生产的进步和发展,各项社会事业的发达,人们生活水平的提高, 社会对电力的依赖程度和需求数量越来越多,优先发展电力工业已成为 实现工业化、现代化不可缺少的前提一刹牛和物质基础。社会现代化程 度越高,对电力的需求就越大,如今电力工业的发展程度已成为衡量一 个国家国民经济发展水平的重要标志。 1 2 2 火电厂水处理系统采用计算机实时监控的必要性 随着经济的日益发展,用电量迅速增大,据统计,从1 9 2 0 年以来, 世界上发电设备容量和年发电量一直以大约1 0 年增加1 倍的速度发展。 我国电力工业发展迅速,至1 9 9 9 年底装机容量己达约2 8 亿k w ,年发 电量约1 2 万亿k w h ,以火力发电为主,约占全国电厂的7 0 左右。近 两年,由于全国经济的快速发展,电力需求加大,致使许多地区出现了 电力供应紧张的局面,因此全国开始加快了电力建设的步伐。 由于水在火力发电厂的生产过程中,既担负着传递能量的重要作用, 同时又担负着冷却介质的作用,因此在发电过程中,水处理占有重要地 第1 章绪论 位。但是由于当前全球水资源匾乏,特别是我国的水资源人均占有量更 是低于全球平均水平,水资源十分匾乏,而火电厂又是一个耗水大户, 因此对于水资源的合理利用及分配十分重要,所以有必要设计开发一种 先进的控制系统,从硬件和软件入手,实现电厂的自动化,以保证电厂 经济、安全地运行,达到节水的目的。同时由于火电厂中各发电机组的 水处理装置多而分散,不便准确操作,很有必要设计开发一种监控系统, 对各水处理装置进行监控,既减少了操作人员的工作量,又提高了电厂 的自动化水平。这就使得电厂的水处理系统采用计算机控制成为一种必 然的趋势。 1 2 3 传统的实时监控系统存在的问题 传统的实时监控系统作为支撑现代工业生产和社会生活的基础设 施,得到了广泛的应用和发展。但由于系统不具备开放性,各个部分的 联系过于紧密,使系统过于复杂,系统的更新、扩展、升级变得非常困 难。 传统的实时监控系统开发中出现的另一个主要问题是软件的重复开 发。由于工业控制软件缺乏统一的工业标准,不同厂家的软件之间进行 通讯相当麻烦。各个厂家的软件对控制系统硬件操作的设备驱动程序接 口也各不相同,为了对市场上不同厂家的设备都能管理,控制软件厂家 必须针对市场上几百种常用的设备开发设备驱动程序,而且当硬件设备 升级或者修改时,驱动程序也必须做相应修改,这样做下来成本相当高。 此外,一个系统中如果同时运行不同的工业控制软件,不同的应用程序 不可能同时访问同一设备,当他们通过各自的设备驱动程序同时对一个 硬件设备操作时,往往会由于相互之间的不协调、不兼容造成系统间的 不协调、不兼容造成系统的崩溃,影响到整个系统的运行情况。如果设 备驱动程序由硬件设备制造厂开发,那么他们也必须为市场上所有的工 业控制软件都开发相应驱动程序,成本同样是非常高的【】。 武汉工程大学硕士学位论文 例如在一个基于传统实时监控系统建立的火力发电厂发电厂的中, 可能出现补给水处理采用下位机用西门子s 7 3 0 0 x 型p l c ,上位机监控应 用程序采用i f i x2 8 :凝结水处理采用下位机采用m o d i c o nq u a n t u m 系 列p l c 产品,上位机监控应用程序采用i n t o u c h ;循环水处理下位机采用 o m r o n 系列p l c 产品,上位机监控应用程序采用v b 6 0 编程;废水处理则 用单片机实现。这样在水处理一个系统中就存在较大的兼容性问题,那 可以想象实现电厂全厂信息共享,实现电厂生产调度最优化配置的难度。 图1 传统控制系统接口连接 为了不同供应厂商的设备和应用程序之间的软件接口标准化,使其 间的数据交换更加简单化,基于微软的o l e ( 现在的a c t i v ex ) 、c o m ( 部 件对象模型) 和d c o m ( 分布式部件对象模型) 技术,工业控制领域提出 o p c ( o l ef o rp r o c e s sc o n t r 0 1 ) ,用于过程控制的o l e ) 的概念。 1 3 本文的主要研究内容及安排 本课题试图以o p c 技术为核心和纽带,以火电厂水处理系统为载体, 将虚拟仪器技术,现场总线技术,以太网,p l c 技术等融合在一起,发 第1 章绪论 挥各个技术本身的优势,开发出最大限度的满足生产需要的自动化系统。 同时针对脱水过程中传统控制模式的缺点,提出模糊p i d 控制方式,以 改善污水固液分离的质量。 各章节安排如下: 在第二章中详细介绍关于o p c 技术的历史、基本概念和技术规范, 接着在第三章设计了某电厂的水处理控制系统,实现了o p c 的具体应用, 并在第四章中详细介绍了该项目o p c 客户端的开发过程。第五章用 l a b v i e w 开发了脱水机控制系统,并实现了数据的远程共享和监视。针对 脱水机控制的特点,在第六章对其控制策略提出改进并仿真实现。最后 对整个设计进行了总结和展望。 武汉工程大学硕士学位论文 2 1o p c 规范简介 第2 章o p c 技术规范研究 o p c 是o l ef o rp r o c e s sc o n t r o l 的缩写,意思是把o l e 技术应用于 工业控制领域。o l e 原意是对象链接与嵌入,随着o l e 2 0 的发布,其 范围已远远超出了这个概念。现在的o l e 包容了许多新的特征,如统一 数据传输、结构化存储和自动化,已经成为独立于计算机语言、操作系 统甚至硬件平台的一种规范,是面向对象程序设计概念的进一步延伸。 o p c 建立在o l e 规范之上,它为工业控制领域提供了一种标准的数据访 问机制“。 o p c 服务器实现了一套标准的c o m 接口,即o p c 接口,任何一个 o p c 客户都可以连接到由一个或多个供应商提供的o p c 服务器上。只要 工业自动化软件符合o p c 规范,它不需要做任何修改就能一致地访问所 有的o p c 服务器实现的硬件驱动程序。而且o p c 客户可以透明地与网 络计算机商的o p c 服务器进行通讯,对软件实现网络化极其方便。 o p c 技术规范以m i c r o s o f t 的o l e c o m 设计为基础,它所定义的 是一组接口规范,包括o p c 自动化接i s l ( a u t o m a t i o ni n t e r f a c e ) 和客户化接 口( c u s t o mi n t e r f a c e ) 两个部分,其实质是在硬件供应商和软件开发商之间 建立了一套完整的接口规则,只要遵循这套规则,数据交换对两者来说 都是透明的,硬件供应商无需考虑应用程序的多种需求和传输协议,软 件开发商也无需了解硬件的实质和操作过程。o p c 技术规范定义的是 o p c 服务器程序和客户机程序进行接口或通讯的一种规则,它不规定如 何具体来实现这种接口。“6 1 o p c 技术的应用允许用户以一致性方式访问工厂底层数据,工业系 统中采用o p c 技术可以带来许多好处: o p c 规范以o l e d c o m 为技术基础,而o l e d c o m 支持t c p i p 等 第2 章o p c 技术规范研究 网络协议,因此可以将各个子系统从物理上分开,分布于网络的不同 节点上。一 o p c 按照面向对象的原则,将一个应用程序( o p c 服务器) 作为一 个对象封装起来,只将接口方法暴露在外面,客户以统一的方式去调 用这个方法,从而保证软件对客户的透明性,使得用户完全从低层的 开发中脱离出来。 图2 基于o p c 的软件结构 o p c 实现了远程调用,使得应用程序的分布与系统硬件的分布无关, 便于系统硬件配置以及,使得系统的应用范围更广。 采用o p c 规范,便于系统的组态化,将系统复杂性大大简化,可以 大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统 的升级与维护。 o p c 规范了接口函数,不管现场设备以何种形式存在,客户都以统一 的方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。 2 2o p g 的历史及其在我国的发展应用 o p c 是一个工业标准,是许多世界领先的自动化软、硬件公司与微 软公司合作的结果。o p c 基金会组织负责管理该标准。该基金会的会员 武汉工程大学硕士学位论文 单位在世界范围内超过了1 5 0 个,包括了世界上几乎全部的控制系统和 仪器仪表的主要供应商,当然也包括中国的一些公司和机构。o p c 基金 会的先驱是一支由f i s h e r r o s e m o u n t ,r o c k w e l l 软件公司、 o p t o2 2 i n t e l l u t i o n 和i n t u i t i v et e c h n o l o g y 公司所组成的 特别工作组,在经过一年工作后,开发出了第一个基本的、可运行的o p c 规范。简化的第一阶段的标准在1 9 9 6 年8 月发布。 由于o p c 基金会是单纯地建立在微软己有标准的基础之上,因而 o p c 基金会比其他许多标准化组织能够更快地投入工作。微软是o p c 基 金会成员,并且给基金会提供了强有力的支持。微软一直提供强大的后 援支持、并让具有直接工业经验的o p c 基金会会员公司指导基金会的工 作。 o p c 基金会鼓励最终用户加入,同时许多制造商也积极地参与了规 范和技术的复审过程,最终用户和自动化供应商都能从该标准获益。对 今天每一个己安装的自动化系统来说,有相当大的一部分时间和资金是 用在系统集成上。o p c 标准保证了自动化系统之间及商业系统之间可以 经过工厂来共享信息和相互操作。现在的o p c 基金会的理事会是由 f i s h e r r o s m o u n t ,h o n e y ,e l l ,i n t e l l u t i o n ,n a t l 0 n a l i n s t r u m e n t 以及欧洲代表的s i e m e n s 和远东代表t o s h i b a 所组成。 o p c 基金会从成立开始会员逐年增加,到目前为止在全球范围内已有近 3 0 0 家公司加入了这个组织。同时由控制设备厂商和控制软件供应商提供 的o p c 产品也日益增加,目前已有上千种o p c 服务器产品和o p c 应用 程序产品出现在由o p c 基金会发行的o p c 产品目录上。 o p c 规范最初的目标是尽快制定一个工业标准,因此最初版本侧重 于在线数据存取、报警事件处理和历史数据存取等方面。安全性、批处 理等附加的功能则在随后的版本中定义。由于o p c 是建立在己成为软件 模型标准的c o m 技术之上,因此该标准更容易为各工控软硬件厂商所接 受。事实上,o p c 的结构体系增强了c o m 接口的优点,而c o m 接口本 第2 章0 p c 技术规范研究 身则提供了方便扩展o p c 功能的机制,因而o p c 规范作为一项工业标 准己经得到了广泛认可。 经过不到一年的高效工作,o p c 基金会于1 9 年8 月完成了最初的 o p c 规范,即1 0 版。后来于1 9 9 7 年9 月发布了o p c 规范l o a 版,并 改名为数据存取规范1 o a 版。该规范现己升级到2 0 4 版。数据存取规 范定义了o p c 服务器中一组c o m 对象及其接口,并规定了客户程序对 服务器程序进行数据存取时需要遵循的标准。 1 9 9 8 年1 2 月发布了报警事件规范1 0 版。1 9 9 9 年1 2 月升级到1 o l 版。该规范提供了一种通知机制,即在指定事件或报警条件发生时o p c 服务器能够主动通知客户程序。 1 9 9 8 年还发布了历史数据存取规范1 0 版。由于现在大部分历史数 据系统采用专用接口分发数据,因此无法提供即插即用的功能。为此, 该规范提供一种通用历史数据引擎,可以向感兴趣的用户和客户程序提 供数据汇总和数据分析等额外的信息。 2 0 0 0 年1 月发布了批量过程规范1 0 版。该规范基于o p c 数据存取 规范和i s a 8 8 系列批量控制标准,提供了一种存取实时批量数据和设备 信息的方法。 2 0 0 0 年l o 月发布了安全性规范1 0 版。它提供了一种专门的机制来 保护安全敏感数据。 2 0 0 0 年1 2 月,o p c 国际基金会中国分会在北京成立。o p c 技术作 为一项工业标准在国内得到了逐步推广和应用。不少自动化仪表制造厂 商在提供硬件的同时也提供相应o p c 服务器。一些国内工控软件公司也 充分利用o p c 技术增强和扩展其软件功能,例如北京亚控公司从组态王 5 1 版本开始支持o p c 技术,力控和浙大中控等开发的新版组态软件也均 对o p c 提供支持。 虽然在我国有越来越多的厂商推出了采用o p c 技术的产品,但其兼 容性、操作性还有待提高。因此,国内工业自动化领域的科研机构和制 武汉工程大学硕士学位论文 造厂商应加强合作,紧紧把握住最新技术,推动我国自动控制系统的发 展。 2 3c o m 技术 2 3 1c o m 的基本概念 随着计算机软件科学的发展,应用系统功能日趋复杂,程序愈加庞 大,软件开发的难度也更大。为此,需要将应用程序划分为多个功能独 立的模块,由各模块协同完成实际的任务。这些模块被称为组件,它们 可以被进行单独设计、编译和调试。组件与组件之间通过接口进行通信, 因此,组件之间的接口就是组件软件的关键,在同一软件中的组件必须 使用同样的接口标准才能保证组件之间可以进行通信。c o m ( c o m p o n e n t o b j e c tm o d e l 组件对象模型) 就是一个由微软公司推出的开放的组件标 准。 c o m 不仅仅提供了组件之间的接口标准,它还引用了面向对象的思想。 在c o m 标准中,对象是一个非常活跃的元素,通常把它称为c o m 对象。类 似于c + + 中对象的概念,对象是某个类的实例:而类是一组相关的数据和 功能组合在一起的一个定义。c o m 对象被很好地封装起来,客户无法访问 对象的内部实现细节,也无法知道对象使用了什么数据结构,访问c o m 对 象的唯一途径是通过接口,b p c o m 接口。使用对象的应用( 或另一个对象) 称为客户嘲。 2 3 2c o m 接口 c o m 规范的核心内容就是关于接口的定义,接口是包含了一组函数的 数据结构,通过这组数据结构,客户代码可以调用组件对象的功能。接 口定义了一组成员函数,这组成员函数是组件对象暴露出来的所有信息, 客户程序利用这些函数获得组件对象的服务。 第2 章o p c 技术规范研究 c o m 接口是一组逻辑上相关的函数集合,其函数也被称为接口成员函 数。每个c o m 接口都由一个1 2 8 位的全局唯一标识符g u i d 来标识。客户通 过g u i d 获得接口的指针,再通过接口指针,客户就可以调用其相应的成 员函数。 c o m 接口的特点阳1 : 二进制特性。接口规范并不是建立在任何编程语言的基础上,而 是规定了二进制的标准。任何语言只要有足够的数据语言表达能力,就 可以对接口进行描述,从而可以用于组件程序有关的应用开发。 接口不变性。接口是组件客户程序和组件对象之间的桥梁,接口 如果经常发生变化,则客户程序和组件程序也要跟着变化,这对于应用 系统的开发非常不利。因此,接口应该保持不变,只要客户程序和组件 程序都按照既定的接口设计进行开发,则可以保证在两者独立开发结束 后,它们的协作运行能力能达到预期的效果。 继承性。不变性并不意味着接口不再发展,接口也需要发展,可 以继承发展。接口继承与类继承不同。首先,类继承不仅是说明继承, 也是实现继承,即派生类可以继承基类的函数实现:而接口继承只是说明 继承,即派生的接口只继承了基接口的成员函数说明,并没有继承基接 口的实现,因为接口定义不包括函数实现部分。其次,类继承允许多重 继承,一个派生类可以有多个基类,但接口继承只允许单继承,不允许 多重继承。 多态性。所谓多态性是指发出同样的消息被不同类型的对象接收 时导致完全不同的行为。这里所说的消息,主要是指对类的成员函数的 调用,而不同的行为是指不同的实现。c o m 对象也有多态性,其多态性通 过c o m 接口体现。多态性使得客户可以用统一的方法处理不同的对象,甚 至是不同类型的对象,只要它们实现了同样的接口。如果几个不同的c o m 对象实现了同一接口,则客户程序可以用同样的代码调用这些c o m 对象。 2 3 2 1 接口描述语言i d l 武汉工程大学硕士学位论文 c o m 规范在采用o s f ( o p e ns o f t w a r ef o u n d a t i o n ) 的d c e 规范描述远 程调用接口描述语言( i n t e r f a c ed e s c r i p t i o nl a n g u a g e ,i d l ) 的基础上, 进行扩展形成t c o m 接口的描述语言。接口描述语言提供了一种不依赖于 任何语言的接口描述方法,因此,它可以成为组件程序和客户程序之间 的共同语言。 、 c o m 规范使用的i d l 接口描述语言不仅可用于定义c o m 接口,同时还定 义了一些常用的数据类型,也可以描述自定义的数据结构,对于接口成 员函数,可以指定每个参数的类型、输入输出特性,甚至支持可变长度 的数组的描述。 2 3 2 2l u n k n o w n 接口 c o m 定义的每一个接口都必须从i u n k n o w n 继承过来,i u n k n o w n 接口提 供了两个非常重要的特性:生存期控制和接口查询。客户程序只能通过接 口与c o m 对象进行通信,虽然客户程序可以不管对象内部的实现细节,但 它要控制对象的存在与否。 如果客户还要继续对对象进行操作,则它必须保证对象能一直存在 于内存中;如果客户对对象的操作已经完成,以后也不再需要该对象了, 则它必须及时地把对象释放掉,以提高资源的利用率。i u n k n o w n 弓 入了 “引用计数”( r e f e r e n c ec o u n t i n g ) 方法,可以有效地控制对象的生存 周期。 另一方面,如果一个c o m 对象实现了多个接口,在初始时刻,客户程 序不太可能得到该对象所有的接口指针,它只会拥有一个接口指针。如 果客户程序需要其他的指针,那么它如何通过这个接口指针获得另一个 接口指针呢? i u n k n o w n 使用了“接口查询”( q u e r y i n t e r f a c e ) 的方法来完 成接口之间的跳转。 i u n k n o w n 接口定义如下: c l a s si u n k n o w n 1 2 第2 章o p c 技术规范研究 p u b l i c v i r t u a lh r e s u l t _ s t d c a l lo u e r y i n t e r f a c e ( c o n s tl l d & ii d ,v o i d + p p v ) = 0 : v i r t u a lu l o n gs t d c a l la d d r e f 0 = 0 : v i r t u a lu l o n gs t d c a l lr e l e a s e 0 = 0 : ) ; i u n k n o w n 包含了三个成员函数:q u e r y i n t e r f a c e ,a d d r e f 和 r e l e a s e q u e r y i n t e r f a c e 函数指向特定对象的特定接口的指针。它允许 客户查询对象以便确定它支持哪些接口。a d d r e f 和r e l e a s e 跟踪对象的引 用计数,当应用程序得到接口指针p i n t e r f a c e 的访问时,它调用 p i n t e r f a c e 一 a d d r e f 来增加引用计数,当应用程序处理完指针时,它调 用p i n t e r f a c e 一 r e l e a s e 来减少引用计数。如果指定接口的引用计数为 零,接口的执行被释放。如果一个对象整体上不再带有引用指针,”那么 对象被释放。 在组件对象模型c o m 之上,m i c r o s o f t 公司同计算机界合作并发展了产 品规范o l e ( o b j e c tl i n k i n ga n de m b e d d i n g ,对象链接和嵌入) 。在实 现上,它遵照c o m 的标准规范,组件的接口定义、客户对象模型、,结构 化存储和全局唯一标识符等。随着o l e 2 0 的发布,现在的o l e 包容了许 多新的特征,如统一数据传输、结构化存储和自动化,已经成为独立于 计算机语言、操作系统甚至硬件平台的一种规范,是面向对象程序设计 概念的进一步延伸。 o p c 是o l ef o rp r o c e s sc o n t r o l 的缩写,意思是把o l e 技术应用于工 业控制领域,o p c 建立在o l e 规范之上,它为工业控制领域提供了一种标 准的数据访问机制。 2 4o p c 规范 o p c 基金会制定了下列规范,包括:o p c 数据存取规范、o p c 报警与事 件规范、o p c 历史数据存取规范、o p c 批量过程规范、o p c 安全性规范、 武汉工程大学硕士学位论文 o p c 复杂数据规范、o p cx m l 数据存取规范等。而在这中问数据存取规范 采取是最早发布,也是最作用的规范,是其它应用的基础。下面将重点 介绍,并将其它规范作简单介绍。 2 4 1 数据访问规范 o p c 数据存取规范( o p cd a t aa c c e s ss p e c i f i c a t i o n ) 是o p c 基金会最 初制定的一个工业标准,其重点是对现场设备的在线数据进行存取。该 规范分为定制接口规范和自动化接口规范两部分,两种接口完成的功能 类似, o p c 的数据访问规范中包含3 类对象:服务器( s e r v e r ) 、组( g r o u p ) 和 项( i t e m ) 。3 类对象的组织结构就像普通文件系统,其中服务器与分区、 组与文件夹、项与文件一一对应。各个部分都有自己的属性,同时负责 管理其底层分支。 1 ) 服务器数据访问规范中的o p c 服务器对象维护相关服务器信息并 作为o p c 组对象的包容器。服务器信息包括提供商和版本信息、服务器所 在的机器名以及服务器名称( p r o g i d ) 和支持的接口。组别的管理是通过 一些接口完成的。另外为了使客户端能够获得服务器端地址空间( 项和组 的结构) 的定义,服务器对象还必须提供浏览服务 器地址空问的接口。 2 ) 组o p c 组用于维护有关其自身的信息,提供包容o p c 项的机制并 管理o p c 项。通过配置组的属性,客户程序可以为该组内所有的项定义服 务器刷新数据的频率:调用组的方法可以控制组内所有点名访问的有效 性:同时组内项目数据的更新也将触发数据变化事件。例如,可以为某个 设备的所有项分配一个组别,然后由该组来完成对该设备访问的统一管 理。o p c 组通常有两类组成:公有组别和私有组别。公有是指数据可以为 多个客户所共享:私有则只限于一个客户。每个组别中,客户程序可以定 义一个或多个项目。 第2 章o p c 技术规范研究 3 ) 项目o p c 项目描述服务器和数据源的连接,项目其实就像组态中 的点名,又被称为标签( t a g ) 。每个项目都有名称、品质和时间标签等属 性。名称即为该项的标识,在每组内是唯一的,不同的组别内,标识允 许相同,这和文件名的属性是一致的:值的类型是v a r i a n t :品质则和现场 总线的描述类似,包括数据的好坏、通信的正常与否等:时间标签由数据 访问缓冲区还是直接访问设备而有所区别,它和数值是对应的,而不一 定是当前时间。需要指出的是,项目不是真正的物理数据源,它只代表 和物理数据源的连接,可以简单地认为是数据的地址。 o p c 基金会为方便用户在各种环境下软件开发,为数据访问规范提供 两类接口:自动化接口和定制接口。基于定制接口的开发,需要用到较深 的c o m d c o m j i h 识,而运用自动化接口则有以下优点:客户程序可以很容易 地应用接口,而无需了解接口的详细内部机理:可以运用事件触发机制: 可以生成一个通用的动态链接库或控件供所有客户端应用程序使用。另 外,从定制接口观点看,o p c 项目没有对外的接口定义。所有对o p c 项目 的访问需经由包含或者定义它的o p c 组别来完成,艮p o p c 客户程序不允许 将o p c 项目作为一个类来访问。而对自动化接口而言,由于封装的动态链 接库解决了项目的接口定义问题,所以项目的访问相对而言更加容易些。 o p cd a 规范定义了两种读写o p c 项目接口的方式n 町: 同步方式:该方式可以从缓存中进行同步读数据( 比较简单且相对 有效) 。这是在数据量相对较少且不需要较高性能条件下的非常简单的客 户应用。 异步方式:该方式能够利用i a d v is e s i n k 或l o p c d a t a c a ll b a c k 从缓 存数据中订阅( s u b s c r i b e ) 数据,该方法较为复杂但效率高。一般客户程 序推荐采用本方式,因为它最少利用c p o 和网络的资源。在所有情况下, o p cda 服务器均允许客户访问现有o p c 项目的值。o p cd a 服务器只在缓 存中保留现行的信息,旧的信息将被覆盖。因而,o p cd a 服务器不能保 证o p cd a 客户接收到所有改变了的值( 在异步方式下同样不能) 。 武汉工程大学硕士学位论文 本文的客户端编程采用自动化接口及异步方式,以下说明的是在这 种方式下的数据访问实现机制。 如图3 所示客户应用程序通过封装的o p c 自动化接口动态链接库访问 o p c 数据访问服务器。该动态链接库0 p c d a a u t o d l l 由o p c 基金会封装提 供,它将o p c 数据访问服务器的定制接口翻译成客户程序希望的自动化接 口,以供客户程序调用。客户程序和动态链接库是进程内的通信,而动 态链接库矛1 3 0 p c 数据访问服务器的通信则基于c o m d c o m ,既可以是进程内 或本地的连接,又可以是远程连接。封装的动态链接库解决了定制接口 的解释和二者的通信,从而大大简化了客户端的程序开发。 图3 客户程序与数据服务器间的通信 客户端应用程序的开发关键在于理解该动态链接库的封装结构,即 自动化接口标准。该标准可以用如图所示的自动化对象模型表示。它主 要由6 类对象组成,每个对象都封装了一些属性、方法和事件。 1 ) o p c s e r v e r o p c s e r v e r 是o p c j 报务器的个实例,它是创建其他对象的基础,是 客户端应用程序必须首先实例化的对象。该对象具有如下属性:版本信 息、连接点数、o p c g r o p s 等:方法包括获取指定机器内的服务器列表、建 第2 章o p c 技术规范研究 立与服务器的连接断开、获得指定服务器的g r o u p s 歹1 表、创建服务器的 树形浏览对象( o p c b r o w s e r ) 以及得到指定项的属性列表。如果服务器关 闭,则0 p c s e r v e r s h u t d o w n 事件将被激活。 2 ) o p c g r o u p s o p c g r o u p s 是o p c g r o u p 的集合,可以通过o p c s e r v e r 获得。它主要用 来创建、删除和维护组别。除了计数、父结点属性外,它还包含组的默 认属性设置( 添加的新组如果没有手工配置属性的话,将被赋予这些默认 的属性设置) 。方法包括添加删除组别,获取指定组别以及服务器公共 组别的管理。 图4 自动化对象模型 3 ) o p c g r o u p o p c g r o u p 主要用于客户程序组织管理数据项。它的属性包括名称、 父结点、数据更新频率、客户端句柄、激活状态以及包含的o p c i t e m s 等。 方法主要为同步异步读写操作( 完成该组内一批点名的数据读写操作) 和数据刷新。异步数据读写完成与否或者指定项的数据改变将触发事件, 武汉工程大学硕士学位论文 通过检测这些事件可以提高数据访问的效率。 4 ) o p c i t e m s o p c i t e m s 是项目的集合,它是o p c g r o u p 的属性之一。当新添加一个 项时将被赋于一个默认的属性,这个默认的属性由该对象给出。方法包 括获取指定的项、添加删除项、禁止使能对某一个或多个项的访问等。 5 ) o p c i t e m o p c i t e m 描述客户和数据服务器的一个连接。它的属性包括:父结 点、访问旬柄、值、类型、品质、时间标签等;方法为读写数据。 6 ) o p c b r o w s e r 该对象提供了个可以浏览指定服务器中各组别和项目的树形分支 结构的工具,它由o p c s e r v e r e i j 建。属性包括组织结构、过滤器、数据类 型、当前位置、计数器等。方法有:展开分支、展开叶子、向上向下展 开、回到根结点、获取项目名及其相应属性。该对象是可选组件( 有的服 务器可能不提供的接口) 。如果服务器没有提供该接口,将无法实例化该 对象。 为了实现对服务器端数据的访问,客户端程序必须首先明确要连接 的服务器所在的机器名( 也可以是i p 地址形式) 、该服务器名( p r o g i d ) 和 所要访问的项目名称,其中服务器名可以由o p c s e r v e r 对象获得:而项目 名称可以通过o p c b r o w s e r 对象取得。明确这3 个要素后,客户端程序通常 可由以下几步实现: 1 ) 实例化期望的数据服务器并建立连接。 2 ) 获取该服务器的组列表和项目集合。 3 ) 访问项目名。 4 ) 断开连接,释放资源。 2 4 2o p c 报警与事件规范 o p c 报警与事件服务器提供了发生特定事件与报警条件时通知给 第2 章o p c 技术规范研究 o p c 客户的机制,同时也提供了一些服务,这些服务允许o p c 客户决定其 发生的事件与条件,并且o p c 客户可获取接口的当前状态“。我们通常把 访问过程控制中的实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论