已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文 摘要 组态软件作为工业远程监控系统的重要组成部分,它的性能在很大程度上影响着整 个监控系统的优劣。具有一定通用性的组态软件能够提高系统的可靠性和程序的重用 性。面向w e b 和基于可重用组件技术是新型组态软件的最新的发展趋势和研究热点, 对计算机远程监控具有重要的现实意义和良好的应用前景。 本文的研究实现了以组件重用、基于w e b 、平台无关为三个主要特点的新型组态 软件主体部分,包括四个主要设计内容:组态开发环境、运行环境、组件通信技术、组 件设计开发。在借鉴目前流行组态软件的开发经验基础上,将i n t e r n e t 技术、软件组件 技术与工业现场监控系统结合起来,从而形成了一种新的基于b s ( b r o w s e r s e r v e r ) 结构 的组态系统;采用将工业现场中采集到的实时信息,通过专用组件连接并进入企业本地 网络的服务器中,并结合动态编译技术以j a v a 小程序( a p p l e t ) 为容器,嵌入到h t m l 页 中的形式实时发布到w e b 上的设计方案,实现了动态画面的实时刷新和远程监控;采 用多线程机制和内存数据交互,提高系统地实时性和响应速度;通过对系统的结构以及 设计目标的分析,采用面向对象的程序设计方法,完成了画面的设计与显示,实现了组 态软件开发环境的开发;通过对j a v a b e a n s 组件规范的深入研究,设计了几种轻型的 j a v a b e a n 组件,系统组态体的设计围绕组件这一核心,充分发挥组件技术的优势,提高 系统的可扩展性和开放性;按照通用性的设计思路,设计并开发了一种基于j a v a 动态编 译技术和组件的内省、反射机制的数据软总线,组件之间通过这种方式传输数据和传递 操作。 总之,将这些优秀的技术应用到工业控制组态软件的设计中,实现了远程监控组态 软件主体部分的开发,达到了预期的设计目标。 关键词:d a v a b e a n s ;w e b = 组态软件;面向对象;数据库 刁勇:基于w e b 的系统组态 s y s t e mc o n f i g u r a t i o nb a s e d o nw e b a b s t r a c t c o n f i g u r a t i o ns o f t w a r ei s a ni m p o r t a n tp a r to fi n d u s t r i a lr e m o t em o n i t o r i n ga n dc o n t r o l s y s t e m ,a n di t sp e r f o r m a n c eh a sd e c i d e dt h eb e h a v i o ro ft h ew h o l em o n i t o r i n ga n dc o n t r o l s y s t e mi nd e e pe x t e n t t h ec o n f i g u r a t i o ns o f t w a r ew i 也s o m eg e n e r a l i t yn o to n l ye n h a n c e st h e r e l i a b i l i t yo fs y s t e m ,b u ta l s or e a l i z e sr e u s i n go f t h ep r o g r a m b e i n gt h en e w e s tt e n d e n c ya n d p r e s e n tr e s e a r c hf o c u s w j bo r i e n t e da n dt e c h n o i o g yb a s e do nr e u s a b l ec o m p o n e n ta r et w o o 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 de 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 t h em a i np a r to fc o n f i g u r a t i o ns o f t w a r ew h i c ht a k e sc o m p o n e n tr e s u e d w 曲b a s e da n d c r o s s p l a t f o r ma si t st h r e em a i nc h a r a c t e r sh a sb e e nr e a l i z e d a n dt h ep a p e ri n c l u d e s f o u r m a i n d e s i g 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 i n ge n v i r o n m e n t ,r u n n i n ge n v i r o n m e n t , c o m m u n i c a t i o nt e c h n o l o g yb e t w e e nc o m p o n e n t s ,d e s i g no fc o m p o n e n t s o nt h eb a s eo f d 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 ta n dc o m b i n a t i o nt h e t e c h n o l o g yo fi n t e m e tw i t hi n f o r m a t i o nm o n i t o r i n gs y s t e m an e wh n do fc o n f i g u r a t i o n s o f t w a r eb a s e do nt h es t r u c t u r eo f b s ( b r o w s e r s e r e e r ) i sf o r m e d i no r d e rt oi m p l e m e n tt h e r e n o v a t i o no fd y n a m i cd i s p l a y , t h es c h e m et h a tc o n n e c t st h er e a l t i m ei n f o r m a t i o nf r o m i n d u s t r i a la u t o m a t i o no ns p o tw i t hs e r v e ri nl o c a ln e t w o r ko fe n t e r p r i s ei sa d o p t e d j a v a a p p l e ti st a k e na sc o n t a i n e r , a n dt h e nt h ea p p l e ti se m b e d d e di n t oh t m lp a g e b yt h i sw a y , t h ec o n f i g u r a t i o np i c t u r ec a r lb ep u b l i s h e do nw e bi nt i m e t h em u l t i t h r e a d i n gt e c h n o l o g ya n d m e m o r yd a t ai n t e r a c t i o na r ea d o p t e d ,s ot h es y s t e mr e s p o n s es p e e da n dt h er e a l t i m eh a sb e e n e n h a n c e d ;o b j e c to r i e n t e dp r o g r a m m i n gi su s e dt oc o m p l e t et h ed e s i g na n dd i s p l a yo f c o n f i g u r a t i o np i c t u r ea n da c h i e v et h ed 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 e s e v e r a ll i g h t j a v a b e a n sc o m p o n e n t sh a v eb e e nd e s i g n e db yt h o r o u g hr e s e a r c ho fj a v a b e a n s ,a n dt h e d e s i g no ft h ec o n f i g u r a t i o ns y s t e mo ft h i ss y s t e mc e n t e r so nt h ec o r eo fc o m p o n e n t t h i s m e t h o di m p r o v e se x p a n s i b i l i t ya n do p e n n e s so ft h es y s t e m a c c o r d i n gt ot h ed e s i g nw a yo f c o m m o n a l i t y , f lk i n do fd a t as o f t b u si sd e s i g n e da n dd e v e l o p e d a n di ti sb a s e do nt h ed y n a m i c c o m p i l i n gt e c h n o l o g yo fj a v al a n g u a g e ,i n t r o s p e c t i o na n dr e f l e c t i o no fb e a n s i ti su s e dt o c o m m u n i c a t eb e t w e e nb e a n s d a t ai st r a n s m i t t e da n do p e r a t i o ni st r a n s f e r r e db yt h i sw a y i ns h o r t ,t h e s e o u t s t a n d i n gt e c h n o l o 百e s a r eu s e dt o d e s i g nt h ei n d u s t r y c o n t r o l c o n f i g u r a t i o ns o f t w a r e ,t h e nt h em a i np a r to fr e m o t em o n i t o r i n ga n dc o n t r o lc o n f i g u r a t i o n s o f t w a r eh a sb e e nd e v e l o p e d t h es u b j e c ta c h i e v e st h ee x p e c t e dd e s i g ng o a l k e y w o r d s :j a v a b e a n s ;w e b ;c o n f i g u r a t i o ns o f t w a r e :0 b j e e to r i e n t e d ;d a t a b a s e 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志 对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。 作者签名:召基 日期:翘幽i 塑区 人连理上人学硕士研究生学位论文 连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用 规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子 版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论 文。 作者签名:刀荔 作者签名:卅鲤 导师签名:张录n 盈堕年j 兰月上f 1 大连理工大学硕士学位论文 引言 以4 c 技术( 计算机c o m p u t e r 、通讯c o m m u n i c a t i o n 、控制c o n t r o l 、显示终端c r t ) 为基础发展起来的计算机监控系统的实质是利用计算机技术对工业现场进行集中监视、 操作、管理和分散控制,实现远程监控【1 。集散控制系统软件部分是由实时多任务操作 系统、数据库管理系统、组态软件和各种应用软件所组成,其中组态软件的概念是本文 讨论的重点。 计算机监控系统的软件一般是较为成熟的模块化结构,系统的图形显示功能、数据 库管理功能、控制运算功能和历史存储功能等全有成熟的软件模块。但通常不同的应用 对象,对这些内容要求有较大的区别。所以般的计算机监控系统提供一个( 或一组) 功能很强的软件工具包,即组态软件。组态软件提供友好的用户界面,使用户在不需要 编写什么程序代码的情况下,便可生成自己需要的应用软件。 随着分布式计算机控制系统的发展,人们越来越注重系统的软件组态和配置功能, 即系统中配有一套功能十分齐全的组态生成工具软件【2 】。组态软件应当具有很强的通用 性,能够适用于一大类应用对象,而且系统的执行程序代码部分一般是固定不变的,为 使用不同的应用对象只需由组态软件生成不同的数据实体( 包括图形文件、报表文件、 数据库文件、脚本文件等) 即可。这样,既大大提高了系统的成套速度,又保证了系统 软件的成熟性和可靠性。 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 的迁移,网络体系结构由c s 向着b i s 模式的转变已成为发展的趋 势p j 。随着w e b 技术的介入,结合新一代网络语言j a v a 的无与伦比的平台无关性和可 移植性,实现满足上述要求的具有新型体系结构的工控组态系统有着得天独厚的优势 4 1 。 应此发展趋势,组态软件也从早期的单机应用发展到基于w e b 的网络应用。国内 尚没有真正意义上基于w e b 的跨平台的工业组态软件。而由于国外进口的相关组态软 件价格昂贵、非中文界面、技术服务困难等缺点,很难被用户认可,因此,尝试开发一 套基于分布式组件技术的w e b 组态软件是十分必要的【5 。 本文在研究国内外现有的组态软件平台的情况下,结合最新的组件技术和w e b 技 术,设计了一个小型组态软件平台。在此过程中,按照j a v a b e a n s 规范设计了自定义组 件,完成部分组态功能,提出文件存储方式,多线程编程的初步解决方案。设计了该软 件平台的开发环境,以及运行环境的服务器部署。在w i n d o w s 平台上,采用j a v a 语言 实现了该软件的主要功能。所有组件都是基于j a v a b e a n s 规范并以j a v a 语言开发实现, 使得该软件平台具有良好的跨平台特性。 刁勇:基于w e b 的系统组态 1 绪论 随着计算机技术的迅猛发展,工业过程控制领域已经进入到一个崭新的阶段,其自 动控制系统迅速完成了从电动调节仪表到计算机控制系统的过渡,目前以d c s 为代表 的计算机控制系统己经在全世界范围内广泛应用。新型的工业自动控制系统正以标准的 工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统,具有适应性强、开放 性好、易于扩展、经济、开发周期短等优点。 实时工业过程控制系统中,高质量的硬件体系固然十分重要,但控制系统中的控制 任务的实现,最终还是要靠程序的执行来完成,因此,应用软件的性能优劣就与整个系 统关系极大,弗在很大程度上决定了整个控制系统的运行效率和各项性能指标的最终实 现。所以控制系统中的应用软件是实现整个系统目标的极其重要环节。 在使用工控软件中,我们经常提到组态一词,简单的讲,组态就是用应用软件中提 供的工具、方法、完成工程中某一具体任务的过程。在组态概念出现之前,要实现某一 任务,都是通过编写程序来实现的。编写程序不但工作量大、周期长,而且容易犯错误, 不能保证工期。组态软件的出现,解决了这个问题。对于过去需要几个月的工作,通过 组态几天就可以完成。组态软件中的每个“部件”都很灵活,因为软部件都有内部属性, 通过改变属性可以改变其规格( 如大小、性状、颜色等) 。 组态软件是有专业性的。一种组态软件只能适合某个领域的应用。组态的概念最早 出现在工业计算机控制中。如d c s ( 集散控制系统) 组态,p l c ( 可编程控制器) 梯形 图组态。其实在其他行业也有组态的概念,人们只是不这么叫而已。如a u t o c a d , p h o t o s h o p ,办公软件( p o w e r p o i n t ) 都存在相似的操作,即用软件提供的工具来形成自己 的作品,并以数据文件保存作品,而不是执行程序【6 】。组态形成的数据只有其制造工具 或其他专用工具才能识别。但是不同之处在于,工业控制中形成的组态结果是用在实时 监控的。组态工具的解释引擎,要根据这些组态结果实时运行。从表面上看,组态工具 的运行程序就是执行自己特定的任务。 在过去的几十年中,人们设计了许多控制组态软件包,这些软件包是互相独立的依 赖于单一硬件平台的实体,存在一些难于解决的问题。可扩充性差,系统的可扩充性即 灵活性受到软件包运行硬件环境的限制;可靠性差,有时一个单一的错误就可能导致整 个系统的失败和数据库的崩溃;对操作系统的依赖性强,传统的工控软件一般是针对具 体的操作系统来设计的【1 ”。而当这种操作系统的生命周期结束时,该工控软件包的生命 周期也随之结束例。 但是由于组态软件通用性强,一般不需用户编写程序,这样使得开发人员不再重复 大连理工大学硕士学位论文 开发,只需调用相应的模块,通过填表、连线的方式生成应用程序。因此,组态软件把 控制工程师从艰难、繁重的软件编程工作中解放出来,越来越受到欢迎和重视。目前, 组态软件已成为工控领域的关键产品,国内外许多公司、企业已开发出不少优秀的组态 软件。 基于组件的软件工程将软件系统视作由不同组件组成,组件间以特定方式交互咿j 。 应用组件技术到本课题中,采用基于组件技术的工业控制系统组态,将工业控制系统中 涉及到的一些模块、环节、算法等设计成可重用组件,利用这些组件进行控制系统组态, 并以b s ( b r o w s e r s e r v e r ) 结构实现。克服了传统一体化软件包的局限,具有如下优点: ( 1 ) 易用性:用户可以在浏览器上查看感兴趣的信息; f 2 ) 可扩展性:用户可以不断添加组件来扩展系统的功能; ( 3 ) 增强的可靠性:一个错误最多导致错误所在组件出现错误,不会影响其它部分; ( 4 ) 平台无关性:由于采用b s 结构,系统可以运行在各种平台之上; ( 5 ) 好的性能价格比:用户仅仅需要购买当前系统需要的组件,因此避免了大规模 的超前投资。 1 1 软件组件技术的发展与趋势 代码组件是用于构造程序的可重用代码资源,组合重用代码组件的基本目的就是仅 仅只需将已有的代码组件组合起来,就可以得到所需要的程序。如果将可视化技术、软 件原型化技术同代码组件的动态组合重用技术结合起来,则重用者只要通过简单直观的 可视化操作就可以成功地重用代码组件【l 0 j 。 随着软件规模的不断扩大,对软件质量和生产效率的要求越来越高,软件重用使得 软件开发不再一切“从零开始”,可以提高软件生产率并提高软件系统的质量,是在软 件开发中避免重复劳动的解决方案。软件重用将越来越受到重视。在提倡结构化程序设 计的时代,软件重用主要体现在以下方面:源代码重用、目标代码级重用、类库、组件。 源代码重用是最低级的重用,但也比完全不重用好。目标代码级重用是目前用的最 多的一种重用方式,它一般以函数库的方式来体现,程序员不需要修改源代码,减少了 程序员修改源代码的时间,但是其灵活性大大降低,而且无法与数据结合到一起。类库 与目标代码级重用一样,都是经过特定开发语言编译的二进制码,然而它具有继承、封 装、派生等特性,使大规模的重用成为可能,是面向对象技术出现后的新的重用方式u “。 组件( c o m p o n e n t ) 3 z 称部件、构件,是继过程性模型和面向对象模型之后的下一代 逻辑模型,是迄今为止最优秀的软件重用手段【i “。部件化设计指的是通过对软件功能的 良好定义和划分,将特定的功能模块设计为一个部件,整个系统则按照一定的标准采用 刁勇:基于w e b 的系统组态 搭积木式的方式无缝连接构成。部件不仅可以重复使用,而且还可以由用户自行配置 1 ”。 7 对部件进行配置,意味着开发人员对一个一般化的部件加以裁剪或进行定制化的处理, 使其适应某些特定环境的具体需求。 目前,组件分为两大类,一种是微软提出的a e t i v e x ,一种是s u n 的j a v a b e a n 。 a c t i v e x 支持w i n d o w s 平台下的各类开发工具,j a v a b e a n 在所有支持j a v a 的平台上都可 以运行,它们之间的区别实质上就是性能与平台无关性的区别【l ”。随着i n t e m e t i n t r a n e t 的发展,那些可在任何系统上产生相同可执行映像的软件将是开发商的首选产品,意味 着在这一层意义上j a v a 和j a v a b e a n 优于a c t i v x 1 5 j 6 1 。 1 ,2j a v a b e a n s 组件模型的分析与研究 按照j a v a b e a n s 的说法,一个组件就是j a v a 应用程序或a p p l e t 能够重复使用的部件 就是b e a n 。s u n 的定义:j a v a b e a n s 就是一个可重复使用的软件部件,该部件可以用来 生成其进行可视化的处理。基于a 厂r ( 抽象窗口工具集) 任何j a v a 程序已经是一个b e a n , 可以把它当作是一个组件使用,而不用改写代码。这就意味着可以使用现有的a w t 资 源,而不需要重复开发。b e a n 可以是轻型( 如按钮开关) 、中型( 如数学公式编辑) 、 重型( 复合文件系统) 。它也可以是可见的( 如棒图) 也可以是不可见的( 如事件监听 器) 。j a v a b e a n s 期待更简单的b e a n ,因此提供了j a v a b e a n s a _ p i s ,使轻型组件的设计变 得容易,重型组件的设计也能实现。通常,在组件上下文中,容器是相关元件的组装和 集合。容器可能是常规应用程序、组合文件、可视生成器、网页或其它含有b e a n 的任 何东西i l l 埔】。容器可以相互嵌入:一个容器可以拥有若干容器,而这些容器又可以具有 b e a n 。b e a n 可以是容器:一个b e a n 能包含具有更简单b e a n 的b e a n 。 j a v a b e a n s 将j a v a 语言本身所具有的“一次编写,到处运行”( w r i t eo n c e , r u n a n y w h e r e ) 特性沿用到代码组件b e a n 上,使b e a n 也具有平台无关性【l ”。b e a n 是特殊的 j a v a 类( 以下简称b e a n 类) ,它具有一般j a v a 类所没有的一些特性。b e a n 类具有以 下的成份和特性【2 0 :( 1 ) 方法;( 2 ) 属性:( 3 ) 事件;( 4 ) 内省( i n t r o s p e c t i o n ) :内省是指软件 工具能够从外部分析b e a n 是如何工作的。通过内省,应用程序构造工具能够分析b e a n 具有哪些属性、事件和方法,以及使用它们所必需的信息;( 5 ) 对应用程序构造器的支持: 应用程序构造工具可以在b e a n 类支持内省的基础上,为软件开发人员提供直观的重用 b e a n 的可视化方式,从而使重用代码资源的过程变得简单、灵活和有效;( 6 ) 客户定制 ( c u s t o m i z a t i o n ) :开发人员可以利用应用程序构造工具,设置b e a n 的属性值,以定制 b e a n 的外观和行为;( 7 ) 永久性存储:可以在永久性的存储设备上保存b e a n 类。b e a n 的内部结构中遵守方法和类型等的命名约定,使b e a n 的内部结构满足标准设计模式的 4 大连理工大学硕士学位论文 要求。显式内省需要在b e a n 的内部结构中显式地定义供外部使用的属性、事件和方法。 不同于o c x 控件和a c t i v e x 控件,这种显式定义不需要使用特殊的语割2 “,而只需使 用j a v a b e a n s a p i 中所提供的有关的类和接口【2 2 j 。 在b e a n 的内部结构中,每个b e a n 属性都对应地定义有两个访问者方法,其中一个 用于获取属性值,另一个用于设置属性值。通过类中的公共方法访问类自身的属性是所 有类都具有的特性。j a v a b e a n s 代码组件模型为了支持属性内省,为属性访问者方法制 定了命名约定规则。例:如果属性名为p r o p e r t y n a m e ,属性类型名为p r o p e r t y t y p e ,则 这个属性的一对访问者方法被命名为: p u b l i cp r o p e r t y t y p eg e t p r o p e r t y n a m eo ; p u b l i cv o i ds e t p r o p e r t y n a m e ( p r o p e r t y t y p e ) ; 前者获取属性值,后者设置属性值。这样应用程序构造工具遍历到这两个访问者方 法原型时,就可以很容易地根据命名约定规则,确定b e a n 中具有属性p r o p e r t y n a m e 。 对于索引属性、关联属性和约束属性,同样也可根据相应的访问者方法,来分析b e a n 所具有的这些属性,以及使用这些属性的方法。 应用程序创建b e a n 后,在此范围外访问b e a n 的源代码,提取所有的必要的信息 以创立属性表和事件处理器。解决办法是:j a v a 的研制者们希望为每个使用它的用户提 供一个标准的接口,而不仅仅是使b e a n 更为简单易用,他们提供了一个创建更复杂的 b e a n 的标准方法。这个接口就是i n t r o s p e c t o r 类,在这个类中最重要的方法是静态的 g e t b e a n i n f o ( o 我们通过一个类处理这个方法并且g e t b e a n i n f o ( ) 方法全面地对类进行查 询,返回一个我们可以进行详细研究以发现其属性、方法和事件的b e a n i n f o 对象。 j a v a b e a n s 主要有三种方法设置b e a n 的属性: ( 1 ) 利用其内部缺省的属性编辑器来直接对其属性进行设置。这主要是针对一些比 较简单但常用的j a v a 类型和不需要图形化编辑器的场合; ( 2 ) 利用b e a n 提供的属性编辑器p r o p e r t y e d i t o r 接口来编制自己的属性编辑器。用 户自定义的属性编辑器可以实现对复杂属性的设置,除此以外还可以实现利用g u i 来设 置属性值。前者主要适合于一些类型比较复杂的属性,而后者则是实现可视化开发的重 要条件; ( 3 ) 利用b e a n 提供的定制器对b e a n 的属性值进行设置。定制器可以实现属性编辑 器的全部功能,但它有一个属性编辑器无法实现的功能:同时对多个属性进行设置1 2 。 本系统中用到了一些比较复杂的属性而且需要用到可视化的界面来编辑属性值,因 此自己来定制专门的属性编辑器类,这个类必须实现p r o p e r t y e d i t o r 接口。一个实现 p r o p e r t y e d i t o r 接口的类负责两点:向用户显示属性值和接收属性值。而对于一些需要同 刁勇:基于w e b 的系统组态 时对多个属性进行设置的b e a n ,则提供了定制器类。该类必须实现i a v a b e a n s c u s t o m i z e r 接口。接口c u s t o m i z e r 的定义原型如下: p u b l i ci n t e r f a c ec u s t o m i z e r v o i ds e t o b j e c t ( o b j e c tb e a n ) ; v o i da d d p r o p e r t y c h a n g e l i s t e n e r ( p r o p e r t y c h a n g e l i s t e n e rl i s t e n e r ) ; v o i dr e m o v ep r o p e r t y c h a n g e l i s t e n e r ( p r o p e r t y c h a n g e l i s t e n e rl i s t e n e r ) ;) 其中,方法a d d p r o p e r t y c h a n g e l i s t e n e r ( p r o p e r t y c h a n g e l i s t e n e rl i s t e n e r ) 用以注册监听 器。这个监听器在属性发生变化时会有相应的行为。无论定制器( c u s t o m i z e r ) 何时改变目 标b e a n ,都应触发一个属性改变事件。因为当需要刷新b e a n 一些显示属性的设置及b e a n 的外观。这一点对于即时刷新g u i 界面的b e a n 来说是至关重要的。比如对于一个图形 按钮开关在指定了图像文件后,其外观就会立即跟着变化。 使用j a v a b e a n s a p i s 开发b e a n 的主要理由是:a p i s 类、接口和文档为在b e a n 类中 实现由j a v a b e a n s 代码组件模型所规定的属性接口、事件接口和方法接口等提供了支持。 实现属性接口、事件接口和方法接口是开发b e a n 时最重要的任务,因此利用j a v a b e a n s a p i s ,可以降低开发b e a n 的复杂性并减少所需的工作量。b e a n 是特殊的j a v a 类。在 b e a l l 所具有的特性中,一般j a v a 类也具有的特性直接由l a v aa p i s 来实现,b e a n 所特 有的特性由l a v a b e a n sa p i s 来实现。利用j a v a b e a n s a p i s 的类和接口所具有的功能或所 提供的服务,开发人员可以快速地实现b e a n 应该具有的各种特性,从而得到满足功能 和规格等要求的b e a n 。 对于b e a n 的重用者而言,b e a n 是具有属性、方法、以及事件触发和处理机制的一 种代码组件。通过属性和事件使用b e a n 所提供的服务也是j a v a b e a n s 代码组件模型定义 如何在外部操作代码组件b e a n 以及代码组件b e a n 如何相互作用的基础,同时也正是这 种使用b e a n 的方式使得b e a n 成为一种易于组合重用的代码组件。通过访问b e a n 的属 性,从b e a n 的外部可以对b e a n 进行定制。利用收听者b e a n 向事件源b e a n 的注册机制 以及事件处理函数,b e a n 与b e a n 、b e a n 与应用程序、b e a n 与发生在应用程序构造工具 中的用户操作可以相互连接起来【2 4 1 。 在我们可以安放一个b e a n 到一个可激活b e a n 的可视化构建工具中前,它必须被放 入到标准的b e a n 容器里,也就是包含b e a n 类和一个表示“这是一个b e a n ”的清单文 件的j a r ( j a v aa r c h i v e ,j a v a 文件) 文件中。清单文件是一个简单的紧随事件结构的 文本文件。 。3 当前流行的组态软件现状与发展趋势 随着工业控制系统应用的深入,在面临规模更大、控制更复杂的工业控制系统时, 大连理工大学硕士学位论文 人们逐渐意识到原有的上位机监控软件的开发方式费时耗力,得不偿失。因此,在九十 年代中期以后,组态软件在国内的应用逐渐得到了普及。这些组态软件产品的代表有: ( 1 ) i n t o u c h :i n t o u c h 是美国w o n d e r w a r e 公司的产品,是最早进入我国的组态软件, 该软件的最大特点是i o 点数和最大画面数不受限制。早期的i n t o u c h 软件采用d d e 方 式与驱动程序通信,性能较差,最新的i n t o u c h 版已经完全基于3 2 位的w i n d o w s 平台, 并且提供了o p c 支持1 ; ( 2 1f i x :f i x 组态软件是美国i n t e l l u t i o n 公司的产品,f i x 6 x 软件提供工控人员熟悉 的概念和操作界面,并提供完备的驱动程序( 需单独购买) 。最新推出的i f i x ,是全新 模式的组态软件,思想和体系结构都比较新,提供的功能也较为完整。原有的s c r i p t 语 言改为v b a ( v i s u a l b a s i cf o r a p p l i c a t i o n ) ,并且在内部集成了微软的v b a 开发环境。但 也许过与庞大,对系统资源耗费巨大,用户最为明显的感受就是缓慢,提供的许多大而 全的功能对于中国用户也并不适用。而且经常受到w i n d o w s 操作系统影响而导致不稳 定【2 6 : ( 3 ) c i t e c h :c i t e c h 是澳大利亚c i t 公司的产品,也是较早进入中国市场的产品。 它的界面部分很漂亮,很吸引入。但是,版本升级不很快,一直没有很大的体系改变, 使用的方便性和图形功能不及i n t o u c h 。其控制算法比较好,硬件驱动相对比较少。c i t 公司的c i t e c h 具有简洁的操作方式,但其操作方式更多的是面向程序员,而不是工控用 户。c i t e c h 提供了类似c 语言的脚本语言进行二次开发,但与i f i x 不同的是,c i t e c h 的脚本语言并非是面向对象的,而是类似于c 语言,这无疑为用户进行二次开发增加了 难度【2 7 l ; ( 4 ) w i n c c :s i m e n s 的w i n c c 也是一套完备的组态开发环境,s i m e n s 提供类c 语 言的脚本,包括一个调试环境。虽然它的新版软件有了很大进步,但w i n c c 的结构较 复杂,在网络结构和数据管理方面要比i f i x 差,但也属于比较先进的产品之一【2 8 】: ( 5 ) 组态王:北京亚控科技公司的“组态王”,是国内第一个较有影响的组态软件。 组态王提供了资源管理器式的操作主界面,并且提供了以汉字作为关键字的脚本语言支 持,组态王也提供了多种硬件驱动程序【2 9 】; ( 6 ) m c g s :m c g s 是昆仑通态计算机研究所开发的套组态软件,功能全面,并 且具有开放性结构,用户可以挂接自己的应用程序模块,具有良好的通用性和可维护性。 但m c g s 是思想比较独特的产品,属于比较另类的产品,有很多特殊的概念和使用方 式,大多数使用过其它组态软件的人都会感到有些不习惯1 3 0 ; ( 7 ) 力控:大庆三维公司的f o r c e c o n t r o l ( 力控) 从时间概念上来说,也是国内较早 就出现的组态软件之一,新版的力控在功能的丰富性、易用性、开放性和驱动数量上都 刁勇:基于w e b 的系统组态 得到了很大的提高p ”; ( 8 ) w e b a c c e s s :w e b a c c e s s 是美国b r o a d w i n 科技有限公司的产品,是完整意义上 的网际组态软件。它充分发挥网络的优势,真正做到远程操作、远程维护。但是该软件 使用和安装比较复杂,采用了老的c s 结构,使用时需要安装客户端,而该软件对操作 系统依赖性较强,不具备平台独立性f 3 2 】。 综上所述,目前的工控组态软件各有优缺点,上述的这些知名公司也在致力于开发 组态软件的线上( o nl i n e ) 版。国外的组态软件功能完善、通用性强,但是价格昂贵,而 且存在汉化问题;而国内的组态软件功能不够完善,通用性也相对较差,却占有价格优 势,普遍应用于中小企业组态系统中。 1 4j a v a b e a n 在工控组态软件中的应用 基于j a v a b e a n 的特性,在控制系统组态仿真系统的设计中,本系统采用j a v a b e a n 作为组件模型,构造了数个与控制系统组态相关的b e a n ,包括通信组件b e a n 、历史数 据库b e a n 和图表显示b e a n 等,组态时将这些b e a n s 按照某种关系连接起来,组成控制 回路,就可以进行控制系统的仿真。控制参数的设置作为b e a n 的属性,如果需要设置 或修改参数,只须改变b e a n 的属性即可【3 3 】。利用j a r 文件来把组成的所有资源进行物 理叶r 包”,以简化组件的分发管理,以使得类文件及其他组件资源如声音、图像、帮助 文件等可以打包成单一的物理实体,便可以在w e b 上分发p 4 】。 1 5 本文的主要工作 本论文围绕设计和开发一套跨平台的、基于组件重用技术的w e b 组态系统,主要 进行了以下几个方面的研究: ( 1 ) 总结了组态软件的发展现状和j a v a 语言强大的网络开发能力以及它的跨平台的 原理,从而论证了j a v a 开发组态软件的可行性。这些是本系统设计的理论依据和重要的 技术基础;并且开发了组态系统的主体部分,实现了基本的用户操作; ( 2 ) 阐述了j a v a b e a n 组件规范,以及组件的设计方法。详细讨论了数个j a v a b e a n 组件的设计和开发方法,它们是该组态软件数据采集和动态画面显示的基础; f 3 ) 提出了一种组件之间的实时通信方法,解决了基于组件技术的组态软件数据传 输和操作传递的问题,通过对j a v a b e a n 的内部数据通信进行了深入探索后,提出的数 据软总线技术是本系统设计的重点; ( 4 ) 发布组态后的组态运行画面。采用跨平台的a p p l e t 封装组态画面,发布到w e b 服务器上,以供客户端下载。 大连理工大学硕士学位论文 2j a v a 技术与w e b 组态软件开发 2 1j a v a 语言开发网络系统的优势 j a v a 是全新的计算机技术,它是建立在基于强大的网络和同样的软件在不同的计算 机系统上运行的思想上的。j a v a 可以既可以看作是一种真正的程序设计语言,也可以看 作是一个完整的平台。作为一种程序语言,它简洁、面向对象、安全、健壮以及适用于 i n t e r a c t 。而作为一种平台。它通过那些符合s u n 公司发布的标准a p i s 开发的应用,在 操作系统、数据库、中间件和其它第三方厂商提供服务。j a v a 是第一个能编写可嵌入 w e b 网页中的所谓小应用程序( a p p l e t s ) 的程序设计语言,j a v a 能够编写在支持该语言的 计算机上正常运行的应用程序,甚至可以编写即作为普通的应用程序,又作为小应用程 序运行的程序。随着近年来j a v a 的日趋成熟,它正在成为编写需要运行在不同种类的计 算机系统中的应用程序的候选语言。j a v a 也是最好的网络编程语言,它具有强大的移植 性、多线程处理和联网能力。 操作系统的跨平台技术主要分为软件跨平台和硬件跨平台。软件跨平台是指应用软 件能够在多种操作系统上运行,代表产品有j a v a 、w i n e 和e z c o m :硬件跨平台是指操 作系统能够使得应用程序运行在不同的硬件平台上,例如a r m 和x 8 6 硬件平台。 j a v a 语言是一种简单的,面向对象的、分布的、健壮的、安全的、独立于平台的、 可移植的、可扩展的、高性能的、多线程的、动态的程序设计语言。j a v a 程序在编译后 生成的不是某种c p u 的指令码,而是j a v a 语言特有的字节码。j a v a 字节码运行在j a v a 虚拟机上。j a v a 虚拟机类似一个小巧而高效的c p u l 35 1 。j a v a 虚拟机底层的运行系统把 字节码转化成实际的硬件调用,但是,j a v a 语言虚拟机未必非要运行在操作系统上,它 的下面可以直接是各种c p u 芯片【3 印7 1 。 2 2 采用j a v a 开发组态软件的利弊 2 2 1 采用j a v a 开发组态软件的优点 j a v a 是一种优秀的编程语言。j a v a 继承了来自c 和c + + 的健壮性,它一开始就被 设计为一个面向对象的语言,这是一个成为核心语言和优秀平台的关键所在。诚然,j a v a 和c 、v b 等开发与比较起来,执行效率相对低下,但是j a v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年齐齐哈尔辅警招聘考试真题及答案详解(网校专用)
- 2023年鸡西辅警招聘考试题库及答案详解参考
- 2023年聊城辅警招聘考试真题附答案详解(培优a卷)
- 2024年南宁辅警协警招聘考试真题含答案详解(夺分金卷)
- 2024年南通辅警招聘考试真题及答案详解(真题汇编)
- 2025年江西省吉安市吉水县二中高二化学第一学期期末质量跟踪监视试题含解析
- 2024年城口县辅警招聘考试真题完整答案详解
- 淮北职业技术学院《创新方法与实践》2024-2025学年第一学期期末试卷
- 2025年青海省玉树市生物高一上期末达标检测试题含解析
- 濮阳职业技术学院《空间图文设计》2024-2025学年第一学期期末试卷
- 粮食出口国地缘政治影响-洞察与解读
- 全国大学生职业规划大赛《数字媒体技术》专业生涯发展展示【高职(专科)】
- 2025年考研政治真题及答案解析
- 四氟储罐施工方案设计
- 生物质锅炉基础知识培训课件
- 市城区控制性详细规划编制服务方案投标文件(技术方案)
- 子路背米孝双亲课件
- 广州铁路局笔试考试题目及答案
- 冬季堤防施工方案
- 绳索安全培训课件
- 2025四川九洲建筑工程有限责任公司招聘成本管理部副部长1人备考模拟试题及答案解析
评论
0/150
提交评论