嵌入式开发-基于QNX实时操作系统的图形控制界面设计.pdf
《嵌入式开发-基于QNX实时操作系统的图形控制界面设计.pdf》由会员分享,可在线阅读,更多相关《嵌入式开发-基于QNX实时操作系统的图形控制界面设计.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、信息化纵横 2009年第18期7软件天地 Software Technology欢迎网上投稿 在计算机控制系统中,采用图形界面对被控对象实施控制具有结构清晰、操作方便、界面友好等优点。但目前工业控制等领域采用的图形控制界面开发平台多为通用的组态软件,这种图形控制软件依赖 Windows 平台运行,稳定性和可靠性不高,在工作环境恶劣、可靠性要求高的系统中应用较少。实时操作系统是专门用于实时控制的一类操作系统,相比于常用的分时操作系统,实时操作系统大多拥有微内核,并且通过对结果返回的时间限制来实现程序运行的可预测性,因此具有较高的稳定性和可靠性。近年来,随着实时操作系统在一些可靠性和实时性要求较高
2、的领域的成功应用,实时操作系统得以快速发展。为适应硬件的发展和用户的需求,各大实时系统开发商都开发出适合该系统的图形控制界面,如 VxWorks 的 WindML 和 QNX 的 PhAB。本文在船舶动力装置控制系统设计中,以 QNX 实时操作系统为基础,研究了图形控制界面设计的特点,设计了系统控制程序。1 图形界面开发环境PhAB(Photon Application Builder)是 QNX集成开发环境(QNX Momentics IDE)附带的图形界面编辑器。PhAB 承接了QNX微内核和可优化裁减的优点,使用 PhAB 编写出的系统除用于核心内存保护的微内核和一些必要的核心管理器之外
3、,其他功能都是可选择的。这种设计不仅保证了作为实时系统的高可靠性和实时性,也在很大程度上提高了使用 PhAB 所开发的图形界面控制系统的应用范围1。PhAB 采用所见即所得的控制界面开发模式,并带有常用控件数据库,在控制界面设计时可以直接在界面编辑区域创建工作控件并进行所需设置,而无需程序编写。基于 QNX 的控制界面和程序设计支持主机目标机的开发模式,主机用于界面和程序的设计编写,目标机用于运行编译好的程序。主机可以是装有 Windows或 Linux等常用操作系统的 PC,且支持多人同时对同一系统进行开发。本系统的控制界面和程序就是在装有 QNX MomenticsIDE 4.0.1的 W
4、indows XP操作系统的 PC上进行设计的。2 软件设计系统软件设计分 2 个部分:一部分是系统控制界面设计,QNX 提供了多种方式对控制界面进行个性化设置,可以在 PhAB 中创建编辑,也可以使用 QNX 提供的函数进行编写;另一部分为控制系统程序设计,QNXMomentics IDE 支持多种语言对基于 QNX 的应用程序进行开发,包括 Java、C 和 C+等。基于QNX实时操作系统的图形控制界面设计石 峰,胡大斌,胡锦晖(海军工程大学 船舶与动力学院,湖北 武汉 430033)摘 要:介绍了在 QNX 实时操作系统图形界面开发环境 PhAB 下软件设计的特点,并结合船舶动力装置控制
5、系统的具体要求,设计了船舶动力装置控制系统图形控制界面和程序。关键词:QNX;PhAB;船舶动力装置;图形界面 中图分类号:TP274 文献标识码:ADesign of graphics control interface based on QNX RTOSSHI Feng,HU Da Bin,HU Jin Hui(College of Naval Architecture and Power,Naval University of Engineering,Wuhan 430033,China)Abstract:The characteristics of software design in
6、 QNX RTOS s photon application builder(PhAB)are described in this paper.Combining withdetail requirments of control system on marine power,design the photon interface and program of this system.Key words:QNX;PhAB;marine power;photon interface电子技术应用 w w w.Ch i n a AET.c o m电子技术应用 w w w.Ch i n a AET.c
7、 o m8信息化纵横 2009年第18期软件天地 Software Technology2.1 界面设计控制界面部分的设计主要在 PhAB 中完成。PhAB 以类的方式定义每一个控件,共有 76 个控件类,其中大部分在 PhAB 中都有相应的图标与之对应,控件的总父类为 PtWidget。每个控件类由多个不同的资源(resources)来定义,例如在文本控件(PtText)中,字体的类型、大小、颜色都是该控件的资源。值得注意的是,PhAB 中不允许两个控件拥有同一个名字,并且一个控件被创建后,系统将为该控件指定一个由前缀“ABN_”加控件名组成的局部变量名和一个由前缀“ABW_”加控件名组成的
8、指向该控件的指针,当需要调用该控件时,可以直接使用为其分配的局部变量名或指针。以资源的方式定义控件类提高了控件编辑的效率。QNX 提供了多个函数对控件的资源进行读写操作,常用到的如 PtSetResources()和 PtGetRosources()就是对控件类的单个或多个资源进行读写操作的函数。系统中各种控件状态变化频繁,需要经常对控件的一个或几个资源进行更改,如下所示为系统中使某个阀件标识背景图形变换的程序片段:PtArg_t arg2;/定义控件资源的数据结构PhImage_t*image;/*以下是对控件资源的读取和设置*/PtSetArg(&arg1,Pt_ARG_ARM_IMAGE
9、,&image,0);PtGetResources(ABW_Button1,1,&arg1);PtSetArg(&arg1,Pt_ARG_ARM_IMAGE,image,0);PtSetResources(ABW_Button2,1,&arg1);PtBkgdHandlerProcess();在 PhAB 中,不仅可以将不同的控件组合成一个只具有它们共同属性的组合控件,还可以将个性化的控件类定义为自己的模板,下次需要使用同类型控件时,只需直接调用即可。同时,PhAB 还提供了一个叫做类型转换(Change Class)的强大功能。顾名思义,类型转换就是可以任意改变控件所属的类,而控件的类又是控
10、件所有属性的集合。使用此功能不仅可以随意改变控件的类型,还可以方便地制作形状不同的各类控件。如若制作一个特殊形状的按钮控件,只需把控件的形状在绘图软件上画好后导入 PhAB 中,再使用类型转换的功能将其定义为一个 PtButton 控件就可以了。图 1 为系统控制界面的截图,图中线条、方框和各种按钮都作为一个或几个控件类而存在,控制面板对系统相关部分进行控制,被控对象的不同状态将以不同的颜色在界面的对应标识上表示。PhAB 为每个控件提供十余种程序调用方式,常用到的有按下调用(Armed)、点击调用(Activated,点击为一图 1 控制界面截图电子技术应用 w w w.Ch i n a A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 开发 基于 QNX 实时 操作系统 图形 控制 界面设计
限制150内