(电力电子与电力传动专业论文)基于嵌入式linux的触摸屏图形组态软件的研究.pdf_第1页
(电力电子与电力传动专业论文)基于嵌入式linux的触摸屏图形组态软件的研究.pdf_第2页
(电力电子与电力传动专业论文)基于嵌入式linux的触摸屏图形组态软件的研究.pdf_第3页
(电力电子与电力传动专业论文)基于嵌入式linux的触摸屏图形组态软件的研究.pdf_第4页
(电力电子与电力传动专业论文)基于嵌入式linux的触摸屏图形组态软件的研究.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(电力电子与电力传动专业论文)基于嵌入式linux的触摸屏图形组态软件的研究.pdf.pdf 免费下载

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

文档简介

a b s t r a c t a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fc o m p u t e rs c i e n c ea n dt e c h n o l o g i e s ,e m b e d d e ds y s t e mh a s b e e ng r e a t l yu s e di nt h ee o n t r o lf i l e d c o n f i g u r a t i o ns o f t w a r eh a sb e c o m et h em a i nm o d e l0 f s o f t w a r ed e v e l o p m e n ti ni n d u s t r i a la p p l i c a t i o n , w h i c hp r o v i d e su s e rf l e x i b l ed e v e l o p i n gi n t e r f a c e a n ds i m p l et ou s e i ti sa ni n e v i t a b l et r e n dt h a tt h e yw i l lb ec o m b i n e di n t oe m b e d d e d c o n f i g u r a t i o ns o f t w a r e t h eg r a p h i c a le o n f i g u r m i o ns y s t e m i sa ni m p o r t a n tp a r to ft h e c o n f i g u r a t i o ns o f t w a r e u s i n gg r a p h i c sm o d e ,t h eg r a p h i c a ls y s t e mb u i l d st h er e l a t i o n s h i pw i t h f i l e do b j e c t s ,a n df o r m sm u t u a lv i e wv i v i d l y a tp r e s e n t , t h ee m b e d d e dc o n f i g u r a t i o ns o f t w a r ei s n o ts u f f i c i e n t , a n dt h ee x i s t i n gp r o d u c t sa r em o s t l yr u n n i n go nt h ew i n c ep l a t f o r m s u c h s o f t w a r e ,w h i c hh a sl e s sr e a l - t i m e ,m o r er e s o u r c ec o n s u m i n gp r o b l e m sa n dd on o ts u p p o al i n u x p l a t f o r m ,i st h em a j o r i t yo ft r a n s p l a n tp cp l a t f o r mv e r s i o n b e c a u s eo ft h i s ,t h i sp a p e rd e s i g n s e m b e d d e dg r a p h i c a lc o n f i g u r a t i o ns o f t w a r eo nl i n u xo p e r a t i o ns y s t e m b a s e do nd e v e l o p m e n tt r e n d so fe m b e d d e dc o n f i g u r a t i o ns o f t w a r e ,t h i sp a p e rd e s c r i b e st h e d e s i g nm e t h o d sa n dt e c h n i c a lc h a r a c t e r i s t i c s b a s eo nt h e s ea n a l y s e s ,t h ee n t i r ed e s i g nf r a m ea n d r e a l i z a t i o na r ec a r d e do u t a c c o r d i n gt ot h ef r a m ea n do b j e c t - o r i e n t e dt h o u g h t ,t h eg r a p h i c a l s y s t e mr u n n i n go nl i n u xi sr e a l i z e di nc + + p r o g r a m m i n gl a n g u a g ew i t hq td e v e l o p i n gt 0 0 1 t h ep a p e rf i r s t l ya n a l y s e st h es t r u c t u r eo fg r a p h i c a lc o n f i g u r a t i o ns o f t w a r e ,a n dr a i s e st h e d e v e l o p m e n ta r c h i t e c t u r ew h i c hi sc o m p o s e do ft h ed e v e l o p m e n tc i r c u m s t a n c ea n dt h er u n n i n g c i r c u m s t a n c e t h ed a t as t r u c t u r e ss t a n d i n gf o rt h er e l e v a n tf u n c t i o nm o d u l e sa r ed e s i g n e db a s e d o no b j e c t - o r i e n t e dp r i n c i p l e t h e nt h em a i nf u n c t i o n so fd e v e l o p m e n tc i r c u m s t a n c ea n dr u n n i n g c i r c u m s t a n c ea r ei n t r o d u c e dr e s p e c t i v e l y t h er e a l i t ya n dd e s i g np r i n c i p l eo fe a c hf u n c t i o n m o d u l ea r ei l l u s t r a t e di n d e t a i l c o n s i d e r i n gt h et r a n s p l a n tc h a r a c t e r i s t i c s f o re m b e d d e d c o n f i g u r a t i o ns o f t w a r e ,a l lp r o c e d u r ec o d e sa r ed e s i g n e db yq tt o o l s a tl a s t ,t h ea n a l y s i sa n d v a l i d a t i o no ft h er e l a t e df u n c t i o n si si m p l e m e n t e d t h er e s u l ts h o w st h a tt h es o f t w a r eh a saw e l l c o n f i g u r a t i o nf u n c t i o nf o rg r a p h i c a le l e m e n t sa n dc o n t r o l sa n dt h ed i s p l a ye f f e c ti nr u n n i n g c i r c u m s t a n c ea c c o r d sw i t ht h ed e v e l o p i n gc i r c u m s t a n c ee x a c t l ye v e r yv a r i a b l ew o r k si nn o r m a l s t a t u sa n dt h ef u n c t i o no fc o m m u n i c a t i o ni ss t e a d y k e yw o r d s :c o n f i g u r m i o ns o f t w a r e ;o b j e c t - o r i e n t e dt e c h n o l o g y ;q t ;g r a p h i c a lc o n f i g u r a t i o n s y s t e m ;l i n u x i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了 谢意。 研究生签名:啦日期:建塑:篁:! ! 东南大学学位论文使用授权声明 东南大学,中国科学技术信息研究所,国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印,缩印或者其他复制手段保存论文本人电子文档的内容和纸质 论文的内容相一致除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括刊 登) 论文的全部或部分内容论文的公布( 包括刊登) 授权东南大学研究生院办理 研究生龇垡盟导师豁蟛期:塞丛盟 第一章绪论 1 1 嵌入式系统 1 1 1 嵌入式系统的定义 第一章绪论 嵌入式系统是先进的计算机技术、半导体技术、电子技术和各个行业的具体应用相结 合后的产物,是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。由于其 具有体积小、功能好、功耗低、可靠性高以及面向行业的突出特征,目前已广泛应用于军 事国防、消费电子、信息家电、通信网络、工业控制等领域。 根据i e e e ( 国际电机工程师协会) 的定义,嵌入式系统是“控制、监视或者辅助装置、 机器和设备运行的装置”( d e v i c e su s e dt oc o n t r 0 1 m o n i t o r , o ra s s i s tt h eo p e r a t i o no f e q u i p m e n t , m a c h i n e r y o r p l a n t s ) 。目前国内比较认同的嵌入式系统概念是:嵌入式系统是以应用为中心, 以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、 功耗有严格要求的专用计算机系统【l j 。它一般由嵌入式微处理器、外围硬件设备、嵌入式 操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理 等功能。 1 1 2 嵌入式系统的构成 嵌入式系统一般由硬件、软件两个部分组成。 ( 1 ) 硬件环境 这是整个嵌入式操作系统和应用程序运行的硬件平台,不同的应用通常有不同的硬件 环境。硬件平台的多样性是嵌入式系统的一个主要特点。硬件部分可分为三层:核心处理 器、外围电路和外部设备。核心处理器是嵌入式系统的核心部件,负责控制整个嵌入式系 统的执行。外围电路包括嵌入式系统的内存、i o 端口、复位和电源等,与核心处理器一起 构成一个完整的嵌入式目标系统。外部设备是嵌入式系统与真实环境交互的各种设备,包 括存储设备( 如f l a s hc a r d ) 、i o 设备( 如键盘、鼠标、l c d 等) 和打印设备( 打印机、扫描仪 等) 【2 1 。 ( 2 ) 软件环境 嵌入式软件也是计算机软件的一种。它由程序及文档组成,可以分为系统软件、支撑 软件、应用软件三类【j j : 。 i 系统软件 系统软件包括设备驱动接口和嵌入式操作系统。设备驱动接口负责嵌入式系统与外部 设备的信息交互。嵌入式操作系统义分为基本和扩展两部分。前者是操作系统的核心,负 责整个系统的任务调度、存储分配、时钟管理和中断管理,并提供文件、g u i ( 图形用户 界面) 等基本服务;后者是为用户提供扩展功能,包括网络、数据库等。嵌入式操作系统 具有小巧、实时性、可装卸、固化代码、弱交且性、强稳定性和接口统一等特点。它的出 现,大大提高了嵌入式系统的开发效率,并增强了嵌入式支撑软件和应用软件的可移植性。 东南大学硕士学位论文 1 1 支撑软件 支撑软件可称为应用编程中间件,又称为软件开发环境,是为编制应用程序而提供的 各种编程接口库,主要包括环境数据库、各种接口软件和工具组等。 嵌入式应用软件 嵌入式应用软件是实现嵌入式系统功能的关键,嵌入式系统对应用软件的要求也和通 用计算机有所不同,软件要求固态化存储,代码质量高、可靠性高,同时具有可裁剪性; 当然,可移植性也是其重要要求。 1 1 3 嵌入式系统的特点 嵌入式系统与通用计算机系统相比有如下特点1 4 1 。 ( 1 ) 嵌入式系统是面向特定系统应用的。嵌入式处理器大多数是专门为特定应用设计 的,具有低功耗、体积小、集成度高等特点,一般情况下是一个包含各种外围设备接口的 s o c ( 片上系统) 。 ( 2 ) 嵌入式系统涉及计算机技术、微电子技术、电子技术、通信和软件等相关行业, 是一个不断创新、发展的知识集成系统。 ( 3 ) 嵌入式系统的软、硬件都必须具备高度可定制性,以适应不断变化的应用需求, 达到较高的产品性价比。 ( 4 ) 嵌入式系统的生命周期较长。应用嵌入式系统的产品往往还可以进行软件升级, 它的生命周期与产品的生命周期几乎一样长。 ( 5 ) 嵌入式系统不具备本地系统的开发能力,通常需要专门的开发环境和工具。 1 2 嵌入式组态软件 1 2 1 嵌入式组态软件的定义 组态软件,又称监控组态软件,指一些数据采集与过程控制的专用软件。它们是在自 动控制系统监控层一级的软件平台和开发环境,能以灵活多样的组态方式( 而不是编程方 式) 提供良好的用户开发界面和简捷的使用方法,其预先设置的各种软件模块可以非常容 易地实现和完成监控层的各项功能,并能同时支持各种硬件厂家的计算机和l o 设备,与 高可靠的t 控计算机和网络系统结合,可向控制层和管理层提供软、硬件的全部接口并进 行系统集成1 5j 。组态软件的应用领域很广,它可以应用于电力系统、给水系统、石油、化 工等领域的数据采集与监视控制以及过程控制等诸多领域。 嵌入式组态软件是嵌入式系统在工业控制领域发展的必然结果。微处理器技术的发展, 一方面使得处理器运算速度不断提高,另一方面使得控制系统硬件成本不断降低,过去要 在控制室由中央主机承担的控制功能现在可以安排到现场的嵌入式控制器上,这样大大提 高了系统的可靠性。所谓嵌入式组态软件是相对传统组态软件而言,传统组态软件由于应 用环境不同,软件多考虑功能强大,故软件开发、运行所需的资源较大。嵌入式组态软件 则是运行于以嵌入式处理器为核心的硬件系统之上,相应的支持软件是嵌入式操作系统, 因此嵌入式组态软件不能过于庞大,但义不能过多丢弃传统组态软件的功能。将组态软件 与嵌入式系统结合起来,利用上位机中的组态编辑环境进行组态,将组态好的信息传送到 下位机的嵌入式系统中。由嵌入式系统对传送过来的信息进行分析并根据各项参数在显示 2 第一章绪论 设备上按照上位机组态信息进行处理,用更少的r a m 和文件存储空间完成相应的功能。 这样可以大大提高开发效率,缩短开发周期。 1 2 2 嵌入式组态软件的特点 嵌入式组态软件不同于一般的组态软件,它有体积小、速度快、成本低、真正嵌入、 稳定性高、功能强大、通信方便、操作简便和支持多种设备的特点 6 1 。它所需的内存空间 小、运行效率高、运行的硬件平台要求价格低廉、运行于实时嵌入式操作系统上,运行稳 定抗干扰能力强,具有强大的通讯功能,且用户开发、使用操作简单。由于嵌入式组态软 件有按功能剪裁的特性,以及其内嵌的实时多任务操作系统,可以在保证整个嵌入式系统 小体积,低成本,高实时性,高可靠性的同时,方便不具备嵌入式软件开发经验的用户在 极短的时间内,使用嵌入式组态软件快速开发完成一个嵌入式系统。 1 2 3 嵌入式组态软件的发展 最早开发的通用组态软件是d o s 环境下的组态软件,其特点是具有简单的人机界面 ( h m i ) 、图库、绘图工具箱等基本功能。随着w i n d o w s 的广泛应用,w i n d o w s 环境下的组 态软件成为主流。与d o s 环境下的组态软件相比,其最突出的特点是图形功能有了很大的 增强。国外许多优秀通用组态软件是在英文状态下开发的,它具有应用时间长、用户界面 不理想、不支持或不免费支持国内普遍使用的硬件设备、组态软件本身费用和组态软件培 训费用高昂等因素,这些也正是通用组态软件在国内不能广泛应用的原因。随着国内计算 机水平和工业自动化程度的不断提高,通用组态软件的市场需求日益增大。 近年来一些国外著名硬件或系统厂商亦推出了日趋成熟的嵌入式组态软件产品,如美 国w o n d e r w a r e 公司的i n t o u e h ,美国i n t e i l u t i o n 公司的f l x ,澳大利亚c i t 公司的c i n c h 以及美国g e 公司的c i m p l i c i t y ,美国a b 公司( r o c k w e l l 自动化) 的r s v i e w ,德国西门子 公司的w i n c c 等。这其中的一些组态软件,己一改过去仅为其本身硬件配套的o e m 形式 或面孔,通过大力加强对其他硬件产品的驱动支持和软件内部的各种功能,而发展成为专 业化的通用组态软件。如美国g e 公司成立专门软件部门,已将其c i m p l i c i t y 开发成为优 秀的通用组态软件产品,尤其加强了服务器及网络冗余和管理层方面的功能,适应了潮流, 加之随软件提供各种驱动程序,在国际市场上获得了很大的市场份额。一些硬件厂商,如 r o s e m o u n t ,h o n e y w e l l 等公司也陆续推出了新型的、更开放的控制系统以及现场总线产品, 并配以“开放的”嵌入式组态软件1 7 1 。 国产化的嵌入式组态软件产品也正在成为市场上的一支生力军,近年来比较出名的组 态软件产品如m c g s 、组态王、虎翼等都相继推出了嵌入式版本,这些产品基于通用的计 算机控制平台或嵌入式人机界面,能够用组态方式开发出出色的监控管理界- 面i 引。 1 3 本文主要工作 本文通过对传统组态软件的分析,提出并设计了一种基于嵌入式l i n u x 的图形组态软 件。论文的主要工作如下: ( 1 ) 借鉴传统组态软件的功能与结构,以l i n u x 为开发平台,采用q t 开发工具设计 了嵌入式l i n u x 下组态软件的总体结构。 ( 2 ) 构建嵌入式图形组态软件的开发环境,该部分主要包括图元的绘制和编辑;控件 3 东南大学硕士学位论文 的编辑与属性设置;组态信息配置文件的生成和工程文件的管理等内容。 ( 3 ) 构建嵌入式图形组态软件的运行环境,该部分主要内容包括基于g r a p h i c s v i e w 框架的图元、画面的数据结构设计;画面图像的运行和调度;实时数据的管理;基于 m o d b u s r t u 的数据通讯。 ( 4 ) 测试环境的搭建和编程实现,以$ 3 c 2 4 4 0 处理器为核心构建了触摸屏终端硬件 平台,对组态功能进行了测试和验证。 本论文共由六章组成,主体内容在第三、四、五章。各章节主要内容如下: 第一章概括了课题的研究背景,并介绍了嵌入式组态软件的特点、与传统组态软件的 区别、应用现状和发展趋势。 第二章介绍了l i n u x 操作系统和嵌入式环境下触摸屏图形组态软件开发的关键技术, 并给出了整体的设计方案。 第三章着重解决图形组态软件开发环境构建和软件实现的一系列问题,在p c 平台上 以q t 工具为基础实现了跨平台的程序设计。 第四章探讨了嵌入式组态软件运行环境的相关问题,实现了基于q t o p i ac o r e 的软件编 程。 第五章搭建了基于嵌入式l i n u x 和a r m 9 的触摸屏系统测试平台,对研究结果进行了 验证。 第六章对全文和所做工作进行了回顾和总结,对研究前景进行了展望。 4 第二章嵌入式触摸屏图形组态软件总体设计 第二章嵌入式触摸屏图形组态软件总体设计 2 1 嵌入式图形组态软件关键技术 2 1 1 嵌入式操作系统 由于硬件条件的限制,早期m c u 系统的软件设计都采用“裸机”的形式,没有任何 类似的系统软件做开发平台,对各种硬件资源的操作和管理都必须由开发人员自己编写程 序来解决。随着技术的发展和进步,嵌入式微处理器的功能越来越强,规模越来越大,为 嵌入式操作系统的诞生提供了硬件基础,从而出现了很多具有不同特点和应用领域的嵌入 式操作系统。 和传统的操作系统不同,嵌入式操作系统主要具有以下特点: ( 1 ) 小型化。嵌入式系统的存储器容量一般不会很大,对嵌入式操作系统占有的存储 资源有较多的限制。所以在保证应用功能的前提下,操作系统的规模要求尽可能的小。 ( 2 ) 实时性。嵌入式实时操作系统要能快速响应事件,具有较强的实时性要求。 ( 3 ) 可剪裁性。嵌入式操作系统的硬件平台各有不同,所以要求嵌入式操作系统提供 的各个功能模块必须可以让用户根据需要选择使用,即具备良好的可裁减性。 ( 4 ) 移植性。嵌入式操作系统应该能够稳定的运行于各种硬件平台。 ( 5 ) 可靠性。嵌入式系统广泛应用于各领域,其中不乏对性能要求严格的场合,所以 要求嵌入式系统必须具有极高的可靠性。 目前,大约已有数十种开源或商业的嵌入式操作系统在市场上出售或推广,比较典型 的系统有: 1 v x w o r k s 操作系统 v x w o r k s 是目前嵌入式系统领域中使用最广泛、市场占有率最高的嵌入式实时操作系 统。它是美国w i n d r i v e r 公司的产品,以其良好的可靠性和卓越的实时性被广泛地应用在 通信、军事、航空等高精尖及实时性要求极高的领域中 9 1 。 2 w i n d o w s c e m i c r o s o f tw i n d o w sc e 是微软公司为各种嵌入式系统和产品设计的一种压缩的、具有 高效的、可升级的操作系统。它支持各种硬件外围设备、其它设备及网络系统。包括键盘、 鼠标设备、触摸屏、串行接口、以太网连接器、调制解调器、打印设备及存储设备【10 1 。 3 p s o s p s o s 也是w i n d r i v e r 公司的产品。这是一个模块化、高性能的实时操作系统,专为嵌 入式微处理器设计,提供一个完全多任务环境,在定制的或是商业化的硬件上提供高性能 和高可靠性,目前主要被应用于机顶盒中。 4 q n x q n x 是由加拿大q n x 软件系统有限公司开发的一个建立在微内核完全地址空间保护 基础上的实时操作系统,具有模块化程度高、剪裁自如、易于扩展的特点。 5 p a l mo s 系统 3 c o m 公司的p a l mo s 系统在p d a 市场上占有很大的市场份额,具有开放的操作系统 应用程序接口,用户可以根据需要自行开发所需要的应用程序。 5 东南大学硕士学位论文 6 u c o s - i i 。这是由j e a n j l a b r o s s e 于1 9 9 2 年编写的一个嵌入式多任务实时操作系统, 经过多年的修改,在2 0 0 0 年得到美国联邦航空管理局对用于商用飞机的、符合r t c a d o 1 7 8 b 标准的认证,证明了u c o s i i 具有足够的稳定性和安全性。 7 l i n u x 。l i n u x 是一种类u n i x 操作系统,它的特点是具有很强的移植性,支持多 种硬件平台,能够在大多数c p u 体系结构上运行。l i n u x 内核除了支持3 2 位体系结构外, 对6 4 位处理器也提供了支持。 和其它操作系统相比,l i n u x 操作系统具有以下优点: ( 1 ) 内核稳定、功能强大、支持多种硬件平台、应用软件多、兼容性好。l i n u x 是一 个类u n i x 的操作系统,提供了类u n i x 的编程接口和系统调用,可以方便地将u n i x 系 统上的应用程序移植到l i n u x 上运行。由于源码开放的缘故,l i n u x 的源代码得到众多软 件爱好者的审查和修改,有着很高的稳定性。 ( 2 ) 内核可根据需要任意裁减。由于g p l 协议的保障,使得修改l i n u x 内核成为可 能,这也是众多嵌入式l i n u x 版本出现的重要原因。 ( 3 ) 使用成本低,和商业操作系统相比,l i n u x 是免费软件,只需遵守g p l 规定, 就可以免费获得复制。同时,l i n u x 下还拥有同样遵守g p l 规定的其它软件工具开发包。 ( 4 ) 有众多专业的商业公司参与,发展潜力大。l i n u x 开放源码的特点,使得很多专 门的商业公司也参与到l i n u x 的开发中。这些公司一方面参与l i n u x 的开发,另一方面将 l i n u x 内核和应用软件整合起来,加入自己的软件工具包发行,这就是l i n u x 的发行版本。 l i n u x 发行版本提供了相对容易的管理工具,极大的降低了l i n u x 的使用难度。 基于其低廉成本与高度可设定性,本文选择l i n u x 作为组态软件的开发和运行环境。 2 1 2 嵌入式操作系统的用户图形界面 对于嵌入式系统特别是组态软件而言,提供友善的人机界面是十分有用和必要的。图 形用户界面可以看成是计算机和使用者之间的“交流平台”。用户图形接口( g u l ) 系统是 实现这一目标的基础,它基于操作系统之上,为软件开发者提供丰富的图形编程接口。自 从1 9 8 4 年苹果电脑首次成功使用g u i 后,各种g u i 迅速发展,包括后来居上的w i n d o w s 系列和广泛应用于类u n i x 系统上的xw i n d o w 系统【1 1 | 。 与u n i x 系统类似,l i n u x 桌面g u i 系统也是基于xw i n d o w 协议的。目前各种l i n u x 的发行版本都采用xw i n d o w 架构,而xw i n d o w 的上层提供了各种高级图形库和开发包。 一个典型的l i n u x 桌面系统的架构如图2 1 所示。 桌面整合环境( g n o m e 、k d e 等) 高级图形库和开发包( g t k + 、q t 等) xw i n d o w 系统底层a p i ( x l i b ) x w i n d o w 系统协议实现层 图2 1 常见的l i n u x 桌面g u i 系统架构 xw i n d o w 的运行基于c s ( 客户朋艮务器) 模型,它由xs e r v e r 、xc l i e n t 和通信通道 3 个部分组成,xs e r v e r 和xc l i e n t 通过x 协议在网络上通信完成应用任务。xs e r v e r 是控制输入输出的程序,它和底层硬件直接通信控制实际的显示器、鼠标及键盘的软件, 只在接收xc l i e n t 程序的请求后完成建立窗口和绘制图形等上作。xc l i e n t 是基丁xs e r v e r 6 第二章嵌入式触摸屏图形组态软件总体设计 的客户程序,作为使用系统的视窗功能程序,它请求xs e r v e r 在指定的窗口执行各种操作。 它不负责显示,只是给xs e r v e r 发送一个请求,由服务器完成操作。x 协议是xs e v e r 与 xc l i e n t 之间的通信协议。xc l i e n t 一般通过调用底层库x l i b 的接口来与xs e r v e r 进行通 信,x l i b 库封装了可完成这种通信功能的a p i 。xw i n d o w 运行分层如图2 2 所示。 客户端应用程序 客户端应用程序 工具包 x l i b x l i b x 服务器 设备驱动 图2 2 x w i n d o w 运行分层图 需要明确的是xw i n d o w 并不是一个直接的用户图形接口,它只是图形环境和l i n u x 内核交互的途径,任何厂商都能在xw i n d o w 上开发出不同的g u i 图形环境。 q t 是由挪威t r o l l t e c h 公司于1 9 9 5 年推出的一个跨平台的c + + 图形用户界面库,可以 将它看成是与w i n d o w s 平台下m f c 、o w l 、a 1 r l 类似的工具。但是q 具有优良的跨平 台特性,支持w i n d o w s 、l i n u x 、u n i x 、m a c o sx 以及嵌入式l i n u x 等多种平台。和j a v a 的“一次编译,到处运行”跨平台不同的是,q t 是源码级的跨平台,一次编写,随处编译。 一次开发的q t 应用程序可以移植到不同的平台上,只需重新编译即可运行。图2 3 为q t x l l 及q t w i n d o w s 版本在各自操作系统上的系统架构图。 q t 应用程序 q t y a p i q t x l1q t w i n d o w s xw i n d o wg d i l i n u x u n i x 内核w i n d o w s 内核 图2 3q t 在x 1 1 和w i n d o w s 上的系统架构图 由于受到硬件条件的制约,嵌入式l i n u x 系统的g u i 和桌面l i n u x 系统的g u i 有很大 的不同。在嵌入式领域的g u i 应当具有以卜一些特点【l3 1 。 体积小。占用较少的f l a s h 和r a m 。可以对g u i 系统进行方便的剪裁和精简,减 少存储空间;在运行时应占用尽量少的r a m 。 耗用系统资源尤其是c p u 的资源少、在硬件条件限制下能达到较快的系统响应速 度,同时减少c p u 的功耗,以达到节能效果。 系统独立,能适应不同的硬件平台。 目前在嵌入式l i n u x 中使用的g u i 主要有以下几种: ( 1 ) m i c r ow i n d o w s ( 后更名为n a n o xw i n d o w ) 是一个基于典型客户n 务器体系 结构的g u i 系统,它能够在没有任何操作系统或其它图形系统的支持下运行,可以对裸机 7 东南大学硕士学位论文 进行直接操作,十分灵活、小巧。但是由于某些原因,该项目的进展比较缓慢,目前已经 陷入停滞状态,自2 0 0 5 年后一直没有新的版本发布。 ( 2 ) m i n i g u i 是原清华大学魏永明先生主持开发的一个自由软件项目。它遵循l g p l 条款,是基于嵌入式l i n u x 系统的轻量级图形用户界面系统。m i n i g u i 具有比较良好的软 件架构,它通过图形抽象层( g a l ) 和输入抽象层( i a l ) 将m i n i g u l 和底层的操作系统隔 离开来,使得上层的应用程序无需关心底层的硬件平台,此外它对中文的支持比较好。开 源版m i n i g u i 的主要不足在于图形引擎的功能较弱,控件的可定制性不够强,不大适合比 较复杂的图形界面设计,这在一定程度上影响了其推广的程度。 ( 3 ) q t o p i a ( q t e m b e d d e d ) 。q t e m b e d d e d 是t r o ll t e c h 公司的面向嵌入式系统的q t 版本,而q t o p i a 最初是建立在q t e 之上的类似桌面系统的应用环境,q t e 是类库而q t o p i a 是应用程序,但是从版本4 1 开始q t e 并入q t o p i a 成为q t o p i ac o r e 。并在此基础上开 发了面向p d a 和手机的版本,称为q t o p i ap h o n ee d i t i o n 和q t o p i ap d ae d i t i o n 。q t o p i a 和q t x l l 的最大区别在于q t o p i ac o r e 不依赖于xw i n d o w n 钊。两者的架构对比如图2 4 。 q t 应用程序 q ta p i q t x 11 q t o p i ac o r e xw i n d o w f r a m eb u f f e r ( 帧缓冲) l i n u x 内核 图2 - 4q t l l 和q t o p i ac o r e 系统架构的对比 由于q t 采用面向对象的c + + 语言开发应用程序,这会使整个组态软件架构更加清晰, 易于扩展。同时q t 还提供了q t d e s i g n e r 等工具,为界面的设计提供了十分便利的条件, 故本课题选用q t 作为组态软件g u i 的开发工具。 2 2 嵌入式触摸屏图形组态软件的功能分析 传统的组态软件的硬件平台为个人计算机或工业计算机,软件平台一般为w i n d o w s 操 作系统。这些组态软件界面友善、功能强大,大多数能提供对c o m 的支持,但是对软硬 件平台要求较高,运行时需要占用大量的资源。而嵌入式系统是成本敏感的,要求高效率 的设计软硬件平台。因此对于基于嵌入式系统的组态软件来说,传统的组态软件就显得有 些庞大。但是作为图形组态软件,其与传统组态软件的基本功能是类似的。冈此,基于嵌 入式的图形组态软件应具有以下的功能【l5 j 【1 6 i : ( 1 ) 友善的人机界面:功能完善的人机交互界面,可以实现多种图形的组态,并具 备动画连接的功能,能够轻松的实现人机交互。 ( 2 ) 能够关联来自现场设备的数据和图形界面的显示元素,利用图形动画或可变化的 文本显示现场数据的变化,或通过输入框、按钮等控件将操作者的命令送到现场设备。 ( 3 ) 能够处理报警信息。组态软件能够根据用户的组态,对触发报警条件的数据变量 和故障进行报警处理,并且可以存储报警记录。 8 第二章嵌入式触摸屏图形组态软件总体设计 ( 4 ) 能够为使用者提供灵活、可靠的组态工具以适应不同领域的需求。 ( 5 ) 强大的数据管理功能。组态软件需要一个实时数据库作为整个系统数据处理、数 据组织和管理的核心。负责整个系统的实时数据处理、历史数据存储、报警信息的记录, 并负责数据通讯。 ( 6 ) 可靠的安全机制。需要一整套完善的安全机制,设定不同的操作权限来管理按钮、 控制控件以及系统的登录和退出,只有拥有操作权限的用户才能够进行相应的操作。 ( 7 ) 具备良好的可移植性,可以在不同的嵌入式设备上运行,并具备一定的跨平台运 行能力。 ( 8 ) 提供与第三方程序的接口,方便数据共享。这一般是组态软件的可选功能。 2 3 嵌入式触摸屏图形组态软件的体系结构 按照传统组态软件的设计方法和使用软件的工作阶段将组态软件划分为系统开发环境 和系统运行环境。开发环境运行于p c 机平台,而运行环境则运行于触摸屏所在的嵌入式 系统之上。开发环境负责建立目标图形系统供系统运行时使用;而运行环境则根据已配置 的目标图形系统更新触摸屏的画面显示,以组态图形的方式反映现场的工作状况。图2 5 显示了基于嵌入式l i n u x 的触摸屏图形组态软件的体系结构。 开发环境运行环境 图形编辑 图形控件报警 t l 工具lli 程 组 管 控件编辑 态 控制模块 i 报警模块j 理 工具 配 置 下 文 数据管理模块 件 i l 文件管理生文 载 解 i模块成件 析 一通讯模块 l i n u x w i n d o w s嵌入式l i n u x p c 平台 a r m 平台 图2 5 图形组态软件的体系结构 系统开发环境基于p c 机的l i n u x w i n d o w s 平台( 由丁采用跨平台的q t 软件包作 为开发工具,冈此开发不同操作系统下的应用程序十分方便) ,负责完成界面的设计、 数据变量的关联等功能。开发环境主要包括图形编辑t 具、控件编辑工具和文件管理 模块三大部分。其中图形编辑工具提供给用户一个图形编辑环境,用户可以使用该工 具完成基本图形元素,直线、矩形以及其它复杂图形的绘制和填充等功能:组件编辑 工具用于配置如按钮、灯、趋势图等组件的相关属性;而文件管理模块则负责工程文 件的保存、装载,组态配置文件的生成、下载。 系统运行环境存在于a r m 平台的嵌入式l i n u x 系统之上,主要包括界面显示、 数据管理和通讯三个部分。系统应用时,用户先在开发环境上完成界面的绘制,数据 9 东南大学硕士学位论文 源的关联等步骤,接着生成组态配置文件下载到下位机的a r m 上。开发环境解析该 配置文件,生成用户界面并在l c d ( 或触摸屏) 上显示出来。在系统运行时,控制模 块负责维护界面流程,周期性地从数据管理模块获取数据,并自动将数据与界面中的 元素或属性相关联,根据数据源的变化更新界面;另一方面将从人机界面接收到的控 制信号通过数据管理模块写入相应的数据源。数据管理模块主要负责处理内存变量、 实时数据、历史数据以及趋势数据的存储和通讯。通讯模块直接负责和现场设备的通 讯,并将通讯的结果反馈到数据管理模块。报警模块负责监控各数据变量是否达到报 警条件,并以某种方式显示报警信息。 开发环境的编程工具为l i n u x 或w i n d o w s 平台下的q t ,而运行环境的编程工具 为嵌入式l i n u x 或w i n c e 平台下的q t o p i a 。由于q t 是跨平台c + + 工具,提供统一的 函数接口来屏蔽系统间a p i 的不同,开发的程序具有很好的移植性。 l o 第三章图形组态软件系统开发环境的设计与实现 第三章图形组态软件系统开发环境的设计与实现 3 1 图形组态软件开发环境的功能分析 嵌入式触摸屏图形组态软件不仅要向用户提供友好的人机界面,还要具有丰富的图形 编辑功能与动画显示效果,这是组态软件开发环境的主要任务。 触摸屏图形组态软件必须要实现以下基本操作: ( 1 ) 通过对鼠标的拖放、左击和右击等操作完成图形的绘制和组态的过程,并且可以 根据用户的意愿编辑、添加、删除各个图形或控件对象。 ( 2 ) 能够将组态信息保存在工程文件中,以便多次打开和修改。 ( 3 ) 生成组态软件运行环境可以解析的配置文件并下载到触摸屏终端( 嵌入式平台 ) 。 ( 4 ) 根据需要配置系统运行环境的各项参数。 从实现上来讲可以将上述操作划分成图形控件编辑、工程管理和文件管理等三个功能 模块。本文采用l i n u x w m d o w s 下的q t 工具来设计图形组态软件的系统开发环境。 3 2 图形组态软件开发环境的对象模型 3 2 1 图元对象模型 表3 1 开发环境的基本图元类 类名功能 c l i n e c e l l i s p e c r e c t c p o l y g o n c p o l y g o n c a r c c p i e c c h o r d c 1 e x t c p i x m a p 直线类,通过设置线型和宽度绘制各类直线 椭圆类,负责绘制各类椭圆( 圆) 矩形类,负责记录矩形或圆角矩形的信息 折线类,记录连续线段的信息 多边形类,负责绘制任意多边形 弧线类,绘制基于椭圆或圆的任意弧线 扇形类,记录扇形信息 弦形类,负责弦形的绘制 静态文本类,类似于l a b e l 位图类,负责载入b m p 图 图元对象是组态软件图形系统的基础单元,不管是静态的基本图形还是复杂的组合图 形乃至动画的实现都是建立在图元对象的基础之上的【1 7 】【他l 。在本软件中,主要的图元包括 东南大学硕士学位论文 直线、矩形、椭圆、文本、圆弧、多边形、扇形等,为了能够方便的描述上述各图元,基 于面向对象的设计思想,对图元进行抽象成为图元基类。文中所有图元的基类是抽象类 c e l e m e n t ,它包含了图元的某些相同属性,包括图元的形状、大小、位置、线条设置、填 充设置等【1 9 】。图元间的层次关系如图3 1 ,各图元类的功能分工如表3 1 。 c e l e m e n t 类除了包含图元的基本属性外,还对图元对象的基本操作做了统一规定,这 些操作被定义成虚函数的形式。由于面向对象语言具有多态性,因此图元对象可以根据具 体的情况实现不同的功能。这里以c + + 语言对c e l e m e n t 的主要成员变量和成员函数做了 简单说明。 c l a s sc e l e m e n t p r o t e c t e d : c e l e m e n t 0 ;构造函数 p u b l i c : v i r t u a l - - c e l e m e n t 0 ;析构函数( 定义成虚拟函数是为了实现多态性的要求) v i r t u a lv o i dd r a w ( q l m a g e & ,q r e c tr e c t = q r e c t 0 ) ;绘制图形 v i r t u a lv o i dm o v e ( i n t ,i n t ) ;移动图形 v i r t u a lv o i ds h a p e s c a l e ( f l o a t ) ;缩放图形 w r t u a lv o i ds e r i a l i z e ( q d a t a s t r e a m & ) ;串行化 v l r t u a | v o i dl o a

温馨提示

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

评论

0/150

提交评论