




已阅读5页,还剩62页未读, 继续免费阅读
(控制科学与工程专业论文)监控组态软件框架及其实时数据库的研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学硕七学位论文 摘要 监控组态软件,源自s c a d a ( s u p e r v i s i o n ,c o n t r o la n dd a t aa c q u i s i t i o n ) , 它在整个工业控制领域扮演着越来越重要的角色,但是现有的监控组态软件价格 太高,通用性太强,并且实现细节都是保密的,因此,对监控组态软件的开发进 行研究是非常有必要的。 监控组态软件的设计和实现是一个非常庞杂的工程。本设计提出了软件的 总体框架和实现方法,并给出了基于v c + + 6 o 开发平台的部分源程序,实现了 一个拥有基本功能的监控组态软件,为今后开发监控组态软件做好铺垫。 本设计将监控组态软件分为4 个模块:入机界面模块、实时数据库模块、 运行模块以及通信模块,并着重介绍了人机界面模块和实时数据库模块的设计和 实现。 人机界面模块的设计采用了面向对象的思想,并充分利用其特点,将每个 图形都设计成相互关联的类,从而方便以后的修改和扩展,并且在完成了图形绘 制功能的前提下对用户的交互心理也有了初步性的探讨。 实时数据库模块的设计是监控组态软件设计的重点和难点,它包括实时数 据的管理和实时事务的管理。本设计将所有实时数据常驻内存之中,消除i o 代 价以保证最快的处理速度;对于实时事务的管理,本设计采用带有拥塞控制的动 态调度策略,使实时事务的处理不仅有效地满足了实时性要求,而且能够根据负 荷的轻重对其进行自动地调整,同时对实时事务进行了基于主从事务的并发控 制,进一步地提高了监控组态软件的实时性。 关键字:s c a d a ,组态,人机界面,实时数据库,动态调度策略 武汉理i j 大学硕士学位论文 a b s t r a c t s u p e r v i s o r ya n dc o n t r o lc o n f i g u r a t i o ns o f t w a r ei so r i g i n a t e d f r o ms c a d a ( s u p e r v i s i o n ,c o n t r o la n dd a t aa c q u i s i t i o n ) ,w h i c hp l a y sa m o r ea n dm o r ei m p o r t a n t r o l ei nt h ew h o l ea r e ao fi n d u s t r i a lc o n t r o l ,b u tt h ep r i c e so ft h ep r e s e n tc o n f i g u r a t i o n s o f t w a r ei st o oh i g h ,t h eu n i v e r s a li st o os t r o n g ,a n di m p l e m e n t a t i o nd e t a i l si s c o n f i d e n t i a l ,s oi ti sv e r yn e c e s s a r yt os t u d yt h ed e v e l o p m e n to fs u p e r v i s o r ya n d c 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 t h ed e s i g na n di m p l e m e n t a t i o no fs u p e r v i s o r ya 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 ei sav e r yc o m p l e xt a s k t h i sp a p e rd e s c r i b e st h em a i nf r a m ea n dt h e i m p l e m e n t a t i o no fs u p e r v i s o r ya n dc 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 ,a n da l s op r o v i d e sa p a r to fs o u r c ec o d eb a s e do nv c + + 6 0 as u p e r v i s o r ya n dc o n t r o lc o n f i g u r a t i o ni s a c h i e v e dw h i c hh a sb a s i cf u n c t i o n sa n dp a v e st h ew a yf o rd e v e l o p i n gs u p e r v i s o r ya n d c o n t r o lc o n f i g u r a t i o ni nt h ef u t u r e t h ew h o l et a s ki sd i v i d e di r i t ef o u rm o d u l e s :h m im o d u l e ,r e a l t i m ed a t a b a s e m o d u l e ,n m n i n gm o d u l ea n dc o m m u n i c a t i o nm o d u l e t h ed e s i g na n di m p l e m e n t a t i o n o fh m im o d u l ea n dr e a l - t i m ed a t a b a s em o d u l ei sm a i n l yd i s c u s s e di nt h i sp a p e r t h ed e s i g no fh m im o d u l ea d o p t st h eo b j e e t - o r i e n t e dt h i n k i n g , a n dt a k e sf u l l y a d v a n t a g eo f i t sc h a r a c t e r i s t i c st od e s i g ns e v e r a li n t e r - r e l a t e dc l a s s e so fe a c hg r a p h i c , s ot h a tw ec a nm o d i f ya n de x p a n dh m ie a s i l yi nt h ef u t u r e i na d d i t i o n ,t h eu s e r s p s y c h o l o g yo fi n t e r a c t i o np r e l i m i n a r i l yi sd i s c u s s e da f t e ra c h i e v i n gt h ef u n c t i o no f g r a p h i c sp l o t t i n g t h ed e s i g no fr e a l - t i m ed a t a b a s em o d u l ei st h ek e ya n dd i f f i c u l t , w h i c h i n c l u d e st h em a n a g e m e n to fr e a l - t i m ed a t aa n dt h em a n a g e m e n to fr e a l t i m e t r a n s a c t i o n a l lt h er e a l t i m ed a t am u s tr e s i d eo nt h em e m o r yo fc o m p u t e ra l lt h et i m e i no r d e rt oe l i m i n a t e st h ei 0p r i c ea n dg u a r a n t e et h es p e e do fp r o c e s s i n g r e g a r d i n g t h e m a n a g e m e n t o fr e a l t i m et r a n s a c t i o n , ad y n a m i c s c h e d u l i n gs c h e m ew i t h c o n g e s t i o nc o n t r o li sa d o p t e d , w h i c hm a k e sr e a l - t i m et r a n s a c t i o n sp r o c e s s i n gn o t o n l ys a t i s f yt h er e a l t i m er e q u e s te f f e c t i v e l y , b u ta l s oc a l la d j u s ti t s e l fa u t o m a t i c a l l y a c c o r d i n g t ot h el o a dw e i g h t a d d i t i o n a l l y , ac o n c u r r e n c ec o n t r o lb a s e do n m a s t e r - s l a v et r a n s a c t i o ni sc a r r i e do u t , w h i c hc a nf u r t h e re n h a n c e dt h ec a p a b i l i t yo f r e a l t i m eo fs u p e r v i s o r ya n dc 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 k e yw o r d s :s c a d a ,c o n f i g u r a t i o n ,h m i ,r e a l - t i m ed a t a b a s e ,d y n a m i cs c h e d u l i n g s c h e m e h 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育机构的 学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 签名:社魄幽蛆边 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库进行检 索,可以采用影印、缩印或其他复制手段保存或汇编本学位论文。同时授权经武 汉理工大学认可的国家有关机构或论文数据库使用或收录本学位论文,并向社会 公众提供信息服务。 ( 保密的论文在解密后应遵守此规定) 一( 。爷叻签 日期:抄7 。t j 、谚 武汉理a :大学硕上学位论文 1 1 课题研究背景 第1 章绪论 目前,我国在工业控制领域采用的控制系统大都为传统的集散控制系统 ( d i s t r i b u t e dc o n t r o ls y s t e m ) ,此控制系统大部分都属于数字模拟混合系统,没 有形成从现场级设备到监控计算机的完整网络,在局限性,可靠性,互操作性方 面都很差,不能很好的对现场设备进行实时监控,因此,将传统的集散控制系统 升级为现场总线控制系统( f i l d b u sc o n t r o ls y s t e m ) 是工业控制领域发展的必然结 果。现场总线控制系统融计算机技术、控制技术、网络技术、图形显示技术为一 体,它使原来封闭、专用的系统变成开放、标准的系统,使模拟与数字混合的集 散控制变成全数字的控制,将现场控制器及智能仪表互联,使控制功能彻底下放 到现场,从而可以真正地做到分散控制和集中监控管理,使系统的可靠性、互操 作性方面也有了很大的提高。 在整个工业控制领域,现场总线控制系统越来越广泛的应用也促使了监控 组态软件的发展。监控组态软件,源自s c a d a 系统,即s u p e r v i s i o n ,c o n t r o la n d d a t a a q u i s i t i o n ( 数据采集与监视控制) ,是数据采集和过程控制的专用软件,是 在现场总线控制系统监控层一级的软件平台和开发环境,是能快速构建现场总线 控制系统监控功能、通用层次的应用软件,因此,它的应用大大缩短了控制系统 开发的周期,使开发人员可以根据控制对象和控制目的任意组态,方便快捷地完 成最终的自动化控制工程,使调度人员坐在控制室中就能对现场的运行设备进行 监视和控制,实现对设备的控制、参数的调节、历史数据的存储以及各类信号的 报警等各项功能,也就是说,监控组态软件能够采集现场的必要数据,实现集中 监控管理并且能提供一个互操作性强的人机界面。 目前,市场上的监控组态软件大部分为国外的产品,而且价格很高,虽然 国内也对监控组态软件开发进行了一定的研究,但是存在的主要问题有两个:( 1 ) 实现细节是保密的,导致软件的可扩展性差,使用期间出现程序漏洞时也不能及 时更正,( 2 ) 实时事务的调度要么采取静态的调度策略,要么根本不采取任何的调 度策略,这会导致监控组态软件对实时事务的处理不够理想。 武汉理l :大学硕士学位论文 1 2 监控组态软件的发展 随着计算机技术的日新月异的发展,监控组态软件也成为了工控软件的主 力军。在2 0 世纪6 0 年代,计算机开始进入工业控制领域,可是要么是计算机技 术人员缺乏工业控制方面的知识,要么是工业控制技术人员缺乏计算机方面的知 识,所以致使计算机在工业控制领域的应用和推广速度比较缓慢。2 0 世纪7 0 年 代初期,计算机控制技术逐渐趋向成熟,特别是微处理器的出现和发展,它在提 高计算能力的基础上,降低了控制器的硬件成本,缩小了控制器的体积,因此, 很多研究、生产工业控制设备和仪器的公司先后推出了新型的基于计算机的控制 系统,如:1 9 7 5 年美国h o n e y w e l l 公司推出的世界上第一套d c s 系统 t d c 2 0 0 0 1 2 1 。 在h o n e y w e l l 公司推出的世界上第一套d c s 系统后的十几年间,d c s 及其 计算机控制技术有了飞速的发展,并得到了一定的应用,同时围绕着d c s 而开 发的应用软件已较为丰富,包括计算机系统软件( 操作系统) 、控制软件、操作 站软件以及其他辅助软件( 如通信软件) 等,但这些软件仍然是封闭和专用的, 除了不断加强功能外,开发成本实在是高的可怕,使一些中小型应用项目不得不 放弃使用这种单位成本过高的新系统,从而导致用户数量非常之少,应用范围也 很难得以推广,这也是监控组态软件发展的第一个阶段t 1 2 l 。 2 0 年代8 0 年代中后期,随着个人电脑的普及以及开放系统( o p e ns y s t e m ) 概念的推广,监控组态软件的发展进入了第二个阶段。基于个人计算机的监控系 统开始进入市场,并逐渐发展壮大,而监控组态软件作为个人计算机监控系统的 重要组成部分,比其硬件系统具有更为广阔的发展空间,理由如下:第一,大部 分d c s 和p l c 厂家公开了他们的通信协议,加入了基于个人计算机的监控系统 的阵营,导致目前一半以上的d c s 都使用个人电脑作为操作站,因此在工业控 制领域,监控组态软件有长期发展的基础。第二,基于个人计算机的监控系统使 系统的成本减少了,同时使用监控组态软件也大大缩短了开发周期,而且只要涉 及有关数据采集和监控方面的应用都可以使用监控组态软件,可以说在工也控制 领域它几乎无处不在,因此监控组态软件的市场前景是非常之大的【1 2 1 。 随着基于个人计算机的监控系统的继续发展,监控组态软件的发展进入了 新的发展阶段。此时,各种智能仪表、调节器和各种现场设备都相继增加了公开 协议的通信接口,可与监控组态软件构筑完整的低成本自动化系统,更重要的是 现场总线的异军突起,它使整个控制系统有了完整的网络结构,不再存在所谓的 “信息孤岛”,从而把监控组态软件推到了自动化系统主力军的位置,监控组态 软件越来越重要,成为工业控制领域中的灵魂。 2 武汉理= 大学硕十学位论文 这些年来,国内外推出了不少组态软件产品,如美国i n t e l l u t i o n 的f i x ,德 国s i m a t i c 公司的w i n c c ,美国w o n d e r w a r e 公司的烈t o u c h ,国内的三维力 控科技的f o r c e c o n t r o l ,亚控科技的k i n g v i e w ,昆仑通态的m c g s 等等,可见, 监控组态软件日益成为自动化厂商争夺的重点。 1 3 课题研究的目的及其意义 在整个工业控制领域,监控组态软件属于基础性的工具平台,并且扮演着 越来越重要的角色,同时使用基于个人计算机的监控系统,可以减轻工作量,提 高劳动生产率和安全可靠性,这也是企业管理人员和自动化领域技术人员的共 识,因此,不断地提高监控组态软件各方面的性能是其自身发展的需要,也是社 会发展的趋势。 在本设计中,把整个系统分为了人机界面模块、实时数据库模块、运行模 块以及通信模块4 个部分,并着重介绍了人机界面模块和实时数据库模块的设计 和实现,其研究的目的主要归结为以下几点: ( 1 ) 加强软件的可扩展性:人机界面模块、实时数据库模块、通信模块是相 互独立的模块,只是在运行的时候由运行模块将它们联系起来,因此加入新的模 块时只需修改运行模块或者根本不需要修改已有模块,而针对每个模块采用面向 对象的设计方法,以人机界面模块为例,每个图形都直接或间接派生于一个抽象 类,当需要对人机界面模块进行扩展时,只需加入新的类即可。 ( 2 ) 开放实现过程:目前几乎国内外所有监控组态软件实现细节是都是保密 的,用户在使用上受制于人,具有很大的安全隐患,本设计将关键的源代码与实 现细节都进行了非常具体的介绍,不仅在出现程序漏洞可以及时更改,而且希望 今后的研究能在此基础上不断更新,提出更好、更新、更高效的实现方法。 ( 3 ) 采用动态的事务调度策略:实时数据库的事务调度实质上就是为了对整 个实时数据库中的数据进行有效的管理,不采取任何的调度策略只适合简单的工 业控制,而采取静态的调度策略,实时事务的处理只能根据调度表中设定好的过 程对实时事务进行调度,而不能根据负载的轻重进行动态的调整,本设计采用带 有拥塞控制的动态调度策略,使实时事务的处理不仅有效地满足了实时性要求, 而且能够根据负荷的轻重对其进行自动地调整,同时对实时事务进行了基于主从 事务的并发控制,进一步地提高了监控组态软件的实时性。 3 武汉理工大学硕士学位论文 1 4 论文的总框架及完成的主要工作 如图1 - 1 所示,它是论文的总体框架,各个章节之间的联系以及论文的总体 安排如下: 图1 - 1 论文总体框架图 第1 章,绪论。首先简单地介绍了工业控制领域的现状,之后引出监控组态 软件的概念,对它的发展进行了大概的说明,并结合结合当今企业和社会的发展 趋势阐述了课题研究的目的和意义。 第2 章,监控组态软件的体系结构。首先确定开发的工具和操作平台,然后 简单地介绍了监控组态软件的各个重要的组成模块的作用、之间联系以及它们的 实现思想。 第3 章,人机界面的设计。首先大概地介绍了图形的设计方法,然后阐述了 人机界面的设计思想,最后依据设计的思想对人机界面中的基本元素进行具体的 实现。 第4 章,实时数据库的设计。首先对实时数据库( i b ) 进行大概的介绍, 然后对实时数据库的关键技术进行分析,包括数据的管理、事务的管理等,最后 对这些技术做了相应的实现。 第5 章,运行系统的设计。在设计完了人机界面和实时数据库的基础上,需 要将图形和实时数据库关联上,从而达到数据的改变可以通过图形的相应改变来 反映在人机界面上,本章就介绍了让图形动起来的方法。 4 武汉理- t 大学硕士学位论文 第6 章,监控组态软件的通信。通信是实时数据库从外界得到实时数据的途 径,本章首先简单介绍了实时通信对于监控组态软件的必要性,然后以西门子公 司s 7 3 0 0 为例介绍了监控组态软件与现场p l c 的通信,最后对o p c 技术进行 了初步的探讨。 第7 章结论与展望。总结全文,展望监控组态软件的未来发展。 5 武汉理上大学硕十学位论文 第2 章监控组态软件的体系结构 2 1 操作平台及开发平台选择 2 1 1 操作平台的选择 目前,虽然u n i x l i n u x 等操作系统有了很大的发展,但是微软公司在操作 系统系统市场上依然处于垄断地位,特别是在中国,几乎绝大部分的个人电脑上 安装的都是w i n d o w s 操作系统,因此,包括开发人员在内的大部分人都对 w i n d o w s 操作系统更加熟悉,加上w i n d o w s 操作系统提供了良好的多任务支持、 完善的网络功能和安全可靠的实时性能,并且w i n d o w s 操作系统提供了其他操 作系统所无法比拟的对图形界面的支持,基于以上原因,我们选择w i n d o w sx p 作为监控组态软件的操作系统平刽垃】。 2 1 2 开发平台的选择 监控组态软件的开发编程语言我们选择c + + ,因为相对于其他语言,一般 来说,使用c + + 开发的产品运行效率更高,程序代码较短,运行速度更快。 监控组态软件的开发平台我们选择v i s u a lc + + 6 0 ,它是微软公司软件技术 开发精华,不仅全面贯彻了面向对象的技术,而且在编译优化技术上较其他同类 产品具有明显的优势: ( 1 ) v i s u a lc + + 6 0 开发环境十分友好,其高度的可视化开发方式和强大的想 到工具能够帮助用户轻松地开发出各种类型的应用程序。 ( 2 ) 由于操作平台选择的是w i n d o w s 操作系统,使用微软大型的编程工具能 够提供与w i n d o w s 操作系统的最大兼容性。 ( 3 ) 作为桌面操作系统的霸主,微软自己开发的变成工具v i s u a lc + + 6 0 ,不 仅能够提供强大的图形支持,而且能够使应用程序与硬件相互独立。 ( 4 ) 程序稳定、运行可靠是监控组态软件开发的基础,而v i s u a lc + + 6 0 所提 供的m f c ( m i e r o s o t 陆f o u n d a t i o nc l a s s e s ) 功能十分全面,稳定性好,b u g 很少, 刚好可以满足开发的需要。 6 武汉理工大学硕七学位论文 22 监控组态软件的总体框架 2 21 监控组态软件的结构组成 监控组态软件是数据采集与过程控制的专用软件,是在现场总线控制系统 监控层一级的软件平台,我们以一个典型的现场总线控制系统为例如图2 - 1 所 示,在这个系统中,控制级使用p r o f i b u s d p 的现场总线,组成一个s 7 - 3 0 0 为主站的单主站系统,采集现场的数据并对现场的设备直接下达相应的命令;监 控级的监控计算机中使用监控组态软件读写p l c 内部存储区,对现场的生产过 程进行监控,对必要的数据进行相应的处理;管理级的管理计算机可匕i 同过局域 网读取监控站中所需的数据;这三部分相互协调,相互配合,交换各种数据和信 息,阻完成整个现场总线控制系统的功能。 其它倪衰 管理级 监控级 控制级 2 - 1 典型的现场总线控制系统 依据使用监控组态软件的工作阶段划分( 站在用户的角度进行划分) ,监控 组态软件是由系统组态环境和系统运行环境两个大的部分组成如图2 - 2 所示, 系统组态环境是自动化工程设计工程师为实施其控制方案,在监控组态软件的支 持下进行应用程序的系统生成工作所必须依耐的工作环境,通过建立一系列用户 数据文件,生成最终的图形目标应用系统,供系统运行环境运行时使用,它由若 干组态程序组成,如图形界面组态程序、实时数据库组态程序等,系统组态环境 为自动化设计工程师提供一个应用程序搭建的平台;在系统运行环境下,目标应 用程序被装入计算机内存并投入实时运行,系统运行环境由若干个运行程序组 成,如图形界面运行程序、实时数据库运行程序等,系统运行环境对自动化设计 工程师开发的应用程序进行解释、运行,提供工业现场与用户之甸的交互界面, 武汉理= t :大学硕士学位论文 并对必要的数据进行存盘等工作。 i系统组态环境;系统运行环境i - 广_ 1广- ;i 仝竺墅里璺奎ik 二= 割i 仝竺至翌兰堡li i 匝堕e 臣围; : | 臣叵;d 臣匦; : i 臣困;i g 爿i 臣圃 图2 2 监控组态软件的组态运行环境 在进行监控组态软件的开发时( 站在监控组态软件设计者的角度进行划分) , 组态软件可以由人机界面模块、运行系统模块、实时数据库系统模块、通信系统 模块四个部分组成,各个模块之间关系如图2 3 所示。 图2 - 3 监控组态软件的组成模块 2 2 2 监控组态软件组成模块的作用 由2 2 1 节可以知道,站在不同的角度对监控组态软件有不同的划分,前一 种划分让监控组态软件的设计者明白到底要开发出一款什么样的应用软件,而后 一种划分则是我们设计者真正要开发的内容,其中的每一个模块都有各自的作 用: ( 1 ) 人机界面模块:自动化工程设计工程师可以根据实际需要绘制人机界面 图形,以图形、文字等形式反映工业现场的数据变化,在相应位置放置各种现场 8 武汉理j :人学硕七学位论文 对象的模拟对象,从而重现了现场的生产流程,同时在人机界面上还具备报警通 知及确认、历史数据查询等功能。 ( 2 ) 运行系统模块:系统运行时,将相应的实时数据与模拟对象相关联,使 图形界面动起来,从而对现场的生产过程进行动态地模拟。 ( 3 ) 通信系统模块:它直接负责从设备采集实时数据并将操作命令下达给设 备,同时它还要创建内存缓冲区以便与实时数据库进行数据交换,除此之外,还 可以通过网络与其他相关的生产管理系统相连接。 ( 4 ) 实时数据库系统模块:实时数据库是最重要的一个部分,是监控组态软 件的数据交换核心,主要负责数据组织管理、有效的数据处理、事务调度管理、 数据的时间一致性保证等。 2 3 监控组态软件的设计规划 ( 1 ) 人机界面:人机界面是整个监控组态软件设计中非常重要的部分,我们 坚持以用户为中心进行设计,即用户是界面是否设计成功的最终评判者,而监控 组态软件工作阶段的不同有不同的用户,在组态阶段,监控组态软件的用户是自 动化工程设计工程师,在运行阶段,监控组态软件的用户是现场操作员,也可以 说前者是直接用户,后者是间接用户。对于直接用户,我们使用的基本框架是 v c h 6 o 文档视图结构,文档类管理所有图形元素等数据结构变量的内存分配 和释放、前储、读取等,视图类管理图形的显示和编辑:对于间接用户,我们很 难直接采取某些措施,因为他们直接面对的是自动化工程设计工程师组态出来的 交互界面,所以我们只能为自动化工程设计工程师提供更加丰富的组态工具,从 而间接满足现场操作员的需要。人机界面的另一个重要工作就是进行动画的连 接,即界面中的对象( 如提升机、刮板等) 与实时数据库变量或表达式建立对应 关系,而且随之变化( 如颜色的变化、转动、闪烁等) ,而本设计将这里两个工 作分为两个模块( 人机界面模块和运行系统模块) 并分别在第三章和第五章进行 介绍。 ( 2 ) 实时数据库:实时数据库的设计是监控组态软件设计的关键部分。首先 要能根据实际的需要对实时数据库进行组态,一般来说,把数据分为模拟量输入、 模拟量输入、数字量输入、数字量输出、字符型量共五类,并且使这些类型的变 量都有拥有共同和不同的属性或行为。而设计实时数据库的难点之处在于它运行 的时候对数据的处理和组织管理,它要承担实时数据在各个模块之间交换的任 务,要维护大量共享数据和控制数据,从而保证数据的一致性,要在规定的时刻 或者一定的时间内完成对数据的处理,从而保证任务的强实时性,要对事务进行 9 武汉理一i :大学硕士学位论文 调度管理,从而保证实时数据库安全可靠的运行。实时数据库设计的好坏直接关 系到监控组态软件设计的成败。 ( 3 ) 通信接1 5 1 :监控组态软件运行在现场总线控制系统网络结构的中间层, 如图2 1 所示,这就意味着设计的通信模块要跟控制级的下位机通信,并且要满 足实时性的需要。 1 0 武汉理1 :大学硕士学位论文 第3 章人机界面的设计 3 1 人机界面的设计方法概述 目前,人机界面设计的方法总体来说可以分为两大类:基于象素的方法与 基于图元( 矢量) 的方法。 基于象素的人机界面设计,以象素为单位进行人机界面的显示和动态刷新, 在w i n d o w s 环境中,大部分作图软件的作图格式是基于象素的,大部分图形的 存储格式也是基于象素的,如j p e g 、p c x 、b m p 、p s d 、p i c 、g i f 和t i f f 等, 它的优势在于能使用的资源丰富,但是图形所占用的存储空间非常大,例如,存 储八位的b m p 格式的图形,就是把每点的元素用八位表示并依次存储。 基于图元( 矢量) 的人机界面设计,保存的是图元各点的坐标,因此,无 论放大图形、旋转图形或者移动图形都不会出现失真、变形,而且所占用的空间 也小,例如,存储一个矩形我们可以只保存矩形右上角和左下角的坐标即可,所 以监控组态软件的画面大都以矢量图的格式进行存储,但是矢量图可现成利用的 资源少,并且难以表现色彩层次丰富的逼真图像效果。 综合上述,本设计采用以矢量图为主,象素图为辅的原则来设计一个人机 界面开发平台,例如,当自动化工程设计工程师需要表示产品的生产流向的时候, 使用矢量图的直线即可,当自动化工程设计工程师需要显示图标的时候,使用像 素图直接导入即可【1 2 】。 3 2 人机界面的设计思想 人机界面是计算机科学和认知心理学两大学科相结合的产物,我们不仅仅要 从软件实现的角度来完成这项任务,在这之前我们要对用户的心理进行分析进而 判断他们需要什么样的软件【4 。 3 2 1 以用户为中心的设计思想 以用户为中心的设计思想,其中心就是用户,用户是开发成果成功或者失 败的最终评判者,开发成果只有在用户满意的条件下才可能生存下来,否则就不 会被接受甚至被淘汰。 首先我们对监控组态软件的用户的特征和心理进行一下分析。由2 3 节我们 武汉理j i :大学硕七学位论文 可以知道,监控组态软件的用户有两个自动化工程设计工程师和现场操作人 员。自动化工程设计工程师一般都有自动化专业的背景知识,甚至在某些领域具 有1 0 多年的实际经验,他们往往花费很多时间和精力去琢磨一类软件的使用, 从而对这些软件进行比较、评价,他们不仅关心界面和操作,更重要的是监控组 态软件提供给他的开发工具;而现场操作人员往往只是很机械地按照生产计划发 出控制命令,偶尔对现场发生的异常情况进行处理,他们关心的只是交互界面是 否看得舒服,操作是否方便,而且这个界面是由自动化工程设计工程师直接设计, 是我们间接提供给操作人员。 通过上述分析我们可以知道:监控组态软件的设计者为自动化工程设计工 程师提供人机界面,自动化工程设计工程师为现场操作人员提供操作界面,因此, 要坚持以用户为中心的设计思想,就必须使设计出来的人机界面让自动化工程设 计工程师进行二次开发的时候感到舒服、快捷、方便和完整,从而帮助自动化工 程设计工程师开发出来的人机界面让现场操作员感到舒服和方便。 3 2 2 面向对象的设计思想 面向对象设计( o b j e c t - o r i e n t e dd e s i g n ,o o d ) 力求客观地描述显示世界, 使分析、设计和实现的方法同认识客观世界的过程尽可能一致,它是一种从组织 结构上模拟客观世界的方法,从组成客观世界的对象着眼,通过抽象,将对象映 射到计算机系统中,又通过模拟对象间的相互作用、相互联系来模拟现实客观世 界,描述客观世界的运动规律,面向对象技术以基本对象模型为单位,将对象内 部处理细节封装在模型内部,重视对象模块间的接口联系和对象与外部环境间的 联系,能层次清晰地表示系统全局对象模型【2 】。 本设计中,充分利用了面向对象的思想,较为方便地完成了各种基本图形 的绘制,完成了人机界面的组态功能。 3 2 2 1 面向对象的特点 相对于过程性编程来说,面向对象的编程( o b j e c t - o r i e n t e dp r o g r a m m i n g , o o p ) 以数据为中心,强调对象及对象间的关系,其主要特点有:第一,抽象性: 抽象是以某个主题为中心将现实中某个事物的属性和行为总结出来进而编写成 一个个的类,这也是封装的前提。第二,封装性:封装是把具体的实现细节隐藏 起来,类的编写人员要始终遵从类的接口与类的实现分离的原则,这样不但可以 使数据的安全性得以保证,更重要的是这种方式也保证使用该类的程序员不会写 出依赖类的实现细节的代码。第三,继承性:继承是一种联接类的层次模型,是 软件重用的一种方式,程序员通过继承,可以吸收现有类的数据和行为来创建新 1 2 武汉理工大学硕士学位论文 类,并添加新的性能增强此类,软件重用能够节省软件开发时间,鼓励人们重用 经过认可、调试的高质量软件,是系统的开发更加有效,其中,现有的类称为“基 类”或者“父类”,继承实现的新类称为“派生类”或者“父类”。第四,多态性: 多态性是指不同的对象收到同一个消息可产生完全不同的效果,即不同类的对象 接受相同的消息( 方法调用) ,但有不一样的响应动作,因此,多态使得消息发 送者能给一组具有公共接口的对象发送相同的消息,接受者作出相应的动作。利 用多态性,我们可以设计和实现更具有扩展性的软件系统,只要新类是程序通常 处理类继承层次的一部分,就可以再经过少量修改或不加修改后加入到程序的常 规部分,程序中唯一需要修改的地方就是那些需要程序员添加到继承层次的新类 的直接知识部分【1 1 。 3 2 2 2 面向对象设计的步骤 面向对象设计的主要步骤有: ( 1 ) 确定实现该系统所必须的事物并进行分割:根据对系统的分析以及和专 业人事的交流来确定系统所必须的事物,然后对它们进行分割,一般遵循相关性 的原则进行,将相关性大的分割到一起,相关性小的走向其它方向分割,这也就 便于形成分层分级的多个类。 ( 2 ) 确定该事物的属性和行为:不可能抽象出某个事物的所有属性和行为, 因此只能根据某个主题队事物进行抽象,从而得到和主题相关的属性和行为,这 也就要求对主题进行分析、归纳、总结得到逻辑上相互独立的数据体系和专门的 数据流,对应专用处理流程。 ( 3 ) 确定对象之间如何相互作用来满足系统的需要:这里的对象不仅仅指类 的具体化,而且还包括电脑的鼠标和键盘等输入设备,它们之间互相作用从而达 到系统的需要。 3 3 基于v c + + 的人机界面设计的实现 3 3 1 系统所必须的事物的确定及分割 为了让自动化工程设计工程师设计出能够反映现场生产过程的交互界面, 本系统在v c + + 6 0 的视图文档框架的基础上提供了一个图形绘制的工具箱,使 用工具箱里的工具可以模拟绘制出现场的各种设备或元件,根据面向对象的思 想,这些工具都可以以类的形式设计出来,其具体的层次关系如图3 1 所示: 1 3 武汉理1 :大学硕士学位论文 图3 1 类的层次图 从上图可以看出,所有的类都由c o b j e c t 类派生出来,而c o b j e c t 是大多数 m f c 类的基类,用这个类作为基类的好处是可以支持串行化,即所有的图形可 以通过串行化来实现持久的保存。c u n i t 类则是所有动态元素类的基类,它是一 个抽象类,负责所有动态元素类的共同接口的定义以及部分行为的实现,而c t e x t 和c m y b i t m a p 则是静态元素类,它们只需要显示所需要的内容,不需要和动态 元素类一样根据实时数据改变其数值、颜色等属性。 3 3 2 对系统所必须的事物的抽象 从上一节我们可以知道,人机界面所必须的事物可以分为动态元素类和静 态元素类,下面我们将分别抽象出它们应有的属性和行为,并进行了具体的定义。 3 3 2 1 动态元素类的抽象 所有的动态元素类都由c u n i t 类派生而来,虽然它只是一个抽象类,但是 我们可以从它的定义中可以了解c r e c t a n g l e 等派生类的共有属性和接1 3 ,其定 义如下: c l a s sc u n i t :p u b l i cc o b j e c t p u b l m : c o l o r r e fmc o l o r p e n ; 线色 c o l o r r e fmc o l o r b r u s h ;填充色 i n tml i n e w i d e ; 线宽 i n tm _ l i n e t y p e ; 线型 i n tm _ s h a p e ; 图形类型 p u b l i c : 1 4 武汉理工人学硕十学位论文 c u n i t o ; c u n i t ( c o l o r r e fc o l o r p e n ,c o l o r r e fc o l o r b r u s h ,i n tl i n e w i d e ,i n t l i n e t y p e d r a w s h a p es h a p e ) ; 构造函数 v i r t u a lv o i dd r a w ( c d c * p d c ) = 0 ;绘制函数 v i r t u a lv o i dm a x m i n ( c p o i n t * p p o i n t m a x ,c p o i n t * p p o i n t m i n ) = 0 ;最小最大点 v i r t u a lv o i ds e r i a l i z e ( c a r c h i v e & a r ) ;串行化函数 ) ; 由于从c u n i t 类派生出来的动态元素类很多,我们以c r e c t a n g l e ,c p o l y g o n 和c m y e d i t 为例进行具体的介绍: ( 1 ) c r e c t a n g l e 类:和c l i n e ,c e l l i p s e 类一样,c r e c t a n g l e 类属于形状已经 确定的类,它们只需要在c u n i t 的基础上添加两个点就能确定其大小和位置,其 具体的定义如下: c l a s sc r e c t a n g l e :p u b l i cc u n i t p u b l i c : d e c l a r e _ s e r i a l ( c r e c t a n g l e ) 声明串行化 c p o i n tm _ _ p o i n t u p ;位置点 c p o i n tm p o i n t d o w n ; p u b l i c : c r e c t a n g l e 0 ; c r e c t a n g l e ( c p o i n tp o i n t l ,c p o i n tp o i n t 2 ) ; c r e c t a n g l e ( c o l o r r e fc o l o r p e n , c o l o r r e fe o l o r b r u s h , i n tl i n e w i d e ,h a t l i n e t y p e ,d r a w s h a p es h a p e ,c p o i n tp o i n t u p ,c p o i n tp o i n t d o w n ) ; v o i dd r a w ( c d c * p o c ) ;相应函数的重载 v i r t u a lv o i ds e r i a l i z e ( c a r c h i v ee a r ) ; v i r t u a lv o i dm a x m i n ( c p o i n t 幸p p o i n t m a x ,c p o i n t 奉p p o i n t m i n ) ; ; ( 2 ) c p o l y g o n 类:c p o l y g o n 类和c r e c t a n g l e 类最大的不同就是其形状是不确 定的,是根据用户的需要而定的,形状点的确定是动态的,因此,首先我们建立 一个c p o l y g o n l i s t 类来满足这个动态要求,这个类可以根据用户的指定来建立一 个链表存储多边形的各个定点,其具体定义为: s t r u c tn o d e 链表的节点 1 5 武汉理工大学硕十学位论文 c p o i n tp o i n t ; n o d e * n e x t ; c l a s sc p o l y g o n l i s t p u b l i c : i n tm _ n u m p o l y g o n ; n o d e 木p h e a d ; p u b l i c : 数据项 | 抬钛硕 多边形的边数 链表的头指针 c p o l y g o n l i s t 0 ; c p o l y g o n l i s t ( i n tn u m p o l y g o n ) ; 构造函数 - c p o l y g o n l i s t 0 ; 析构函数 b o o l c r e a t e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运营咨询顾问合同协议
- 月结货款协议书
- 汽车分伙协议书
- 《晚期肺癌持续治疗策略》课件
- 遗产协议书范本
- 软件制图交易合同协议
- 手车位买卖协议书
- 旧船买卖协议书
- 追偿纠纷和解协议书模板
- 教育咨询员服务合同书
- 2024年-GIS考试复习题库(含答案)
- 4.2《 依法履行义务》教学设计 -2024-2025学年统编版道德与法治八年级下册
- 教师语言与沟通艺术知到智慧树章节测试课后答案2024年秋温州大学
- 学生常见病预防
- 中国糖尿病防治指南(2024版)解读
- 协力安全管理
- 《路基养护》课件
- 2025年上海二手房买卖合同参考范文(2篇)
- 2025年全国大学生百科知识竞赛题库及答案(共740道题)
- 2025年全球及中国智能无人叉车行业头部企业市场占有率及排名调研报告
- 《基于EVA的科大讯飞企业价值评估的计算过程及结果探析案例报告》10000字(论文)
评论
0/150
提交评论