(电力系统及其自动化专业论文)电力装置软件平台的研究——图形界面和文件系统研究.pdf_第1页
(电力系统及其自动化专业论文)电力装置软件平台的研究——图形界面和文件系统研究.pdf_第2页
(电力系统及其自动化专业论文)电力装置软件平台的研究——图形界面和文件系统研究.pdf_第3页
(电力系统及其自动化专业论文)电力装置软件平台的研究——图形界面和文件系统研究.pdf_第4页
(电力系统及其自动化专业论文)电力装置软件平台的研究——图形界面和文件系统研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(电力系统及其自动化专业论文)电力装置软件平台的研究——图形界面和文件系统研究.pdf.pdf 免费下载

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

文档简介

摘要 东南太学硬士论文 a b s t r a c t p l a t f o r md e v e l o p i n gm o d eh a sb e c o m eav i t a lf e a t u r ef o re l e c t r i c a la u t o m a t i c d e v i c ed e v e l o p m e n t a sf o rt h ep r o p e r t yo fp l a t f o r me n t i t i e s ,d e v e l o p i n gp l a t f o r m c a nb ed i v i d e di n t ot w op a r t s ,n a m e l yh a r d w a r ep l a t f o r ma n ds o f t w a r ep l a t f o r m i t h a sb e e ns h o w nt h a td i f f i c u l t ya l w a y so c c u r sw h e ni n t e g r a t i n gt h e s et w op l a t f o r m p a r t s 。d u et ot h ef a c t o r so fc o s t ,a g i l i t ya n de t c c p ui st h ec o r eo fh a r d w a r ep l a t f o r m d i f f e r e n th a r d w a r ep l a t f o r m sd i f f e ra l o ti nc o s ta n da p p l i c a t i o ns i t u a t i o n u n f o r t u n a t e l y ,s o f t w a r ep l a t f o r mi sal i t t l e w e a ki np r a e t i c a b i l i t y ,e s p e c i a l l yf o rr t o s ( r e a l t i m eo p e r a t i o ns y s t e m ) a n do t h e r c o m p o n e n t s ,c o m m e r c i a ls o f t w a r ep l a t f o r mi sh i g hi nc o s ta n dc o u p li n gf e a t u r e ,s o , p r a c t i c a lu s ei s d i f f i c u l t t h i sp a p e ri m p l e m e n t e dt w os o f t w a r ep l a t f o r mc o m p o n e n t s ,b a s e do nt h ef e a t u r e s o fe l e c t r i e a la u t o m a t i cd e v i e e t h e ya r ef l a s hf i l es y s t e m ( s f s ) a n dg r a p h i c i n t e r f a c ed e s i g ns y s t e m ( g i d s ) s f si so fh i g h c o m p a c t e ds a v i n gm o d e 。h i g hs e c u r i t y a n ds c a l a b i l t y g i d si sb a s e do nc a dd e s i g nm o d e ,w h e r e a sg r e a t l yd e c r e a s e sc o d i n g d i f f i c u l t y w i s c o me l e c t r i c a lc o ,l t dh a sa p p l i e dt h et w oc o m p o n e n t si nt h ed e v e l o p i n go f p l a n tp o w e rh i g hs p e e dt r a n s f e rd e v i c e p r a c t i c es h o w st h a tt h e ya r ea p p l i c a b l e k e y w o r d s :e l e c t r i c a ld e v i c e ,p l a t f o r m ,o p e r a t i o ns y s t e mc o m p o n e n t ,f l a s hf i l e s y s t e m ,g r a p h i ci n t e r f a c ed e s i g ns y s t e m 1 1 学位论文独创性说明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 己在论文中作了明确的说明并表示了谢意。 签名 靼 日期:鲨暨:孥:乡 关于学位论文使用授权的说明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其它复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 签名 导师签名:_ 二墅邑垂,_ 一日期:兰盟:孕:至! 第一章综述 东南太学硕士论文 第一章综述 1 1 自动化装置开发的平台化趋势 1 1 1 平台化的产生背景 一般说来,所谓自动化装置就是指,以自动控制技术、计算机技术为基础开发出来的, 对各种工业设备进行测量、保护、控制,能够部分或者全部代替人力的机械和电子装置。 就软硬件实现方式来看,可分为电磁型、晶体管型和数字型。早期的电力自动化装置都属 于电磁型或者晶体管型的。这类自动化装置的各种控制逻辑,基本上都是由硬件实现。而 硬件本身又局限于各种电磁型或者晶体管型模拟电路。随着科学技术的发展,这类自动化 装置已经被数字型装置所代替。数字型装置的各种控制逻辑基本上都是由软件实现。由于 实际应用中,电磁型和晶体管型自动化装置已经很少,主要用的是数字型的装置,所以本 文在后面提到的自动化装置,如果不作说明,都是指数字型装置。 在非数字型自动化装置中,硬件主要是由各种模拟电路搭建而成,软件部分相对较少 ( 有的控制设备可能根本都没有软件部分。所有功能都是由硬件实现) 。开发这样的自动化 装置的成本很高,效率也比较低,从成本和技术上,都很难实现平台化。具体的体现如下: 1 ) 就硬件而言,与大规模集成电路相比,模拟电路的各种参数具有很大的离散性,即 使是同一种型号装置的硬件参数都要一个一个地进行手工调试,这样的效率是很低 的。此外,体积庞大,容易受到电磁干扰,易损坏。 2 )装置的软件部分很少。与目前的自动化装置相比,非数字式自动化装置的很多逻辑 都是由硬件实现。所以成本比较高。此外产品升级换代比较困难,新的算法、理论 的应用也相当不便。 随着计算机技术的发展尤其是嵌入式计算机技术的发展,自动化装置在结构上发生了 巨大的变化。从结构上来说,一个完整的自动化装置可以分为两个部分:硬件部分和软件 部分。软件的主要任务是完成复杂的算术运算、逻辑运算功能。此外人机接口、通讯的大 部分功能也是由软件实现。硬件的主要任务是数据采集、控制逻辑出口并为软件功能的实 现提供物质基础。这种结构上革命,极大地减低了装置开发的成本,提高了装置升级换代 的灵活性。不过最重要的一点是,这种结构为知识和技术共享与重用提供了技术基础。而 “共享”与“重用”则是“平台化”概念的精髓所在。 1 1 2 平台化的涵义 所谓平台化开发模式是指,在一个设计集团中,实行严格的标准化、系列化,规范化 设计,并将某一类产品领域的基本硬件结构及基本软件形成产品的“统一机芯”,即基础平 台,并将基础平台相关的周边扩展电路及应用软件进行优化、筛选,形成基础平台的平台 库资源。在开发新产品时,利用基础平台,并选择平台库中的相关资源进行吐 平台化开发模式可以彻底根除产品开发中大量低水平重复工作:减少了对企业个别员 墨二! 堡箜兰塑茎兰堡丝 工的依附性。员工的正常流动不会影响企业的技术实力,此外平台模式大大缩短了产品的 开发周期,给生产、维修与更新带来方便。 就平台的实体的性质来分,自动化开发平台主要包括2 个部分: 1 ) 硬件平台。考虑与应用的紧密程度,硬件平台又可细分为系统硬件平台和应用硬 件平台。系统硬件平台主耍指主c p u 模块、通信模块、数据采集模块等底层支撑 模块。其中c p u 模块是系统硬件平台的核心。这个平台部分与实际的应用环境没 有太大的关系。它主要是为系统软件和应用软件提供底层的硬件支持。与系统硬 件平台不同,应用硬件平台一般只占很小的部分,功能相对较弱。之所以有这个 部分,是为了增加平台的灵活性。因为有的应用比较特殊,单独的系统硬件平台 可能不胜任这些要求。 2 )软件平台。与硬件平台一样,软件平台也包括两个部分:系统软件平台和应用软 件平台。系统软件平台主要包括,与系统硬件平台相对应的操作系统、文件系统、 g u i 系统、协议栈和系统库函数等。应用软件平台是指产品应用程序设计时的模 块化软件、辅助软件、应用软件包。采用高级语言编程时,有利于软件平台的建 设与应用推广。例如各种数字保护程序,数字信号处理程序都是属于应用软件平 台。 l 2 常见的电力装置硬件平台 如1 1 所述,硬件平台主要包括主c p u 模块、通信模块、数据采集模块等。此外,有 的硬件部分与应用联系的很紧密。由于嵌入式c p u 在这些模块中都占有非常重要的位置, 所以本小节将以c p u 为中心,对电力装置中常见的硬件平台进行介绍。 1 2 1 嵌入式处理器 嵌入式系统的核心部件是各种类型的嵌入式处理器,目前据不完全统计,全世界嵌入 式处理器的品种总量己经超过i 0 0 0 多种,流行体系结构有3 0 几个系列。现在几乎每个半 导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。嵌入式处理 器的寻址空间一般从6 4 k b 到1 6 m b ,处理速度从0 1 i i p s 到2 0 0 0 1 f i p s ,常用封装从8 个 引脚到1 4 4 个引脚“。一般说来,嵌入式计算机可以分成下面几类。 1 )嵌入式微控制器( m i c r o c o n t r 。1 1 e ru n i t ,m c u ) :在我国,m c u 一般称作为单片机。 顾名思义,就是将整个计算机系统集成到块芯片中。嵌入式微控制器一般以某 种微处理器内核为核心,芯片内部集成r o j _ i e p r o m 、r a m 、总线、总线逻辑等外 设。微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可 靠性提高a 微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一 般比较丰富,非常适合工业控制应用领域。嵌入式微控制器目前的品种和数量最 多,比较有代表性的通用系列包括8 0 5 1 、p 5 1 x a 、m c s 一2 5 1 、m c s 一9 6 1 9 6 2 9 6 、 c 1 6 6 1 6 7 、m c 6 8 h c 0 5 l l 1 2 1 6 、6 8 3 0 0 等。 2 )嵌入式微处理器( e m b e d d e dm i c r o p r o c e s s o ru n i t ,e m p u ) :嵌入式微处理器的基 础是通用计算机中的c p u 。嵌入式微处理器虽然在功能上和标准微处理器基本是一 样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。在应用 中,微处理器一般装配在专门设计的电路板上只保留和嵌入式应用有关的母板 功能,r o m 、r a m 、总线接口等各种外设等器件必须额外添加到电路板上。这样降 2 堑兰笙垄塑堕塑垡丝 低了系统的可靠性,技术保密性也较差。这样的系统也称为单板机。嵌入式处理 器目前主要有3 8 6 e x 、s c 4 0 0 、p o w e r p c 、6 8 0 0 0 、m i p s 、a r m 系列等。 3 ) d s p 处理器( d i g i t a ls i g n a lp r o c e s s o r ,d s p ) :d s p 处理器对系统结构和指令进 行了特殊设计,使其适合于执行d s p 算法,编译效率较高,指令执行速度也较高。 在数字滤波、f f t 、谱分析等方面d s p 算法正在大量进入嵌入式领域。嵌入式d s p 处理器比较有代表性的产品是t e x a si n s t r u m e n t s 的t m s 3 2 0 系列、m o t o r o l a 的 d s p 5 6 0 0 0 系列以及a d 公司的a d s p 2 i x x 系列等。 1 2 2 常见的处理器平台 电力自动化装置中,考虑到各自的应用场合和c p u 类型,常见的处理器平台主要有如 下几种: m c u 或m c u s 结构。这种硬件平台中,数据采集、数据运算、通信、控制逻辑等功 能由一个或者多个娅u 完成,对于计算量比较小,控制逻辑比较简单,实时性要 求不高的场合,可以只用一个m c u 。如果通讯量比较大,对实时性有一定要求,可 以将上述几个功能分解,由多个m c u 共同完成。这种结构平台的优点是成本比较 低。例如:p h i l i p s 的p 8 9 l p c 9 0 1 单片机才¥7 左右,高档次的5 i 芯片p 8 9 l p c 9 3 2 不过才十几元左右。需要提到的是,如果是多m g u 结构。各个c p u 之间的通讯可 能会比较复杂。这可能会降低系统实时性和强壮性。中低压电动机的测控装置, 保护装置都可以采用这个结构。 m p u 或m p u + m c u s 结构。有些应用场合数据运算量比较大,控制逻辑比较复杂,典 型的如一些中高压线路保护装置等。m p u 宇长较大,运算速度快,比较适合这样的 场合。为了减轻m p u 的负担,有的应用中,g p u 只负责核心功能,其他功能如通讯、 人机接口等都由m c u 来承担。m p u + m c u s 结构的平台的优势是,既能保证充分的实 时性,适应高端应用,又能有效控制硬件成本。这种平台比较适合中高压保护装 置。中高压电动机保护等。一般地,m p u + m p u s 结构很少。因为很多非核心功能由 m c u 承担就足够了。 d s p + m p u 或d s p + m c u 结构。d s p 非常适合数据处理量特别大的场合。但是其控制 功能较弱,所以般都与m p u 或者m c u 协同工作。这种平台比较适合中高压线路 保护装置、中高压电动机保护和各种故障录波仪等。在一些简单应用场合,也可 采用单d s p 结构”“。 1 2 3 硬件平台的发展趋势 其他领域一样。硬件的发展无非是一些新型芯片的应用。不过仍有两点需特别指出, 一个是基于a i u v i 体系的c p u 的应用。另一个是s o c 技术在电力系统中的戍用。 a r m 不是某个c p u 的名称。与名词“8 6 ”一样,它代表一种c p u 体系。与“8 6 体系的c p u 不同,a r m 体系是专门为嵌入式领域设计的。a r m 技术具有很高的性能和功 效,目前全世界有7 0 多家公司生产a r m 芯片p 1 。有1 6 位也有3 2 位的c p u 产品。不同型 号芯片之间有很商的兼容性,非常有利于平台化开发。可以预料,a r m 芯片在电力系统 自动化装置中也会有一定应用。 s o c ,即s y s t e mo n c h i p ,中文译为“片上系统”。所谓s o c 技术,是一种高度集成化、 固件化的系统集成技术使用s o c 技术设计系统的核心思想,就是要把整个应用电子系统 第一章综述 东南大学硕士论文 全部集成在一个芯片中。在使用s o g 技术设计应用系统,除了那些无法集成的外部电路或 机械部分以外,其他所有的系统电路全部集成在一起”1 。基于s o c 的芯片,不仅具有自主 知识产权,而且可靠性高、成本低、安装维护方便。目前已经有人研究s o c 技术在数字保 护装置中应用。 1 3 常见的电力装置软件平台 1 3 1 应用软件平台 应用软件平台是指产品应用程序设计时的模块化软件、辅助软件、应用软件包。目前电 力自动化装置中,应用软件平台的主要实现形式是高级语言函数库。这些函数库通常是以 源代码的形式出现。例如与保护装置相对应的各种保护算法库、数字信号处理程序库都属 于应用软件平台。 一般这些高级语言函数库都需事先经过严密的测试。否则如果代码有错误的话,会造成 严重的后果。因为作为平台的一部分,可能很多的产品中都会用到其中的函数。即使一个 错误也可能会影响一个系列或者很多系列的产品。 在产品开发时,只要将用到的函数添加到本工程,然后连同系统软件平台的相应函数库 ( 如果是商业型的系统软件平台,一般都是二进制库。用户不需要编译这些库,只要在连 接时导入他们即可) 一同编译,然后连接,最后生成与某种c p u 对应韵二进制代码。 在电力自动化装置中,应用平台级的辅助设计软件比较少。原因主要两个,一是辅助设 计软件的开发需要一定的人力和财力投入,对开发能力有较高要求;二是,与p c 领域相 比,很多电力装置的软件代码量,逻辑复杂度都不太大,人力也可以胜任。 1 3 2 系统软件平台 系统软件平台是指,以嵌入式操作系统( r e a l t i m eo p e r a t i o ns y s t e m ,r t o s ) 为核心, 为应用软件提供通讯、人机接口、文件系统等服务的软件集合体。具体说来,主要包括r t o s 内核、文件系统、图形界面系统、协议栈等部分。 i 3 2 ir t o s 内核 r t o s 内核主要负责任务管理、时间管理、任务间的通讯与同步。有的r t o s 还提供内 存管理。就实现语言的不同。r t o s 一般分为两个部分。一个部分是由高级语言部分( 通 常是c 语言) ,另一个部分是汇编语言部分,具体是哪种汇编语言,因c p u 类型而异。第 一部分主要实现r t o s 的高级功能,是r t o s 主要部分。在移植r t o s 到某个c p u 上时, 这个部分一般都不做修改。第二个部分的代码主要实现r t o s 的底层管理,如寄存器进栈、 出栈,临界区代码,实时时钟管理。移植r t o s 时,这个部分是修改重点。必须根据c p u 类型,设置系统堆栈类型,各种中断号、中断优先级等。 常见的r t o s 有,v x w o r k s 、h o p e n 、p s o s 、q n x 、r t l i n u x 、u c l i n u x 、u c o s 等。粗 略地分,r t o s 可以分为商用r t o s 和自由r t o s 。前者的开发和维护升级都是由某个公司 来完成。用户使用这些r t o s 都要付一定的费用。而且提供给用户的是二进制代码。自由 r t o s 一般都是源代码公开的,而且用户使用不收费( 个别的会收少量的费用) 。维护升级 由作者或者自由软件者完成。表1 1 是这两中r t o s 的简单对比。在电力装置中,常用的 是v x w o r k s 、a v x w o r k s 价格较高、性能好,主要用在中高端电力产品中。低端的电力产 4 捧一章综述 东南大学豫士论文 品很少用操作系统。如果用的话,一般也会首先考虑u c o s 等简单操作系统a 表1 1 商用r t o s 与自由r t o s 的对比 t a b l e1 1c o m p a r i s o n so fc o m m e r c i a la n df r e er t o s 维护者费用提供形式配套组件 商用r t o s公司有( 比较高)二进制文件系统、协议 栈等齐全 自由r t o s个人很少或无源代码( c 语言)有 1 3 2 2 文件系统 随着用户越来越高的应用要求,电力自动化装置要存储的数据也越来越多,例如保护 定值、录波数据、控制策略。基于地址的直接存储方式有很大的局限性,难以胜任这些要 求。一个有效的解决办法就是建立嵌入式文件系统。 所谓文件系统就是指以文件形式对数据实施管理的软件集合。文件系统可以有效地屏 蔽存储器的细节,为应用程序提供统一的应用接1 2 ,从而在一定程度上提高程序的可移植 性。而所谓的嵌入式文件系统,就是指适合嵌入式应用的文件系统。与一般文件系统相比, 嵌入式文件系统对安全性、代码尺寸、实时性都有比较高的要求,但是a p i 接口一般都比 较简单。 在p c 中,常用的文件系统有f a t l 6 、f a t 3 2 、n t f s 、e x t 2 等。这些文件系统都是针 对硬盘设计的。目前,在嵌入式应用中的主要的程序与数据存储器是f i a s h 。因为f l a s h 存 储器在读写操作上与硬盘有很大的不同,所以p c 文件系统如果不做修改,很难适合f 1 a s h 存储器的应用环境。本课题将在后面的章节中研究并建立一个适合嵌入式应用的f l a s h 文 件系统。 1 3 2 3 图形界面系统 在所有的操作系统组件中,图形界面系统是昂为复杂的,代码量也是最大的。网络上 有很多优秀的文件系统、协议栈,但是很少有优秀的图形界面系统。或许就是因为这个原 因。 利用图形界面系统,开发人员可以开发出界面友好,操作容易的图形界面。而优秀的 图形界面可以极大地提高产品档次和竞争力。对电力自动化装置开发来说尤为如此。传统 的装置界面都是尺寸较小的单色液晶,显示是都是各种字符。这样的界面单调缺乏友好性。 利用图形界面系统,可以将应用程序中与显示有关的部分进一步分离出来,应用程序 具体负责数据的刷新按键的相应。这对应用程序的移植性有很大的提高。 1 3 2 4 其他系统组件 系相问入矿e 弼黜诽彬泖 鼢利助洲槭叭 龋悔雄胞试御刚厕黼瞄汛斯 , 一一一一一一 , 一一一一一 一一一一一 第一章综述 东南大学碗士论文 上的标准协议。在装置中加入t c p i p 功能,为分布式控制提供了基础。t c p i p 协议本身 很复杂,其中包括很多的子协议。但是有些协议对嵌入式应用而言是没有意义的。此外嵌 入式应用对通讯的实时性有一定要求。所以能实际应用的嵌入式协议栈,代码尺寸都比较 小,很多无用子协议都被摒弃以提高实时性。常用的嵌入式t c p i p 协议栈有1 w i p 、u c i p 等。 1 4 装置平台化开发的困难 上述几个小节分别讨论了电力装置中常用的软件平台和硬件平台。并没有讨论二者之 间的关系。实际上在开发产品时,一般是先进行需求分析,然后确定硬件平台。在此基础 上,才考虑软件实现。所以说,软件平台在很大程度上由硬件来决定。 从上面的分析可以看出,硬件平台种类繁多。各个平台在成本、技术参数上有很大的 差别。比较而言,软件平台,尤其是系统平台就不够灵活了,主要体现在两个方面: 成本方面。c p u 平台可以十几元到几百元、几千元不等,选择范围很大。但是就 操作系统软件而言,商业操作系统价格很高。这就使得实际的应用往往局限于高 端产品。 技术方面。许多c p u ( 主要是中低档次的c p u ) 由于内存较小、运算速度慢或者 中断资源等原因,根本就无法运行操作系统软件。但是实际开发中,如果没有操 作系统库函数支持,编写代码量和复杂度就会很高。有许多应用可能只想利用一、 两个系统组件;有的系统又可能只用到r t o s 内核。但是实际情况是,这些组件 之间或者组件与r t o s 内核之间耦合度高,根本没有办法单独使用。 综上所述,完全有必要,结合实际开发情况,自行开发简单的系统组件甚至是r t o $ 内核。 1 5 本课题主要工作 在众多类型的电力自动化装置中。有低档次的,也有高档次的。相对应的,也就存在 多种不同的软硬件平台。合理的硬件平台或者软件平台结构对开发的灵活性以及成本都有 很大的影响。 如前所述,硬件平台主要有3 大类。m c u 或i c u s 结构属于低档平台,其他两种属于中 高档次平台。这3 种平台基本上能适应各种电力自动化装置的开发要,具有很强的灵活性。 比较而言,软件平台的灵活性则不够。简单的应用场合可能不需要r t o s 内核支持,只 要一个或者几个系统组件即可。而对于一些应用而言,由于界面复杂、任务数量多等原因, 可能要一整套的操作系统组件( 内核+ 文件系统、g u i 等) 。但是对常见的商用操作系统及 其组件而言,它们之间的耦合度很高很难单独使用。此外内核与其他组件往往是捆绑销 售模式,有些组件即使用不到也得买。这也限制了商用r t o s 在电力装置开发中的应用。 商用的操作系统一般价格昂贵,以y x w o r k s 为例,内核二进制代码约一万美元,开发 环境t o r n a d o 约两万美元。其他的组件如文件系统、协议栈、g u i 单独收费。只有比较高 档的应用中才可能用到a 例如文献 8 中的一种2 2 0 k v 以上的线路保护平台就用了v x w o r k s 。 综上所述,很有必要开发一套低耦合的,适合电力装置的操作系统组件。考虑实际应 用,本课题只实现了两种常用的操作系统组件一一图形界面系统和文件系统。这两个组件 完全自己管理各种数据结构和数据缓冲,可以很容易地与常见的r t o s 配合使用,也可以 单独使用。本论文在设计时还充分考虑到电力自动化装置对实时性、安全性和使用方便性 6 第一章综述 东南大学硕士论文 方面的特殊要求。研究与实践表明,本课题实现的两个组件在成本和实用性上都达到了预 期的效果。 7 生三要堡竺坚重要丝丝窒壁塑一生蔓查兰堂i 垡兰 第二章图形界面系统研究与实现 2 1 图形界面设计的传统模式 自动化装萱中用得最多的显示器,就是液晶屏。与p c 机的液晶显示器不同,工业液 晶体积小、硬件接口简单、抗干扰性好,能适应比较广的温度范围。此外,p c 机上很少有 单色液晶显示器。在工业应用中既有单色的,也有彩色液晶,且种类繁多。在中低档自动 化装置中用的比较多的是单是液晶。彩色液晶成本比较高主要用在高档的装置中。例如 在文章【8 】设计的一款数字式继电保护平台中。用的就是6 4 0 x 4 8 0 的1 0 4 英寸t f t 液晶显 示器。该液晶还配置了一个触摸屏。触摸屏与显示器尺寸相同,覆盖在液晶上。触摸屏的 输入信号用异步串行口与其他模件进行通讯。 p c 环境下,操作系统都自带了相应液晶显示器的驱动程序且提供功能强大的g u i 接 口。许多编程环境如v c ,b o r l a n dc + + 也都提供了强大支持。但是,自动化装置开发中的 界面编程与p c 环境下的界面编程有很大的不同。液晶底层函数的编写、硬件调试都必须 由用户来完成。所以开发图形程序相当的复杂。 目前,自动化装置中图形开发主要有两种模式,一种是d i r e c t 模式。所谓d i r e c t 模式 就是指,各种图元( 字符串、各种几何图形、b m p 或者i c o 图片) 的显示,数据的刷新, 键盘的相应处理都由应用程序直接调用液晶驱动函数实现。另一种模式是g u i 模式,在这 种模式下,只要提供最底层的驱动给g u i 库,各种图元的显示,刷新等具体工作都由g u l 库来实现。 2 1 1d i r e c t 模式 大多数自动化装置为了降低硬件成本和开发难度,都使用小尺寸的单色液晶。对一些 传统的工业领域,这种现象更是普遍。例如电力自动化领域。 d i r e c t 模式下的图形编程流程是这样的。第一步,为液晶分配各种端口( 命令口和数据 口) 地址空间a 第二步,参照液晶说明书编写基本的函数,例如象素读写函数、寄存器读 写函数等。第三步,在底层函数的基础上编写高级显示函数,如各种几何图形绘制函数、 英文字符显示函数、中文字符显示函数等。第四步,利用第二、三步中实现的函数编写代 码,来显示各幅画面。这一步工作量最大,由于工业液晶都比较小,所以每个一个图元的 显示位置必须事先算好。否则设计出来的画面会不整齐,甚至出现图元重叠现象。 d i r e c t 模式的优点是,设计出来的程序代码小,灵活性强。但是其缺点也很明显。如果 画面比较复杂,图元布局的处理将变得非常繁琐。设计出来的程序结构也会比较混乱。 2 1 2g u i 模式 g u i 是g r a p h i cu s e r i n t e r f a c e 的缩写。最早的g u i 概念由苹果公司提出,并很快得 塑三差望丝星至至竺笙鳖塑生重查堂翌燮 到了业界认可。现在,绝大多数流行的操作系统,都提供一定的图形用户界面。作为计算 机信息显示的主要方式屏幕显示信息本身开始成为一种新的信息源。 g u i 实际上是一套函数库,利用这套函数库可以绘制不同风格的图形交互界面。如 w i n d o w s 的窗口风格的界面就是用相应的g u i 函数设计出来的。嵌入式系统常见的g u i 有 m i c r o w i n d o w s 、m i n i g u i 、o t e m b e d d e d 等。 m i c r o w i n d o w s 是一个开放源码的嵌入式g u i 软件,目的是把图形视窗环境引入到运行 l i n u x 的小型设备和平台上。作为xw i n d o w 系统的替代品,m i c r o w i n d o w s 可以用更少的 r a m 和文件存储空间( i o o k b 6 0 0 k b ) 提供相似的功能,允许设计者轻松加入各种显示设 备、鼠标、触摸屏和键盘等;可移植性非常好,可用c 语言实现;支持i n t e l1 6 位3 2 位 c p u 、m i p sr 4 0 0 0 以及基于a r m 内核的处理器芯片。很多常见的g u i 都是基于m i c r o w i n d o w s 内核的。 m i n i g o i 是l i n u x 控制台上运行的,基于s v g a l i b 和l i n u x t h r e a d 库的多窗口图形用户 界面支持系统。m i n i g u l 采用了类w i n 3 2 的a p i 接口,实现了简化的类w i n d o w s 9 8 风格的 图形用户界面。m i n i g u l 是完全遵从g n u 精神,基于g p l 协议的,也就是说是开放源代码 的自由软件。q t e m b c d d e d 是著名的q t 库开发商t r o i t e c h 实现的,面向嵌入式系统的 0 t 版本。这个版本的主要特点是可移植性较好,许多基于q t 的x w i n d o w 程序可以非常方 便地移植到嵌入式系统。但是该系统不是开放源码的。当然它主要应用在l i n u x 操作系统 上。 g u i 功能强大,能设计出非常漂亮的界面。其函数库使得用户代码编写量大幅度减少。 但是画面布局的设计仍然很困难。g u i 需要的很大的r a m 空问和文件存储空间,此外g u i 都需要操作系统的支持,所以一般只用在比较高档的c p u 平台上,普通的m c u 很难胜任。 2 2c a d 设计模式的提出 从上面的分析可以看出,传统的界面设计模式主要有如下几个缺点。 1 ) 代码编写量较大。对于d i r e c t 模式而言,从底层函数到高级函数都得由开发人员 来编写。此外,还必须编写代码来实现数据的刷新和键盘的响应。g u i 模式在虽然 在一定程度上减少了开发人员的负担,但是仍然有大量代码由开发人员编写。 2 ) 画面布局设计困难。有的装置中,画面量大且复杂。有些画面图元非常复杂,如 果不借助其他工具很难设计画面的布局。例如图2 - i 中显示的接线图。这么复杂 的界面,单靠源代码编写方式很难完成。如果一个装置中有几幅甚至是十几幅这 样复杂的界面,那么开发工作将非常的困难。 实际上按照性质来分,画面上的图元可以分为两类。一类是固定图元。这类图元是不 需要刷新的。以图2 1 为例,图中的母线、变压器、各种电量的名称和单位都不需要刷新; 另外一类图元是变量图元,这类图元可能随着某个物理变量的变化要不断的变化。例如接 线图中的隔离开关、各个电量的数值。不过需要指出的是,他们的位置却不会改变。 基于上面的分析,可以实现一个界面辅助设计系统。这个系统由两个部分组成,一个 是运行p c 上的上位机设计软件,另一个是运行与单片机上的解析程序。上位机设计软件主 要为用户提供一个友好界面,井完成如下几个功能: 1 ) 能方便地设计固定图元并将布局以c 语言文件的形式导出。 2 ) 能方便地设计变量图元布局,并允许开发人员设定与变量图元关联的变量的基本 信息。最终将这些信息以c 语言文件的形式导出。 3 ) 单片机上解析程序的主要工作是,完成数据刷新和按键响应。为了进步减少这 部分代码编写难度,上位机软件还自动生成统一的程序框架。用户只需在框架中 9 墨三耋星型墅堕鲨堕塑塑坠塑燮 的添加应用代码,就可以完成数据刷新和按键响应。 单片机上解析程序的主要功能也有两个。一个是,解析上位机生成的画面文件。另一 个完成数据刷新和按键响应。 利用该界面设计系统开发自动化装置的界面程序研发人员所做的工作大大减少。主 要有两个方面工作。一个是在上位机上设计界面。由于上位机界面友好,是一种所见即所 得的设计模式,所以设计工作非常简单。最后的图元代码的导出由软件完成,不需要人工 参与。第二个方面的工作是,根据实际的装置应用,编写与数据刷新程序和键值响应相关 的代码。由于上位机辅助设计软件,生成了统一的程序框架。所以这部分工作也相当的简 单。整个界面程序的设计,与p c 下利用v c ,b o r l a n dc + + 等集成开发环境开发程序的流程 非常相似。 完成上亟的两个工作过后,整个界面程序设计就完成。这时可以将上位机导出的程序 与解析程序一起编译、连接,然后就可以烧到装置的程序存储器中运行。 这种借助p c 的设计模式属于c a d ( c o m p u t e ra i d e dd e s i g n ) 模式。与d i r e c t 模式和 g u i 模式相比,这种设计方法更加方便、直观。画面的修改也非常简单。 2 3 基于c a d 设计模式的图形界面系统的实现 在上面的分析基础上,本课题实现了一款基于c a d 设计模式的图形界面系统。整个系 统分为两个部分。一个是上位机一侧的辅助设计程序。另个是单片机一侧的解析程序部 分。 上位机的辅助设计程序能让用户配置液晶的大小、颜色深度,并在此基础上提供交互 设计界面。该设计界面向设计者提供了许多的图元( 相当于p c 中的控件的概念) 。考虑了 电力自动化装置的特殊开发要求,辅助设计程序还提供了许多发电机、变压器、隔离开关 等电气设备的图片。在设计好液晶画面后,辅助设计程序将这些画面导出。导出的文件包 括3 个部分。个是画面描述文件,该文件中主要是c 语言风格的数组,每个画面描述文 件与相应的上位机画面文件对应。第二个部分是资源文件,资源文件主要存储的是中英字 模、各种格式的图片点阵。第三个部分是,数据刷新与键值处理框架文件。导出的画面文 件都是c 代码格式的。 单片机一侧的解析程序,主要是利用液晶底层函数来解析辅助程序的导出文件,并把 相应的画面显示在液晶上。解析程序还负责键值的响应、画面图元的刷新。 2 3 1 上位机辅助设计程序 整个上位机侧辅助设计软件是用v c6 0 设计。图2 - 1 是辅助设计程序的主设计界面。 程序框架与v c 很相似框架由菜单、工具栏、t a b 窗口、主客户区、状态栏等几个部分组 成。 1 0 图2 一l 辅助设计软件的主界面 整个框架用b c 6 s o f t 公司的m f c 组件b c g c o n t r o l b a r 来生成。b c g c o n t r o l b a r 是一套商 用的k i f c 扩展库,利用它可以很容易的建立浮动菜单、浮动工具栏以及浮动t a b 窗口。 圈2 - 2t a b 窗口 图2 2 是放大的t a b 窗口。t a b 窗口一共有2 个t a b 页,名称分别为“工程”、“图片 库”。名称为“工程”的t a b 实际上是一个标准的c t r e e c t r l 控件,它以树型结构来显示 当前工程中的文件。“图片库”t a b 是标准的c l m a g e l i s t 控件,主要用来存储和管理当前 工作的图片。考虑到实际应用,只支持三种格式的图片,即单色的1 6 1 6 图片、2 5 6 色的 1 6 1 6 图片、2 5 6 色的3 2 3 2 图片。用户可以根据需要自行添加更多的图片。 图2 - 1 中,客户区的电气接线图就是利用图片库中的相应图片,再结合组件条提供的 相应图元设计出来的。可以看出,对于这么复杂的图,d i r e c t 模式和g u i 模式很难胜任。 辅助软件以工程的方式来组织文件。用户必须首先建立一个工程,然后在此基础上向 工程添加或删除文件。在设计完所有的画面后,可以用菜单“文件”下的“导出工程”命 令来将画面文件导出。 笙兰堡垩丝堕墅幽型兰壁坚 2 3 1 1 辅助设计软件对窗口的定义 常见的g u i 风格主要有如下3 种。第一种是“主画面导航”风格。主画面的作用就像 w i n d o w s 操作系统的桌面一样,上面有多个图标,分别代表系统的主要功能。可以通过键 盘操作进入相应的子功能( 在w i n d o w s 中,就是打开一个个应用程序窗口) 。由于用到图 标。这种风格的g u l 适用于大尺寸的彩色液晶。第二种就是“弹出式菜单”风格a 这种风 格一般也有一个主画面,但是该主画面上并没有显式的子功能入口。一般通过某个按键, 该画面就会出现弹出式菜单,通过该菜单可以进入各个子功能,这种菜单的作用很像 w i n d o w s 中的“开始”菜单。南瑞r c s 系列的保护多采用这种风格的界面风格。篇三种是 “混合式”风格。混合式风格既有“主导航画面”也有“弹出式菜单”。 图2 3 液晶画面示意图图2 4 某液晶实际画面 在设计辅助设计软件时,课题考虑到了上述几个界面风格,所以有一定的通用性。辅 助设计软件将液晶屏幕,从逻辑上划分为3 个部分,即主显示区、状态栏、快捷栏。如图 2 - 3 所示。当液晶画面切换时,可以根据需要只刷新主显示区上的图元,也可以只刷新状 态栏或快捷栏上的图元。一般说来,主显示区用来显示本画面的主要信息,其性质很像v c 下的v i e w 。状态栏主要用来显示状态倍息、时间信息等,它主要起提示作用。快捷栏上主 要放置快捷键,主要是为了菜单导航方便,或者为当前画面提供特殊的功能。每个液晶画 面必须有主显示区,但是状态栏和快捷栏不是必须的。 利用该软件实现上述的几种风格的界面是比较容易的。图2 4 是“主画面导航”风格 的界面。状态栏显示当前时间、装置的通讯情况等信息。快捷拦上是本画面拥有的快捷键。 主客户区是几个导航子菜单。 如果是要设计“弹出式菜单”风格,必须首先设计各个画面以及相应画面的弹出式菜 单。在单片机的解析程序中还要为弹出式菜单分配激活键。这样的话,单片机解析程序在 检测到有激活键按下时,就会正确的显示弹出式菜单。 辅助设计软件将3 个逻辑区上显示的图形元素称为图元。软件目前支持6 种图元。关 于这6 种图元的详细介绍见后面各小节。辅助设计软件还要求,用户在设计画面的时候必 须指定本画面的索引号,因为单片机上的解析函数是以索引号来管理画面的, 2 3 1 2 图元的选择 基本图元的选择对整个软件设计有非常重要的影响。一般说来,电力应用中控制设备 和被控制设备可以用简单的图形,例如圆、矩形、直线来表示。所以太复杂的图元往往没 有实际使用意义。为了简单和适用起见,选定如下的图元为基本图元: 1 ) 椭圆( 圆) a 工业系统中很多设备都可以用圆来表示,例如发电机,变压器绕组等 等。 1 2 鹞二章雷形界面系统研究与实现 东南大学碛士论文 2 )直线。在工业监控系统中,往往用表格来组织数据,因为这样可以使画面相当的 紧凑,且一目了然。在本软件中各种表格都是以直线为基本单位来存储的。此外, 工业系统中的各种联络线以及系统接线图,都可以用直线来表示。 3 )矩形。矩形也是一种非常基本的图元。很多复杂的图形都包括矩形部分。 4 )字符串。在本软件中,用户可以预先设计出某个画面上固定的字符串。而且可以 把字符串拖到任意的地方。字符串包括中文和英文字符。 5 )图片。利用一些图片,甚至是动画来表示控制设备的不同状态,往往能得到很好 的视觉效果。所以图片也被选作为一种基本的图元。 6 ) 变量。变量是一种特殊的图元。它主要用于描述画面上需要刷新的那些对象。例 如某幅液晶画面上要显示a 相电压值,则设计时可以在相应的位置上放置一个变 量图元,并设置变量的属性。属性对话框如图2 - 5 所示。软件在导出该画面文件 时。会将变量的名称、对齐信息、显示宽度等信息写到导出文件中。这样编写单 片机代码来显示u a 的信息将非常简单。应用程序不必自己计算变量显示位置,刷 新宽度。如果用户想改变u a 的显示位置,只需在辅助设计软件上将圈元拖动到相 应位置即可,而单片机上的程序不需要进行任何修改。 图2 - 5 变量属性设最对话框 上述的几种图元虽然各不相同,但是通过分析与归纳不难发现他们很多的属性是相 同的。因此,为上述的图元设计了一个基类:c o r a w o b j 。该类本身又继承于m f c 的标准类 c o b j e c t 。它包括了图元的公共的数据属性和操作属性。 c d r a w o b j 的数据成员比较简单。主要成员如下。 1 ) 大小锁定标识。该

温馨提示

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

评论

0/150

提交评论