(计算机系统结构专业论文)web组态监控系统的研究与实现.pdf_第1页
(计算机系统结构专业论文)web组态监控系统的研究与实现.pdf_第2页
(计算机系统结构专业论文)web组态监控系统的研究与实现.pdf_第3页
(计算机系统结构专业论文)web组态监控系统的研究与实现.pdf_第4页
(计算机系统结构专业论文)web组态监控系统的研究与实现.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机系统结构专业论文)web组态监控系统的研究与实现.pdf.pdf 免费下载

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

文档简介

大连理工大学硕士学位论文 摘要 组态软件作为用户可定制功能的软件平台工具,是随着分布式控制系统及计算机控 制技术的日趋完善而发展起来的。近年来随着网络技术的发展,使组态软件具有w e b 功能,己经成为越来越多的工业控制系统不可或缺的重要组成部分。面向w e b 和基于 可重用组件技术是新型组态软件的最新的发展趋势和研究热点,对计算机远程监控具有 重要的现实意义和良好的应用前景。 本文在借鉴目前流行组态软件的开发经验的基础上,将i n t e r a c t 技术、软件组件技 术与工业现场监控技术结合起来,形成了一种新的基于b s 结构的组态软件系统。系统 主要内容包括三大部分:组态开发系统、运行系统和w e b 发布系统。开发系统提供给 用户一个可视化的操作界面,用来组织工程画面并以h t m l 文件形式发布;运行系统 负责采集工业现场实时数据,并将数据保存进历史数据库;w e b 发布系统基于b s 模式, 用户只需使用标准浏览器即可对现场的组态运行画面进行监控。在系统实现中,通过对 软件结构的分析,采用了基于组件的构建模式,将监控功能设计成若干a c t i v e x 组件, 将现场设备变量映射为组件的属性;结合v m l 语言形成的静态图元构成组态监控画面; 组件之间通过j a v a s c r i p t 脚本进行属性、方法和事件的连接,完成数据传输和交互;使 用a d o n e t 技术实现采集数据的数据库连接;使用x m l h t t p 技术实现客户端与服务 器的交互,再结合d h t m l 语言完成浏览器上图形界面元素的动画显示、文本显示、表 格显示和曲线显示,达到画面实时动态显示的目的。这些技术充分发挥了w e b 技术特 点,提高了程序的可扩展性和开放性,很好的实现了工程组态功能。 总之,本文将w e b 技术与工业控制组态软件相结合,实现了基于w e b 的组态软件 的设计与开发,达到了预期的目标。 关键词:组态;b s ; c ti v e x ;x m l h t t p 大连理工大学硕士学位论文 r e s e a r c ha n di m p l e m e n t a t i o no fc o n f i g u r a t i o na n dm o n i t o r i n gs y s t e m b a s e d o n w e b a b s t t a c t c o n f i g u r a t i o ns o f t w a r ea sat o o lo fs o f t w a r ep l a t f o r mw h i c hc a nb ec u s t o m i z e db yu s e r s , d e v e l o p e da l o n gw i t hd i s t r i b u t e dc o n t r o l l i n gs y s t e ma n dt h et e c h n o l o g yo fc o m p u t e rc o n t r 0 1 w i t ht h ed e v e l o p m e n to fn e t w o r kt e c h n o l o g yt h e s ey e a r s ,t h a tc o n f i g u r a t i o ns o f t w a r eh a s f u n c t i o n st ow o r ko nw e bh a sb e c o m ea ni n d i s p e n s a b l ec o m p o n e n to fi n d u s t r i a lc o n t r o l s y s t e m b e i n gt h en e w e s tt e n d e n c ya n dp r e s e n tr e s e a r c hf o c u s ,w e bo r i e n t e da n dr e u s a b l e c o m p o n e n tt e c h n o l o g yb a s e da r et w oo b j e c t sw h i c hh a v eg r e a tr e a l i s t i cs i g n i f i c a n c ea n d e x t e n s i v ep r a c t i c a lf o r e g r o u n d o nt h eb a s eo fd e v e l o p m e n te x p e r i e n c eo fp o p u l a rc o n f i g u r a t i o ns o f t w a r ea tp r e s e n t , t h e nw ec o m b i n et h et e c h n o l o g yo f i n t e r n e tw i t hi n d u s t r i a li n f o r m a t i o nm o n i t o r i n gs y s t e m s o a n e w k i n d o f c o n f i g u r a t i o ns o f t w a r e w h i c h b a s e so n t h es t r u c t u r e o f b s w i l lb e f o r m e d a n d t h es y s t e mi n c l u d e st h r e em a i nc o n t e n t s :c o n f i g u r a t i o nd e v e l o p m e n ts y s t e m ,r u n n i n gs y s t e m a n dw e bp u b l i s h i n gs y s t e m 1 1 伦d e v e l o p m e n ts y s t e mp r o v i d e su s e r sw i t hav i s u a lo p e r a t i n g i n t e r f a c et oo r g a n i z et h ep r o j e c tp i c t u r e sw h i c ha r ei s s u e da sh t m lf i l e s t h er u n n i n gs y s t e m g a t h e r sr e a l t i m e d a t aa n ds a v e st h e mi n t ot h eh i s t o r yd a t a b a s e w e bp u b l i s h i n gs y s t e mi s b a s e do nb sm o d e u s e r sc a nu s eas t a n d a r db r o w s e rt om o m t o rt h er u n n i n gp i c t u r e so ft h e i n d u s t r i a ls c e n e i nt h ei m p l e m e n t a t i o no ft h ep r o j e c t , w eu s ep r o g r a m m i n gm e t h o do f c o m p o n e n tt od e s i g ns e v e r a l a c t i v e xc o n t r o l sh a v i n gt h ef u n c t i o no f m o n i t o r i n ga n dm a p p i n g d e v i c ev a r i a b l et oc o n t r o l sa t t r i b u t e s c o m b i n es t a t i cg r a p he e l lw h i c hi sm a d eb yv m l l a n g u a g et oc o m p o s et h ep i c t u r e so fc o n f i g u r a t i o nm o n i t o r i n g d a t ai s t r a n s m i t t e da n d o p e r a t i o ni st r a n s f e r r e db yj a v a s c r i p t u s ea d o n e tt e c h n o l o g yt o c o n n e c tt h ed a t aw i t h h i s t o r yd a t a b a s e i tr e a l i z e st h er e a l t i m ec o m m t m i c a t i o nb e t w e e nt h ec l i e n ta n dt h es e r v e rb y t h ex m l h t t pt e c h n o l o g y ,a n dr e s e tb r o w s e rg r a p h i c a li n t e r f a c ee l e m e n tr e a l - t i m e l ya c c o r d i n g t od a t ac o l l e c t i n g t h eg o a lt od e v e l o pt h er e a l - t i m ed a t ad y n a m i c a l l yi sa c h i e v e d a l lt h e s e t e c h n o l o g i e se x e r tt h ec h a r a c t e r so fw e b ,i m p r o v ee x p a n s i b i l i t ya n do p e n n e s so f t h es y s t e m , a n da c h i e v et h ef u n c t i o no f p r o j e c tc o n f i g u r a t i o n i ns h o r t ,t h i sp a p e rc o m b i n e sw e bw i t ht h ei n d u s t r yc o n t r o lc o n f i g u r a t i o ns o f t w a r e , 砌f i l l st h ed e s i g na n dd e v e l o p m e n to fc o n f i g u r a t i o ns o f t w a r eb a s e do nw e ba n da c h i e v e st h e e x p e c t e dg o a l k e yw o r d s :c o n f i g u r a t i o n :b s :a c t i v e x ;x m l h t t p - i i i - 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志 对本研究所做的贡献均己在论文中做了明确的说明并表示了谢意。 作者签名:秘日期:! 宰止 人连理工大学硕十研究生学位论文 大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用 规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子 版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论 文。 作者签名 导师签名 j 乎啦 謦 塑2 年_ l 月日 大连理工大学硕士学位论文 1 绪论 1 1 组态软件概述 随着工业自动化水平的迅速提高,计算机在工业领域的广泛应用,人们对工业自动 化的要求越来越高,种类繁多的控制设备和过程监控装置在工业领域的应用,使得传统 的工业控制软件已无法满足用户的各种需求,工控组态软件随之孕育而生,并且逐渐发 展成为现今工厂的主流监控方式。 组态的概念最早来自英文c o n f i g u r a t i o n ,含义是使用软件工具对计算机及软件的各 种资源进行配置,使计算机或软件按照预先设置,达到自动执行特定任务、满足使用者 要求的目的。 工控组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监 控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动 控制系统监控功能的、通用层次的软件工具。对应于原有的h m i ( 人机接1 :3 软件,h u m a n m a c h i n ei n t e r f a c e ) 的概念,组态软件应该是一个使用户能快速建立自己的h m i 的软件工 具,或开发环境。在组态软件出现之前,工控领域的用户通过手工或委托第三方编写 h m i 应用,开发时间长,效率低,可靠性差;或者购买专用的工控系统,通常是封闭的 系统,选择余地小,往往不能满足需求,很难与外界进行数据交互,升级和增加功能都 受到严重的限制。组态软件的出现,把用户从这些困境中解脱出来,可以利用组态软件 的功能,构建一套最适合自己的应用系统【l 】。 组态软件主要解决的问题:( 1 ) 为使用者提供灵活多变的组态工具,可以适应不同应 用领域的需求;( 2 ) 如何与采集、控制设备间进行数据交换:( 3 ) 使来自设备的数据与计 算机图形画面上的各元素关联起来;( 4 ) 处理数据报警及系统报警;( 5 ) 存储历史数据及 历史数据的查询;( 6 ) 各类报表的生成和打印输出;( 7 ) 最终生成的应用系统稳定可靠;( 8 ) 具有与第三方程序的接口,方便数据共享 2 1 。 1 2 组态软件的发展及动态 监控组态软件是伴随着计算机技术的突飞猛进发展起来的。微处理器技术、计算机 网络技术及计算机软件技术直接推动了监控组态软件的发展。7 0 年代中期随着微处理器 的出现,诞生了第一代d c s ,之后,d c s 和其他控制设备在全球范围内得到了广泛的 应用。那时,每个d c s 厂商在d c s 中都预装了系统软件和应用软件,而其中的应用软 件,实际上就是组态软件,但一直没有人给出明确定义,只是将其使用这种应用软件设 计生成目标应用系统的过程称为“组态”或者“做组态”【3 1 。8 0 年代末,由于个人计算 w e b 组态监控系统的研究与实现 机的普及,开始有人研究如何利用p c 进行工业监控。世界上第一个把组态软件作为商 品进行开发、销售的专业软件公司是美国的w o n d e r w a r e 公司,它于8 0 年代末率先推出 第一个商品化监控组态软件i n t o u c h 。此后监控组态软件在全球得到了蓬勃发展,目前 世界上的组态软件有几十种之多,总装机量有几十万套。 在进入9 0 年代以后,控制系统中的软件硬件构成比例发生了变化,控制软件所占 的比重呈增长趋势,如何提高工控软件的功能和性能,又成为了控制系统发展的焦点。 近年来随着计算机、通信等相关领域技术,特别是网络技术及现场总线技术的迅速 发展,使工业控制的应用范围进一步扩大,出现了诸如计算机集成过程控制、网络控制、 异地监测、异地控制等新兴应用领域。这些为工控组态软件提出了新的要求,同时也为 其提供了广阔的发展空间。网络技术的发展使自动化技术正发生深刻的变革。在工业现 场,不论是各种现场总线,还是d c s ,或者是简单的p l c 控制,通信和联网已经成为 必然发展方向。工业企业信息与控制系统向i n t e r n e t i n t r a n e t 的迁移,网络体系结构由 c s 向着b s 模式的转变己成为发展的趋势。应用w e b 技术实现远程监测己经成为越来 越多的工控系统不可或缺的重要组成部分。因此,如何使工业控制中广泛运用的组态软 件具有w e b 功能有着重要的研究意义,它将成为工业控制组态软件发展的主流方向。 组态软件能否从原有的局域网运行方式跨越到支持i n t e m e t ,是摆在所有组态软件开发 商面前的一个重要课题。 国际上知名的工控组态软件有美国商业组态软件w o n d e r w a r e 公司的i n t o u c h 、 i n t e l l u t i o n 公司的i f i x 、n e m as o f t 公司的p a r a g o n 、t ae n g i n e e r i n g 公司的a i m a x 、通 用电气公司的c i m p l i c i t y 、r o c k w e l l 公司的r s v i e w 3 2 、信肯通公司的t h i n k & d o 、 n a t i o n a li n s t r u m e n t s 公司的l a b v i e w 、i c o n i c s 公司的g e n e s i s 、德国西门子公司的w i n c c 、 以色列p cs o f t 的w i z c o 、澳大利亚c i t e c h 公司的c i t e c h 等。国内的组态软件起步也比 较早,目前实际工业过程中运行可靠的有北京昆仑通态自动化软件科技有限公司的 m c g s 、北京三维力控科技有限公司的力控、北京亚控科技发展有限公司的组态王以及 台湾研华的g e n i e 等。 1 3 课题的研究内容及特点 本课题的研究以在网络环境下监控d u t 系列数据采集模块为背景,旨在开发出一 套通用化的组态平台。系统能够自动从历史数据库中实时采集工况数据,通过网络传输, 使生产调度和管理人员能在线监测和分析生产过程运行状况。 该系统主要通过先进的计算机技术、网络技术,实现企业生产过程和设备运行状态 实时信息的共享,在任何一个允许的站点都能实时监视各个设备的现场运行状况( 如温 大连理工大学硕士学位论文 度、电流、电压等参数) 以及整个生产过程的状态。这样,通过对生产过程的实时、连 续监测功能,可以及时发现生产过程中的异常现象,为有关领导对生产管理和调度指挥 提供决策依据,这对于企业进行安全、稳定、优化的生产具有非常大的意义。不同于一 般的网络应用方案,本系统运行在工业生产现场,对一些重要的生产数据进行监测。 本论文围绕设计和开发一套w e b 组态平台,主要进行了以下几个方面的研究: ( 1 ) 介绍了组态软件的发展现状和n e t 平台的特性,比较了c s 与b s 环境下进 行网络监控的优劣。 ( 2 ) 阐述了a c t i v e x 组件规范,以及组件的设计方法,开发数据通信组件、可视化 控制组件等,它们是该组态软件动态画面显示的基础。 ( 3 ) 研究网络组态、组件重用技术和开发方法,给出一种b s 结构的w e b 组态解决 方案。 ( 4 ) 详细介绍了组态平台各个功能模块的构建。 1 4 课题研究的意义 自从8 0 年代末起,国际上发达国家便兴起了计算机集成制造系统c i m s ( 对过程工 业而言又称c i p s ) ,目标是将生产活动各个层次上所需的决策信息( 从过程控制直至高层 管理决策) 用计算机集成起来形成一个高性能的智能生产系统。随着科技的发展,工业 过程控制的概念发生了很大的变化。过去的控制工作主要是面向生产过程,而今工业自 动化的明确目标是在整个企业甚至是整个行业内获取并传输过程控制信息,逐步形成管 理与控制一体化。这就对工业控制系统的开放性及如何更好的发布生产信息提出了更高 的要求。 随着信息化和网络化技术的应用在全国各行业迅猛发展,极大地推动了企业管理的 现代化和科学化进程,企业的信息化己成为衡量企业管理先进水平的重要标志。全国大 多数大型企业内部都建设好了自己的内部网络即i n t r a n e t ,在此基础上建立一套生产监 测平台实施先进的控制策略和操作优化。远程监测提供反映生产过程状态的实时信息有 着非常重大的意义。这些实时信息来自生产现场的d c s ,p l c 和各种仪器仪表等测量和 控制设备。各职能部门可通过平台支持的生产数据浏览和分析工具,对大量的过程数据 进行各种统计分析,为生产计划、调度和决策提供依据。因此,基于i n t e m e t i n t r a n e t 的 生产监测平台要担当联系各控制系统的桥梁,并且要结合i n t e m e t i n t r a n e t 的特点,成为 生产信息和控制信息的集成和w e b 发布的媒体。同时,由于目前大部分的过程工业己 经有了各种各样的监控系统正在使用,所以基于i n t e m e t i n t r a n e t 的生产监测平台必须能 和它们交互信息,并促进这些系统的升级改造。 w e b 组态监控系统的研究与实现 另外,构建基于b s 结构的实时监测网络系统,还能很方便的扩展网络的其他通用 功能,比如企业内部b b s ,邮件服务器等。 随着数字化经济时代步伐,全球数字环境的范围正不断扩大,而以数字化环境来协 助生产管理和决策的企业将获得更多的机遇。i n t e m e t i n t r a n e t 无疑将成为未来最有发展 前途的信息传播媒体,实现工业生产和i n t e m e t i n t r a n e t 的完美结合,建立一个基于工业 生产现场的i n t e m e t i n t r a n e t 体系,实现工业实时数据的动态发布和工业现场的w e b 化 管理,无疑是一个十分有意义的课题。 一4 一 大连理工大学硕士学位论文 2w e b 组态软件平台相关技术研究 2 1w e b 技术介绍 近年来,随着i n t e m e t i n t r a n e t 技术的发展,w w w ( w o r l dw i d ew e b ) 己经成为信息 交换的一种很有效的方式。w w w 是基于i n t e r n e t 的,全球连接的,分布的,动态的, 多平台的交互式图形超文本信息系统 4 1 。它利用多种协议去传输和显示驻留在世界各地 互连( i n t e m e t ) 计算机上的多媒体信息。在各种应用程序和浏览器的推动下,w e b 很快 成为h l t e m e t 上发布文本和多媒体信息的一种有效手段【5 1 。 w e b 是一个开放的环境,应用由重用组件集成,通过标准语言汇编、跨平台的统一 t c p i p 协议发布,用标准用户界面显示,它与硬件平台和操作系统无关。w e b 交互式 应用主要表现在两个方面,一是与动态数据库链接的用户查询;一是对动态数据的处理。 通过扩充h t m l 文档,w e b 可以用多种方法实现交互性。常用的方法有三种【6 】:( 1 ) 提 供w e b 服务器扩展功能的方法,主要包括公共网关接e ( c o i ) 和应用编程接0 ( a p i ) 。这 种方法把客户端的交互式请求通过u r l 传给w e b 服务器,再启动相应的处理程序,把 结果变成动态h t m l 页传给客户端;( 2 ) 把应用程序语句嵌入到h t m l 文档中,供含有 相应解释器的浏览器下载执行,如n e t s c a p e 提供的j a v a s c r i p t 及微软的v b s c r i p t 脚本语 言;( 3 ) 采用组件化软件方法。这种方法通常把w e b 客户端的浏览器当作下载并执行w e b 服务器端部件化软件的包容器( c o n t a i n e r ) 。当需要交互操作时,浏览器下载h t m l 文档 中所标明的部件并执行。目前市场上存在多种部件化软件模型产品。 2 1 1c s 结构与b s 结构比较 当今开发模式技术架构有两大主流体系结构:c s 和b s 结构。在软件开发中,它 们有各自不同的优势。 ( 1 ) c s 体系结构 c s ,即c l i e n t s e r v e r ,客户服务器机构i _ ”。它是一种应用范围很广的体系结构。它 由两部分构成:前端是客户部分,负责执行前台功能,即用户界面( c l i e n t ) ,结合了表示 与业务逻辑,接受用户的请求,并向数据库服务提出请求;后端是服务器部分,执行后 台服务,如管理共享外设、控制对共享数据库的操纵、接受并应答客户机的请求等,还 要提供完善的安全保护及对数据的完整性处理等操作,并允许多个客户同时访问同一个 数据库。在这种结构中,服务器的硬件必须具有足够的处理能力,这样才能满足各客户 的要求。 w e b 组态监控系统的研究与实现 c s 应用系统采用“请求响应”的应答模式。当用户需要访问服务器时由客户机发 出“请求”,服务器接受“请求”并“响应”,然后执行相应的服务,将执行结果送回 给客户机,这种体系结构将一个应用系统分为两大部分,由多台计算机分别执行,使它 们有机的结合在一起,协同完成整个系统的应用,从而达到系统中软、硬件资源最大限 度的利用。典型的客户机,服务器体系结构如图2 1 所示。 图2 ,1 客户端服务器体系结构 f i g 2 1t h es t r u c t u r eo f c l i e n t s e r v e rs y s t e m 由于这种结构往往是一个c l i e n t 端、一个s e r v e r 端成对出现,所以当应用的业务逻 辑放在c l i e n t 端时,将使得应用程序的可扩充性和可维护性很差,如果访问另一套服务 器就需要另套软件,因此客户端必须配置很多软件。逐台配置机器对于一个有多用户 的复杂系统而言工作量相当大,维护成本高,一旦应用程序由于需要而更新,必须升级 所有的客户软件。当应用程序的业务逻辑放在s e r v e r 端时则会增加s e r v e r 的压力,使 s e r v e r 的整体性能降低。另外,c s 结构对网络底层协议的依赖性大,由于部分程序并 非建立在t c p i p 协议之上的,因此难以解决跨防火墙和异构网络等问题,对跨平台的 支持也显得不足。c s 结构也有它的优点: c s 方式有很强的实时处理能力,更适合于对数据库的实时处理和大批量的数据 更新; c s 方式的面向对象技术十分完善,并且有众多与之配套的开发工具,这些开发 工具已经做的非常优秀; 由于c s 方式必须安装客户端软件,系统相对封闭,这反而使他的保密性优于 b s 结构。 ( 2 ) b s 体系结构 一6 一 大连理工大学硕士学位论文 b ,s ,即b r o w s e r s e r v e r ,浏览器服务器结构【s 】。它是随着i n t e m e t 技术的兴起,对 c s 结构的一种变化和改进。它利用不断成熟进步的浏览器技术,结合多种s c r i p t 语言 和a c t i v e x 技术,成为一种全新的软件体系构造技术。 b s 结构采用三层的设计构造方式:浏览器w e b 服务器数据库服务器。在这种结构 下,用户工作界面通过浏览器来实现,极少部分事务逻辑在前端( b r o w s e r ) 实现,主要事 务逻辑将在s e r v e r 端实现。b s 结构采用超文本传输协议h t t p ( h y p e r t e x tt r a n s f e r p r o t o c 0 1 ) 的消息传递机制,客户端通过浏览器访问服务器并发出服务请求,服务器进行 相应的处理后将响应结果返回给客户端。b s 结构如图2 2 所示。 图2 2 浏览器服务器体系结构 f i g 2 2t h es t r u c t u r eo f b r o w s e r s e r v e rs y s t e m b s 结构的出现,大大简化了客户端电脑载荷,对前端机的配置要求也较低,减轻 了系统维护与升级的成本和工作量,降低了用户的总体成本( t c o ) ,而且界面丰富、客 户端维护量小、程序分发简单、更新维护方便,容易进行跨平台布置、在局域网与广域 网之间进行协调,适宜信息发布类应用,并能实现不同的人员,从不同的地点,以不同 的接入方式( l a n ,w a n ,i n t e m e t i n t r a n e t 等) 访问和操作共同的数据库;并能有效地保护 数据平台和管理访问权限,服务器数据库的安全。 与c s 结构相比较而言,b s 的优点主要有以下几个方面: 由于w e b 支持底层的t c p i p 协议,使w 曲网与目前使用的几乎所有局域网都 可以做到无缝连接,从而彻底解决了异构系统间的连接问题; 由于w e b 采用了“瘦客户端”,使系统具开放性得到很大的改善,系统对将要 访问系统的用户数的限制有所放松; 系统的相对集中性使得系统的维护和扩展变得更加容易。比如,数据库存储空 间不够,可再加一个数据库服务器;系统要增加功能,可以新增一个应用服务器来运行 新功能; 界面统一( 全部为浏览器方式) ,操作相对简单; 业务规则和数据捕获的程序容易分发【9 1 。 w e b 组态监控系统的研究与实现 对于工业现场监控系统来说,客户端浏览器不需要进行数据逻辑运算,只需浏览相 应的画面信息,服务器端将进行数据的处理过程。所以本系统将选用开发维护成本较低、 客户端负载较小,开发较为灵活的b s 体系结构。 2 1 2 基于w e b 的组态软件 使组态软件具有w e b 功能,允许用户通过i n t e r n e t 在任何地方都能访问到生产现场 的实时信息,这就产生了网络环境下的组态软件( c o n f i g u r a t i o ns o f t w a r ef o ri n t e m e t ) 。通 过这种软件,用户可以根据自己的生产状况,设计出适合自己需求的画面,然后将它进 行保存并分发,这样对每一个授权的用户来说,在世界任何地方都可以通过浏览器软件 看到现场的各类画面和实时信息,从而了解整个现场的运行情况。 网络环境下的组态软件与传统的组态软件相比,它的主要特点有: ( 1 ) 突破了地域的限制,实现了远程监视。网络环境下的组态软件,使得用户可以 远离生产现场就能够了解整个的生产情况。 ( 2 ) 采用了目前比较先进的b s ( b r o w s e r s e r v e r ) 方式,而不是传统意义上的 c s ( c l i e n t s e r v e o 。 ( 3 ) 从结构上分析,网络环境下的组态软件简化了客户端。在客户端不再需要安装 用户界面程序,只要安装一个通用浏览器就行了。 ( 4 ) 降低了维护工作量。由于所有的功能实现都在w e b 服务器上实现,大大降低 了维护的工作。 ( 5 ) 使用简单、方便。用户使用单一的b r o w s e r ( 浏览器) 软件,通过鼠标即可访问 文本、图像、声音、及数据库等信息,特别适合非计算机人员使用。 2 2 软件组件及其相关技术介绍 2 2 1 组件技术的发展 目前,在软件开发领域,一场新的革命正在悄悄兴起,这是由日趋成熟的组件技术 引发的。几年以前,当微软公司首先使用o l e 的时候,其初衷是为了增强软件的互操 作性。然而在使用过程中,人们逐渐认识到这一技术背后的实质性内容和它在软件开发 中所扮演的重要角色。组件技术将以前所未有的方式提高软件产业的生产效率,这一点 已逐步成为软件开发人员的共识。传统的c l i e n t s e r v e r 结构、群件、中间件等大型软件 系统的构成形式,都将在组件的基础上重新构造。 在计算机软件发展的早期,一个应用系统往往是一个单独的应用程序。应用对象越 复杂,程序就越庞大,系统开发的难度也就越大。而且,一旦系统的某个版本完成以后 8 一 大连理工大学硕士学位论文 在下个版本出来之前,应用程序不会再有所改变。而对于庞大的程序来讲,更新版本的 周期很长,在两个版本之间,如果由于操作系统发生了变化,或者硬件平台有了变化, 则应用系统就很难适应这样的变化。所以这类单体应用程序已经不能满足计算机软硬件 的发展需要。 从软件模型角度来考虑,一个很自然的想法就是把一个庞大的应用程序分成多个模 块,每一个模块保持一定的功能独立性,在协同工作时,通过相互之间的接口完成实际 的任务。我们把每一个这样的模块称为组件,一个设计良好的应用系统往往被切分成一 些组件,这些组件可以单独开发,单独编译,甚至单独调试和测试。当所有的组件开发 完成后,把它们组合在一起就得到了完整的应用系统。当系统的外界软硬件环境发生变 化或者用户的需求有所更改时,并不需要对所有的组件进行修改,而只需对受影响的组 件进行修改,然后重新组合得到新的升级软件。图2 3 表示的就是这样一个升级过程。 i 组件a ii 组件b i i 新组件a i 组件b l f 组件c ii 组件d i i 组件c ii 新组件dl i 组件e i i 组件e 应用程序 新应用程序 图2 3 基于组件的程序升级 f 蟾2 3t h ep r o g r a mu p g r a d eb a s e do nc o m p o n e n t 组件化软件结构大大提高了软件升级的灵活性,要实现这种组件化结构模型,必须 把应用分成一些独立的组件,而且这种切分要尽可能符合系统的应用逻辑和业务要求, 这是一门新的组件化程序设计技术,它不同于传统的结构化程序设计技术,也不同于现 在被广泛采用的面向对象程序设计技术。可以说,组件化程序设计位于这二者之上,它 更注重于应用系统的全局,要求从应用系统全方位来进行考察。在具体到某个组件或模 块的设计时,仍然需要结构化程序设计和面向对象程序设计技术作为基础。 组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段。在组件技术 的概念模式下,软件系统可以被视为相互协同工作的对象集合,其中每个对象都会提供 特定的服务,发出特定的消息,并且以标准形式公布出来,以便其他对象了解和调用。 组件间的接口通过一种与平台无关的语言i d l ( i n t e r f a c ed e f i n el a n g u a g e ) 来定义,而且 是二进制兼容的,使用者可以直接调用执行模块来获得对象提供的服务。早期的类库, w e b 组态监控系统的研究与实现 提供的是原代码级的重用,只适用于比较小规模的开发形式;而组件则封装得更加彻底, 更易于使用,并且不限于c + + 之类的语言,可以在各种开发语言和开发环境中使用。 基于组件的软件开发作为新的工业化的软件开发方法,是对传统开发方法的种变 革,它使得软件开发从代码开发转移到对已测试、已使用的,并且在内部互操作的组件 的集成。目前比较成熟并被广泛使用的组件模型有c o m d c 0 m 、c o r b a 以及 j a v a b e a n s 组件标准。基于w i n d o w s 操作系统的普遍使用,目前已有大量系统基于 c o m d c o m 组件技术而实现,本文所述的客户端组态监控平台所要使用的组件也统一 遵循c o m 标准。 2 2 2c o m 技术原理概述 c o m ( c o m p o n e n t o b j e c t m o d u l e ) ,即组件对象模型,是一种以组件为发布单元的对 象模型,这种模型使各软件组件可以用一种统一的方式进行交互【l 。它是一个二进制规 范,与源代码无关。这样,即使c o m 对象由不同的编程语言创建,运行在不同的进程 空间和不同的操作系统平台,这些对象也能相互通信。c o m 既是规范,也是实现,它 以c o m 库的( o l e 3 d l l 和o l e a u t 3 2 d l l ) 的形式提供了访问c o m 对象核心功能的标 准接口以及一组a p i 函数,这些a p i 函数用于创建和管理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 ( i n t e r f a c e ) 而不 是方法来描述自己并提供服务。所谓接口,其精确定义是“基于对象的一组语义上相关 的功能”,实际上是一个纯虚类,真正实现接口的是接口对象( i n t e r f a c eo b j e c t ) 。一个 c o m 对象可以只有一个接口,也可有多个接口。 接口是客户与服务器通信的唯一途径。如果一个组件对象有多个接口,则通过一个 接口不能直接访问其他接口。但是,c o m 允许客户调用c o m 库的q u e r y l m e r f a c e o 去查 询组件对象所支持的其他接口。从这个意义上讲,组件对象有点像接口对象的经纪人。 大连理工大学硕士学位论文 接口是面向对象编程思想的一种体现,它隐藏了c o m 对象实现服务的细节。c o m 对象可以完全独立于访问它的客户,只要接口本身保持不变即可。如果需要更新接口, 则可以重新定义一个新的接口,对于使用老接口的客户来说,代码得到了最大程度的保 护。 2 2 3a c t i v e x 技术原理 a c t i v e x 是m i c r o s o f t 提出的组基于c o m 的可以使软件组件在网络环境中进行相 互通信的一些技术的集合,它与具体的编程语占无判1 1 1 。它是由o l e 技术发展而来的。 作为针对i n t e m e t 应用开发的技术,a c t i v e x 被广泛应用于w e b 服务器以及客户端的各 个方面。同时,a c t i v e x 技术也被用于方便地创建普通的桌面应用程序。 ( 1 ) a c t i v e x 的前身0 l e 介绍 微软公司于1 9 9 1 年公布了一种叫做o l e l 0 的规范。它代表了对象的链接和嵌入技 术。o l e l 0 是处理复合文档的一种方法。复合文档就是在一个文档中同时保存有多个 应用程序的数据,如文本图像、声音等。 1 9 9 3 年,微软公司又公布了o l e 2 0 规范,所包含的内容比复合文档要多得多,它 是在c o m 基础上所提供的一整套的服务体系结构,这个结构中的元素有:c o m 、统一 数据传输( u n i f o r md a t at r a n s f e r ,简称u d t ) 、结构化存储、永久链接( m o n i k e r s ) 、剪贴 板、拖放功能、链接、嵌入、在位激活、o l e 自动化、o l e 文档、o l e 控制等i l2 j 。 对o l e 的支持是从v c l 0 开始的,而对a c t i v e x 的支持从v c 4 i ( m f c 4 1 ) 开始的, 但是真正全面的支持是从v c 5 0 和m f c 5 0 才开始的。由于m f c 提供了对o l ea p i 的 封装,所以大大地方便了软件开发者对o l e 和a c t i v e x 组件的开发。 从用户的角度来看,用户使用o l e 有三种方式:o l e 文档、o l e 自动化和o l e 控制。首先是o l e 文档。o l e 文档是一种复合文档,用户可以使之包括来自不同应用 程序的数据和对象,这是一种集成数据的能力,实现集成数据能力的两个方法是链接和 嵌入。还有一种实现的方式,那就是进行拖放:例如在e x c e l 中选中一个表格之后,一 直保持鼠标的按下,把这表格拖放到w o r d 文档中,根据c t r l 键的按下与否,可以分别 实现复制和剪贴的功能。其次是o l e 自动化。通过使用一些高级语言,如v b a ( v i s u a l b a s i cf o ra p p l i c a t i o n ) ,v b s c r i p t 和j a v a s c r i p t ,o l e 可以使一个应用程序开发出一个被 称为o l e 自动化服务器的o l e 组件,它提供了一些自己所特有的属性和方法,而且其 他的用户可以在自己的应用程序或w e b 页面中( 被称为o l e 自动化控制) 创建和操作这 个o l e 组件。同样用户可以在不需要学习另外一种编程语言的前提下,使用由别的开 发者创建和操作的o l e 自动化服务器。 w e b 纽态监控系统的研究与实现 ( 2 ) 从o l e 发展到a c t i v e x 1 9 9 5 ,i n t e r a c t 革命给m i c r o s o f t 的技术以极大的刺激,m i c r o s o f t 认识到i n t e m e t 潮 流比它先前预料的要汹涌得多,于是m i c r o s o f t 决定重整它的命名惯例,让o l e 回到自 己的本源,将o l e 技术用“a c t i v e x ”商标来销售。可以认为a c t i v e x 是o l e 技术的发 展,而这种发展的原因是由于o l e 技术在i n t e m e t 飞速发展的过程中与其发生了冲突, 即a c t i v e x 是o l e 技术在i n t e m e t 上的扩展。 微软公司是在1 9 9 6 年3 月的i n t e m e t 专业开发人员大会( i n t e m e tp d c ) 上首次提出 a

温馨提示

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

评论

0/150

提交评论