(控制理论与控制工程专业论文)基于web服务的opc+xmlda中间件服务器的设计与实现.pdf_第1页
(控制理论与控制工程专业论文)基于web服务的opc+xmlda中间件服务器的设计与实现.pdf_第2页
(控制理论与控制工程专业论文)基于web服务的opc+xmlda中间件服务器的设计与实现.pdf_第3页
(控制理论与控制工程专业论文)基于web服务的opc+xmlda中间件服务器的设计与实现.pdf_第4页
(控制理论与控制工程专业论文)基于web服务的opc+xmlda中间件服务器的设计与实现.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(控制理论与控制工程专业论文)基于web服务的opc+xmlda中间件服务器的设计与实现.pdf.pdf 免费下载

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

文档简介

中国科学技术大学硕士论文 摘要 摘要 在当今工业控制领域,o p c 规范已被确定为数据交换接口的一种工业标准, 得到了过程控制设备制造商和工业控制软件开发商的支持。 目前,实际应用的o p c 服务器大多是基于c o m 技术,但由于c o m 自身的 一些特点,使它的应用受到了一定的限制。由于c o m d c o m 对m i c r o s o f t 平台 的依赖性,使得o p cc o m 接口很难被应用到其它平台上。由于网络防火墙会过 滤掉大多数基于c o m 传输的数据,故o p cc o m 不能与i n t e m e t 应用程序进行 交互。企业应用程序( 例如e r p ) 需要实时的工业现场数据,这些数据通常来自具 有o p cc o m 接口的服务器。但是这些上层应用程序大多没有与o p cc o m 服务 器交互的o p cc o m 接口,因而不能进行连接。 为了满足企业数据跨平台、跨层次交换的需求,o p c 基金会制定并发布了 基于w e b 服务技术的o p cx m l d a 接口规范。o p cx m l d a 将要交换的结构 化数据信息组织为s o a p 消息来传输。基于x m l 技术和s o a p 技术,o p c x m l d a 可以实现工业现场数据跨越i n t e m e t 的传输,简化不同应用间的互操作 性,并将现场层数据统- n 企业层的应用中,实现与诸如m e s 和e r p 等系统的 一体化连接。 本文通过采用基于w e b 服务的o p cx m l d a 新技术,实现了一种新的更具 有开放性的o p c 服务器中间件服务器的设计,使得远程用户可以使用定制 的客户端或浏览器通过互联网或局域网实现远程数据交换,并进而实现对现场的 远程监控。该设计完成了对现有的基于o p cc o m 接口规范的工业数据的x m l 化工作,很方便地实现了现存的基于c o m 技术的o p cd a 服务器的升级。由于 采用了标准的o p c 接口和w e b 服务调用接口,方便了系统的扩展和升级。本文 为基于o p cx m l d a 规范的研究开发提供了借鉴经验,对于工控系统的开放性 研究提供了一种思路。 在所做研究工作的基础上,作者撰写了本论文,全文共分为六章。 第一章概述了工控领域数据通信的发展,介绍了o p c 技术的概念、发展以 和o p cx m l d a 规范,以及作者所做的主要工作。 第二章和第三章对是在作者大量调研的基础上完成的,是设计工作的基础与 铺垫。第二章对o p c 的技术基础c o m 和w e b 服务进行了介绍。第三章对 研发所用到的主要的o p c 规范0 p cd a 规范和o p cx m l d a 规范进行了研 究。 第四章、第五章和第六章介绍了作者的主要研究成果。 第四章详细介绍了基于w e b 服务的的o p cx m l d a 中间件服务器的设计与 i i 中国科学技术大学硕士论文 摘要 实现。首先介绍了本文所实现的o p c 服务器的设计思想及总体结构,并对各种 方案进行了比较。接下来阐述了系统各模块的详细设计。对服务器的安全性问题 也进行了探讨。 第五章对中间件服务器的客户端的开发进行了进一步的探讨,是对前一章的 深入与扩展。 第六章利用一些第三方客户程序对本文设计的o p c 服务器的基本功能进行 了测试。测试结果表明,本文开发的基于w e b 服务的o p cx m l d a 中间件服务 器基本符合o p cx m l d a 规范的要求,具有较好的可靠性。 最后的结束语介绍了作者三年来对o p cx m l d a 服务器的研发历程,总结 了所实现的o p cx m l d a 服务器存在的不足之处,并提出了改进的建议。文中 还对今后的发展作了展望。 关键词:o p c ,o p cd a 服务器,c o m ,w e b 服务,x m l ,w s d l ,o p cx m l - d a , 中间件服务器,订阅 i i i 中国科学技术大学硕士论文 a b s t r a c t a b s t r a c t i nt o d a y sf i e l d so fi n d u s t r yc o n t r o l ,o p cs p e c i f i c a t i o n sh a v eb e c o m ei n d u s t r y s t a n d a r d sf o rd a t ae x c h a n g e ,w h i c ha r es u p p o r t e db ym a n u f a c t u r e r so f p r o c e s sc o n t r o l d e v i c e sa n ds o f t w a r e a tp r e s e n t ,t h eo p cs e r v e ra p p l i c a t i o n sa r em o s t l yb a s e do nc o m t e c h n o l o g ys o t h a ti t sp r a c t i c ei sl i m i t e db y c o mf e a t u r e s b e c a u s ec o m d c o mi sd e p e n d e n to n t h em i c r o s o f tp l a t f o r m ,o p cc o mi n t e r f a c ei sd i f f i c u l tt ob ea p p l i e dt oo t h e r p l a t f o r m a sn e t w o r k b a s e df i r e w a l lw i l lf i l t e ro u tm o s to f t h ed a t at r a n s m i t e dt h r o u i g h c o m ,o p cc o mc a n tc o m m u n i c a t ew i t hi n t e r n e ta p p l i c a t i o n s e n t e r p r i s e a p p l i c a t i o n s ,s u c ha se r p , n e e di n d u s t r i a ld a t ai nr e a l t i m ew h i c hu s u a l l yc o m ef r o m t h eo p cs e r v e r sb a s e do nc o mi n t e r f a c e s b u tt h e s eu p p e ra p p l i c a t i o n sh a v e n tc o m i n t e r f a c e s ,a n dt h u st h e yc a n ti n t e r a c tw i t ho p cc o m s e r v e r s i no r d e rf o re n t e r p r i s ed a t at o e x c h a n g ec r o s s p l a t f o r m ,c r o s s l e v e l ,o p c f o u n d a t i o nd e v e l o p e da n di s s u e do p cx m l - d a s p e c i f i c a t i o nb a s e do nw e bs e r v i c e t e c h n o l o g y o p cx m l d at r a n s m i t s s t r u c t u r e dd a t aa ss o a pm e s s a g e t h e s p e c i f i c a t i o nb a s e do nx m la n ds o a pt e c h n o l o g yc a nm a k ei n d u s t r i a ld a t at r a n s m i t a c r o s st h ei n t e m e t i tc a r ls i m p l i f yi n t e r o p e r a b i l i t yb e t w e e nd i f f e r e n ta p p l i c a t i o n s i t b r i n g sd a t ai n t oe n t e r p r i s e l e v e la p p l i c a t i o n sa n di m p l e m e n t st h ei n t e g r a t i o na n d c o n n e c t i v i t yw i t hs y s t e m ss u c ha sm e sa n de r p u s i n g t h eo p cx m l d at e c h n o l o g yb a s e do nw e bs e r v i c e ,t h i sp a p e rd e s i g n sa n o p cs e r v e r m i d d l e w a r es e r v e rb o t ha d v a n c e da n dg o o do p e n i ta l l o w sr e m o t eu s e r s t ou s ec u s t o m i z e dc l i e n to rb r o w s e rv i ai n t e m e to ri n t r a n e tt oa c h i e v el o n g d i s t a n c e d a t ae x c h a n g e i ta l s ol e a d st ot h er e a l i z a t i o no f r e m o t ec o n t r 0 1 t h i sd e s i g nc h a n g e s i n d u s t r yd a t ab a s e do no p cc o mi n t e r f a c e st ox m lf o r m a t ,w h i c hc o n v e n i e n t l y a c h i e v e st h eu p g r a d eo fp r e s e n to p cd as e r v e r sb a s e do nc o m t e c h n o l o g y s t a n d a r d o p ci n t e r f a c ea n dw e bs e r v i c ei n t e r f a c ef a c i l i t a t et h ee x p a n s i o na n du p g r a d i n go ft h e s y s t e m t h i sp a p e rp r o v i d e se x p e r i e n c e sf o rr e s e a r c ho fo p cx m l d aa p p l i c a t i o n s a n dp r o v i d e saw a yo fo p e n n e s ss t u d yo fi n d u s t r i a lc o n t r o ls y s t e m b a s e do nt h er e s e a r c hw o r k ,t h ea u t h o rw r i t e st h i st h e s i sw h i c hi sd i v i d e di n t o6 c h a p t e r s c h a p t e r1o v e r v i e w st h ed e v e l o p m e n to f d a t ae x c h a n g ei ni n d u s t r yc o n t r o lf i e l d s t h e ni to u t l i n e st h ec o n c e p t ,d e v e l o p m e n to fo p ct e c h n o l o g ya n do p cx m l d a s p e c i f i c a t i o n ,a sw e l la sm a i nw o r kd o n eb yt h ea u t h o r 中国科学技术大学硕士论文 a b s t r a c t c h a p t e r2a n dc h a p t e r3a r ea c c o m p l i s h e d o nt h eb a s eo fag r e a td e a l i n v e s t i g a t i o na n dr e s e a r c hb yt h ea u t h o r , w h i c ha r ef o u n d a t i o na n dg r o u n d w o r ko f t h e d e s i g n c h a p t e r2i n t r o d u c e sc o ma n dw e bs e r v i c et h a t a r et h eb a s eo fo p c t e c h n o l o g y c h a p t e r3e x p o u n d st h er e s e a r c ho fo p cd as p e c i f i c a t i o na n do p c x m l d as p e c i f i c a t i o n c h a p t e r4 ,5a n d6i n t r o d u c et h em a i nr e s e a r c hr e s u l tb yt h ea u t h o r c h a p t e r4p a r t i c u l a r l y i n t r o d u c e st h ed e s i g na n d i m p l e m e n t a t i o n o fo p c x m l d ar n i d d l e w a r es e r v e rb a s e do nw e bs e r v i c e f i r s tt h i sc h a p t e ri n t r o d u c e st h e d e s i g nc o n c e p t sa n do v e r a l ls t r u c t u r eo ft h eo p cs e r v e r , t h e nc o m p a r e st h ed e s i g n s c h e m e sb ys t u d y i n gt h e m n e x tt h ed e s i g no fs y s t e mm o d u l e si si n t r o d u c e d n l e s e c u r i t yp r o b l e mo f t h es e r v e ri sa l s od i s c u s s e d c h a p t e r5d i s c u s s e st h ed e v e l o p m e n to ft h eo p cx m l d ac l i e n t i ti st h e e x p a n s i o no fc h a p t e r4 c h a p t e r6i n t r o d u c e st h et e s to ft h eo p cx m l - d am i d d l e w a r es e r v e rb yu s i n g s o m et h i r d p a r t yc l i e n t s t h et e s tr e s u l t ss h o wt h a tt h eo p cx m l - d am i d d l e w a r e s e r v e rc o n f o r m sw i t ho p cx m l - d ab a s i cr e q u i r e m e n t sa n di ti sr e l i a b l e i nt h ee n do ft h i st h e s i s ,t h ea u t h o ri n t r o d u c e st h ed e v e l o p m e n tp r o g r e s so fo p c x m l d as e r v e ri r lt h r e ey e a r s c o n c l u d e ss o m el i m i t so ft h eo p cx m l d as e r v e r a n dg i v e ss o m ea d v i c ef o ri m p r o v e m e n ti nt h ef u t u r e k e y w o r d s : o p c ,o p cd as e r v e r ,c o m ,w e bs e r v i c e ,x m l ,w s d l ,o p c x m l d a ,m i d d l e w a r es o f t w a r e ,d e s c r i p t i o n v 中国科学技术大学硕士论文致谢 致谢 在本论文即将完成之际,谨向在我攻读硕士学位期间所有关心过我的师长、 同学、亲人和朋友表示衷心的感谢,感谢他们给予我的亲切关怀和无私帮助。 本文是在导师薛福珍老师的精心指导下完成的。在做研究的过程中得到了薛 老师无微不至的关怀和鼓励;薛老师渊博的知识,严谨的治学态度,敏锐的洞察 力,给了我极深的教益。特别是从课题的选题、论文的各阶段的进展到最后论文 的定稿,对我提出了许多宝贵的意见并给予无私的指导和帮助。她为人师表,言 传身教,培养我独立思考和科研的能力,鼓励我要敢于提出自己的见解,为我日 后的科研工作打下了坚实的基础。薛老师在工作上执着热诚和缜密的风格也使我 受益匪浅。 同时,还要我感谢三年来为我提供良好学习环境的中国科学技术大学自动化 系以及所有曾经给予我谆谆教诲的各位老师。他们的辛勤教学让我得到了所需的 知识和思维方法,是他们的无私传授给了我开阔的视野,使我清楚如何才能为社 会作出更大贡献! 感谢实验室的师兄弟,田贵宾机智灵活,刘忍权刻苦踏实,以及刘涛、崔连 喜、赵鑫等同学的好学精神,给我留下了深刻的印象,同时也给我的工作与学习 树立了榜样。与他们一起工作学习的经历将会成为我一生中美好的记忆。 在本论文的写作期间,我的父母及女友也给予了极大支持,他们是我克服困 难的坚强后盾,在此对他们表示由衷的感谢。 中国科学技术大学硕士论文 第一章概述 第一章概述 1 1 工控领域数据通信的发展 随着自动控制、计算机、通信、网络等技术的发展,企业的信息集成系统正 在迅速壮大,将覆盖从现场控制到监控、市场、经营管理的各个层次以及从原料 采购、生产加工的各个环节,并将一直延伸到成品储运销售乃至世界各地市场的 供需链全过程,以适应企业管理控制一体化的应用需求。企业信息系统的发展对 工业数据的开放性、扩展性都提出了更高的要求i l j 。充分利用计算机、互联网等 现代信息技术,将分散在不同应用系统的重要数据和信息集成,可以更好地共享 企业内外的信息,不断提高生产、经营、管理和决策的水平,提高企业经济效益 和市场竞争力。各应用系统的互连互通问题是企业信息化建设中的重要课题,虽 然各应用系统都提供了专用的数据访问接口,但由于受开放性制约,互联互通仍 然存在较大的困难。 随着工业生产的不断发展,工业控制软件取得了长足的进步。然而,由于生 产规模的扩大和过程复杂程度的提高,工业控制软件设计面临着巨大的挑战,那 就是要集成数量和种类不断增多的现场信息。在传统的控制系统中,智能设备之 间及智能设备与控制系统软件之间的信息共享是通过驱动程序来实现的,不同厂 家的设备又使用不同的驱动程序,迫使工业控制软件中包含了越来越多的底层通 信模块。另外,由于相对特定应用的驱动程序一般不支持硬件特点的变化,这样 使得工业控制软硬件的升级和维护极其不便。o p c 技术的出现则很好的解决了 这些问题。o p c 使得这些软硬件非常容易地组合在一起并能相互通信。因此, 具备o p c 接口的软硬件即插即用在自动化中成为现实。 随着信息技术的发展,自动化系统对大范围数据交换与信息共享的需求愈加 强烈,因而对工业控制系统的开放性提出了越来越高的要求。为了适应工业数据 交换的需要,实现不同厂商生产的软硬件之间的系统集成与数据交换,o p c 迅 速成为工业数据交换的有效工具。 o p c 技术作为工控领域的数据交换和信息共享的一种通用的接口规范,成 为解决这个问题的有力工具和便捷方式。2 0 0 4 年底o p c 基金会推出的o p c x m l d a 新规范,可进一步提高应用系统的开放性。本文基于该规范提出了o p c x m l d a 中间件服务器的设计及实现方法,可以比较方便地实现企业应用系统 间的互联网级的数据共享。 中国科学技术大学硕士论文第一章概述 1 2o p c 技术的新发展 1 2 1 什么是o p c o p c ( o b j e c tl i n k i n ga n de m b e d d i n gf o rp r o c e s sc o n t r 0 1 ) 是o p c 基金会制定 的用于工控领域的标准数据访问机制,它可以无缝连接各种工控数据源( p l c 、 d c s 、f c s 等) 和上层应用软件( m i s ,e r p 等) 。目前,在工控领域的生产部门中, o p c 规范己被确定为工业标准,已得到过程控制设备制造商和工业控制软件开 发商的支持。o p c 基金会定义了数据访问服务器、事件服务器、批处理服务器 和历史数据访问服务器的接口规范。这些服务器目前通过基于o l e 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 技术,由一些世 界上占领先地位的自动化系统和硬件、软件公司与微软( m i c r o s o f t ) 紧密合作而 建立的,o p c 基金会负责o p c 规范的制定和发布。o p c 提出了一套统一的标准, 采用c l i e n t s e r v e r 模式,针对硬件设备的驱动程序由硬件厂商或专门的公司完 成,提供具有统一o p c 接口的s e r v e r 程序,软件厂商按照o p c 标准访问s e r v e r 程序,即可实现与硬件设备的通信。 与传统的方式相比,o p c 技术具有以下优势: 硬件厂商熟悉自己的硬件设备,因而设备驱动程序性能更可靠、效率更 古 问o 软件厂商可以减少复杂的设备驱动程序的开发周期,只需一套遵循o p c 标准的程序就可以实现与硬件设备的通信,并可以把人力、物力资源投 入到系统功能的完善中。 可以实现软硬件的互操作性。 o p c 把软硬件厂商区分开来,使得双方的工作效率有了很大的提高,因此 o p c 技术得到了广大软硬件厂商的支持,并迅速发展。 目前o p c 基金会成员已超过3 6 0 家,包括世界上几乎全部的控制系统、仪 器仪表和自动化装置的主要供应商。象s i e m e n s 、i n t e l l u t i o n 、m i c r o s o f t 、r o c k w e l l 、 h o n e y w e l l 、w o n d e r w a r e 等。o p c 技术在短时间内取得了飞速发展,现在国内外 自动化领域的软硬件产品都在做这方面的开发工作,逐步实现了软硬件之间的标 准化。 1 2 2o p c 规范的发展 从1 9 9 6 年9 月发布第一个o p c 规范o p c 数据访问规范1 0 以来,o p c 基 金会已经陆续推出了一系列规范。主要包括以下一些技术规范: 中国科学技术大学硕士论文第一章概述 o p c 数据访问规范( o p cd as p e c i f i c a t i o n ) o p c 报警和事件规范( o p ca & es p e c i f i c a t i o n ) o p c 数据交换规范( o p cd xs p e c i f i c a t i o n ) o p c 历史数据访问规范( o p ch d as p e c i f i c a t i o n ) o p c 批处理规范( o p cb a t c hs p e c i f i c a t i o n ) o p c 安全性规范( o e cs e c u r i t ys p e c i f i c a t i o n ) o p cx m l 规范( o p cx m l d as p e c i f i c a t i o n ) 从图1 1 我们可以较为直观的看出o p c 规范的发展历程。 o p c d a l oi lo p c a & ei i o p c m a l 0 iio p c d x l 0 | io p c x m l , d a l 0 1 9 9 6 年9 月1 1 1 9 9 9 年1 2 月l l2 0 0 1 年1 月l1 2 1 3 0 1 年1 2 月lj2 0 9 3 年7 月 。嗲獭鬻翩淫鐾攀鬻繁骥 。配i 规藏勰历程穗溪粼辫霉瀵蕈璧鬓 o p c i 3 a l c h io 嘲1 0l o p c d a z l | | o p c d a 3 0o p c x m l - d a l 0 1 1 9 9 9 年1 2 月i | 2 0 0 0 年1 0 月| | 2 0 0 1 年l o 月l1 2 0 0 3 年3 月i 2 0 0 4 年1 2 月 图1 1o p c 规范的发展历程 现在网络技术已经溶入社会生活的各个方面,并得到了迅猛发展。可扩展标 记语言( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 具有自描述性,非常适合不同应用间 的数据交换。由于这种交换不需要预先定义一组数据结构,因此具有很强的开放 性,已经成为新一代的因特网数据交换标准,有着广阔的应用前景。 o p c 基金会紧随网络发展的最新趋势,并利用这些新技术来增强o p c 技术, 使其更适合于因特网应用。因此,1 9 9 9 年1 0 月在美国费城举行的i s a t e c h 9 9 会 议上,o p c 基金会宣布将发布与微软的b i z t a l k 体系结构相兼容的x m l 纲要 ( x m l s c h e m a ) ,该纲要是基于o p c 规范的。o p c 基金会还专门成立了x m l 工 作组,该工作组将建立x m l 数据纲要,用于将o p c 数据向i n t e m e t 上的应用程 序开放,从而增强与o p c 兼容应用程序的电子商务功能。o p cx m l 建立了一 组关键字和属性,用于描述工业设备控制系统等方面的特性和操作,从而使整个 企业环境下的应用程序能够共享控制系统和现场设备的信息。 这些努力最终促成了o p cx m l d a 规范的发布。 1 2 3o p cx m l d a o p c 原有规范主要依赖于微软c o m d c o m 技术,因此把应用限制于企业 内部互联网和w i n d o w s 平台。基于o p cx m l d a 的新的设计将通过把o p c 向 互联网和其他操作系统平台开放而改变这种状况。作为缩写,o p c 现在指 “o p e n n e s s ,p r o d u c t i v i t y ,c o n n e c t i v i t y ”,即开放性、生产力、连通性,这是对早 中国科学技术大学硕士论文第一章概述 期“o l ef o rp r o c e s sc o n t r o l ”的重大扩展。 o p cx m l d a 规范把o p c 的数据访问描述成w e b 服务的形式。o p c 基金 会推出o p cx m l d a 规范的目的是继续致力于使o p c 技术促进应用程序互操 作性的目标。基于x m l d a 的接口将会简化企业( 底层设备至企业级系统) 各级 平台间o p c 数据的共享和交换,并将之提升到一个更广泛的平台范围。 可扩展标记语言x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 是一种面向i n t e r n e t 应用 的标记语言。它是由w 3 c 制定的一种通用语言规范,确保结构化数据的统一性 及相对于应用和供应商的独立性。x m l 由于其开放、系统无关性,已经成为受 欢迎的数据编码和交换格式。o p c 基金会选择x m l 作为准确进行数据传输的技 术扩展现存的o p cc o m 的接口,具有更容易与互联网应用程序集成、更容易在 非微软环境中执行、与企业应用程序更好的连通性等优点。 w e b 服务是创建可互操作的分布式应用程序的新平台,其主要目标是跨平台 的可互操作性u j 。因此,w e b 服务是完全基于x m l 等独立于平台及软件供应商 的标准。w e b 服务包含了一系列对服务发布查找绑定的详细规定( w s d l 、u d d i 、 s o a p ) 。作为下一代分布式系统的核心,w e b 服务具有如下特点:互操作性、 普遍性、易于使用、行业支持。基于o p cx m l d a 规范的服务器开发把服务器 相应地设计成了w e b 服务器的形式。 1 3 本文作者的主要工作 本文作者所在的实验室多年从事控制理论与控制工程研究,也一直在跟踪 o p c 技术的发展。实验室的林盛荣师兄曾对o p c 客户端进行过研究,石韬 师兄曾基于d c s 设计了通用的o p cc o m 服务器,徐磊师兄开发的先进控 制软件平台中也是实现了o p cd a 客户端。o p cd a 规范在实际工业数据通信中 已经得到了广泛应用,实验室在这方面也有研究基础。作为新的o p cx m l d a 规范目前在实际应用中还较少,实验室也缺乏这方面的研究。作者的工作正是从 此开始的,作为基于x m lw e b 服务的新的o p c 规范,相比原来的基于c o m 技术o p cd a 规范有更大的优越性。 由于w e b 服务开发的特殊性,以及面向对象软件设计的需要,作者采用了 m i c o s o f t 的v i s u a l s t u d i o n e t 平台作为开发环境,采用功能强大的c 拌语言作为 程序设计语言。由于该项工作没有现成的经验可以借鉴,在实际开发中走了不少 弯路,但是最终还是克服了困难,完成了预期的研究设计工作。 总的来说,本文的工作有如下几点: ( 1 ) 研究分析o p cd a 规范及o p cx m l d a 规范。因为中间件服务器要实 中国科学技术大学硕士论文 第一章概述 现与o p cd a 服务器的通信,因此需要按照o p cd a 规范来设计中间件服务器 的d a 通信接口。而作为o p cx m l d a 中间件服务器,其实现的主体依据就是 o p cx m l d a 规范。 ( 2 ) 在对o p c 规范透彻理解基础上,分析了实现o p cx m l d a 服务器的形 式与方法,并以中间件服务器的形式进行了详细的设计与实现。 ( 3 ) 为了测试中间件服务器,设计和实现了一个o p cx m l d a 定制客户端; 并进一步对其它的客户端实现方式进行了研究和探讨。 ( 4 ) 搭建仿真测试平台,对设计的中间件服务器进行了功能测试,验证了系 统功能的正确性及可靠性。 中国科学技术大学硕士论文第二章o p c 技术基础 第二章o p c 技术基础 2 1o p c 技术基础一c o m 与w e bs e r v i c e o p c 技术最初的产生是建立在c o m 技术基础上的,而后来出现的o p c x m l d a 则是建立在w e b 服务基础上的。采用基于x m l 技术的w e b 服务提供 数据交换已经成为o p c 下一步的发展方向。 本章将对o p c 发展过程中作为技术基础的c o m 以及w e b 服务作一介绍。 2 2 组件对象模型( c o m ) 技术 长期以来,设计者曾用面向对象程序设计方法来解决传统软件开发的问题。 但随着软件科学的不断发展,对应用软件的跨语言、跨平台和互操作性提出了更 高的要求,在这种情况下面向对象方法已经难以满足现代的分布式软件的应用。 为了解决这个问题提出了组态软件的思想,它将单独、庞大而复杂的应用程序分 成多个模块,每个模块都是一个自给自足的组件( c o m p o n e n t ) ,应用软件与组件 好比是机器与零件的关系。如何将许多独立的组件粘合起来组成一个能满足要求 的应用系统,也就是说我们需要组件之间的接口。c o m 就是这么一种组件标准, 不但如此,它还引入了面向对象的思想。 2 2 1c o m 技术概述 c o m ( c o m p o n e n to b j e c tm o d e l 即组件对象模型) 是m i c o s o f i 的基于组件的 软件解决方案的基础。c o m 为基于组件的开发方式提供了简单、一致的模型, 实践已经证明了这一点。组件对象模型( c o m ) 是平台无关的、分布式的、面 向对象的系统,该系统可创建交互式二进制软件组件p j 。c o m 是o l e ( 符合文 档) 和a c t i v e x ( 基于网络的组件) 和微软其他技术的基础。 c o m 不是面向对象的编程语言而是一个标准。c o m 也不是构造应用程序 的技术。语言、结构和实现的细节留给编程人员去考虑。c o m 是明确的指定一 个对象模型和编程的必要条件,它能使c o m 对象( 也叫c o m 组件,有时也简 称对象) 与其他的对象进行交互。这些对象可以运行在同一进程内,也可以运行 在不同的进程,也可运行在远程计算机上。它们可以用不同的编程语言实现,结 构可以完全不同。这就是称c o m 是个二进制标准的原因一一它是一个可以在 应用程序编译成二进制的机器语言后应用的标准。 c o m 是一种技术,它允许对象跨进程、跨机器边界交换信息就像对象在同 一线程内交换信息样简单。c o m 靠指定惟一的途径来保证这一点一仅允许对 6 中国科学技术大学硕士论文第二章o p c 技术基础 象接口访问与对象相关联的数据。当使用这一术语时,它是指同某一对象关联的 c o m 二进制兼容接口的实现。 c o m 定义了c o m 对象的本质。一般来说,软件对象由一组数据和操作这 组数据的函数组成。c o m 对象通过一组或多组相关函数来访问对象的数据。这 些函数的集合称为接口,接口的函数称为方法。进一步说,c o m 要求只能通过 接口指针去访问接口的方法。 一个c o m 组件可以包含多个c o m 对象,c o m 对象被很好地封装起来,客 户无需知道对象内部实现细节,只需通过c o m 接口访问c o m 对象就可以了。 每个c o m 组件都必须实现i u n k n o w n 接口,而且其他所有接口都必须从i u n k n o w n 接口派生,i u n k n o w n 接口用于查询其他接口。 c o m ,即组件对象模型,是一种以组件为发布单元的对象模型,这种模型 使各软件组件可以用一种统一的方式进行交互。c o m 既提供了组件之间进行交 互的规范,也提供了实现交互的环境,因为组件对象之间交互的规范不依赖于任 何特定的语言,所以c o m 也可以是不同语言协作开发的一种标准。c o m 不仅 仅提供了组件之间的接口标准,它还引入了面向对象的思想。在c o m 规范中, 把对象称为c o m 对象。组件模型为c o m 对象提供了活动的空间,c o m 对象以 接口的方式提供服务,下图表明了c o m 组件、c o m 对象和c o m 接口三者之间 的关系。 c o m 接口l c o m 接口2 c o m 接口3 图2 1c o m 组件、c o m 对象和c o m 接口的关系 在c o m 标准中,一个组件程序也被称为一个模块,它可以是一个动态链接 库( 缩写为d l l ) ,被称为进程内组件;也可以是一个可执行程序( 即e x e 程序) , 被称作进程外组件。一个组件程序可以包含一个或多个组件对象,因为c o m 是 以对象为基本单元的模型,所以在程序与程序之间进行通信时,通信的双方应该 是组件对象,也叫做c o m 对象,而组件程序( 或称做c o m 程序) 是提供c o m 对象的代码载体。 c o m 组件分为三种类型,除了进程内组件、本地组件还有远程组件,即 d c o m 组件。d c o m 是带有长途载波的c o m ,是c o m 的无缝扩展,d c o m 组 件与客户程序可位于不同计算机上,这些计算机可以在局域网内、广域网上,也 可通过i n t e m e t 进行连接。它可以作为分布式应用系统的基本架构,客户程序与 中国科学技术大学硕士论文第二章o p c 技术基础 d c o m 组件对象之间形成了客户服务器关系,客户程序只负责接受用户的输入 并把服务器的响应结果反馈给用户,这种分布式结构不仅可以减轻客户程序的负 担,还可以提高系统的整体性能,对客户程序而言,组件程序所处的位置是透明 的,不必编写任何处理远程调用的代码,因为d c o m 己处理了底层网络协议的 所有细节。 2 2 2 c o m 结构 接口是一组逻辑上相关的函数集合,其函数也被称为接口成员函数。按照习 惯,接口名常以“i ”为前缀,如“i u n k n o w n ”。对象通过接口成员函数为客户提 供各种形式的服务。每一个c o m 接口都由一个1 2 8 位全局唯一标识符( g u i d , g l o b a l u n i q u ei - d e n t i f i e r ) 来标识。它一般具有以下四个特点:二进制特性、接口 不变性、继承性、多态性。客户通过g u i d 获得接口的指针,再通过接口指针, 客户就可以调用其相应的成员函数。对象是某个类的一个实例,在c o m 模型中, 对象通过接口及接口中的函数为客户提供服务,对于客户来说,它只与接口打交 道。每个c o m 对象也由一个1 2 8 位g u i d 来标识,称为c l s i d ( c l a s si d e n t i f e r ) , 用c l s i d 标识可以保证在全球范围内唯一性。客户成功地创建对象后,它获得 一个指向对象某个接口的指针,用它客户就可以调用该接口提供的所有服务。客 户如何获得接口指针可由图2 2 表示。 客户接1 3继承接口的类 l r e l e a s e hr e l e a s e j接口方法l 接口方法 :虚拟函数表: 图2 2 客户获取c o m 接口指针 虚拟函数表包含一组指向虚拟函数实现的指针,所有c o m 接口都是从 i u n k n o w n 继承,一个i u n k n o w n 包含三个函数:q u e r y l m e r f a c e ,客户通过它来查 询某个组件是否支持某个特定的接口,若支持它将返回一个指向此接口的指针, 否则返回一个错误代码。 a d d r e f 和r e l e a s e 实现的是一种名为引用计数的内存管理技术。引用计数是 使组件能够自己将自己删除的最简单同时也是效率最高的方法。c o m 组件将维 护一个称作是引用计数的数值。当客户从组件取得个接口时,此引用计数值将 增1 ,当客户使用完某个接口后,组件的引用计数将减l ,当引用计数值为o 时, 组件即可将自己从内存中删除。a d d r e f 使值增1 ,而r e l e a s e 使值减l 。组件通 过使用连接点来获得客户的情况,c o m 提供四个接口来实现它,即i c o n n e c t i o n p o i mc o n t a i n e r , i e n u mc o n n e c t i o np o i n t s ,i c o r m e c t i o np o i n t a n di e n u mc o n n e c t i o n s 。 中国科学技术大学硕士论文第二章o p c 技术基础 在o p c 中提供了一个i c o r m e c t i o np o i n tc o n t a i n e r 接口来完成客户和组件之间的 双向通信。通过引用计数c o m 对象的客户程序可以通过接口指针很好地控制对 象的生存期p j 。 2 2 3c o m 工作原理 当一个组件或普通程序( 即组件的客户程序) 调用组件的功能时,它首先创建 一个c o m 对象或者通过该对象所实现的c o m 接口调用它所提供的服务。当所 有的服务结束后,如果客户程序不再需要该c o m 对象,那么应该释放掉对象所 占有的资源,包括对象自身。c o m 规范说明,c o m 定义的每一个接口都必须提 供两个非常重要的特征:生存期控制和接口查询。每个接口都引入了“引用计数” ( r e f e r e n c ec o u n t i n g ) 方法,可以有效地控制对象的生存周期。另一方面,这个接 口可以通过使用“接口查询”( q u e r y i n t e r f a c e ) 的方法来完成接口之间的跳转。每 个接口至少包含了三个成员函数:q u e

温馨提示

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

评论

0/150

提交评论