基于Linux的司机控制屏控制软件的开发
2014-12-30刘璇
刘璇
摘 要:伴随着中国经济快速持续增长,铁路交通运输行业也得到了突飞猛进的发展,对于铁路运行安全和运行可靠性的要求也越来越高,提高了对能为机车的安全运行提供重要保证的司机控制屏的要求,所以借助现行先进的网络控制系统和控制技术,以开发更好的应用于司机控制屏的控制技术已经成国内外课题研究的重点。该文选择嵌入式Linux操作系统作为开发平台,利用专业跨平台C++图形用户界面Qt软件来实现司机控制屏控制软件的开发。介绍了机车车辆的功能以及司机显示屏的结构的基础上,描述了运用Linux和Qt软件将两者有机结合到一起,制作机车车辆司机的操作显示界面。
关键词:司机控制屏 嵌入式Linux Qt软件 人机交互界面
中图分类号:TP311 文献标识码:A 文章编号:1674-098X(2014)11(a)-0013-02
1 课题背景和意义
目前中国大量的长距离物资运输和中长途旅客运输主要由铁路承担,每年完成的旅客周转量约占全社会旅客周转量1/3以上,完成货物周转量约占全社会货物周转量的55%。于此同时,国家经济的持续发展带动了社会对于我国各种产业的需求,而越来越大的需求又带动了基础铁路设施的建设。
要发挥铁路在经济社会发展中的重要作用,必须确保铁路运输的安全,机车本身的运行或行驶中的安全控制和监督尤为重要。机车工作所用到的设备非常多,不可能人为地合理监测控制每一个设备。司机控制屏是机车上完成人机对话和系统信息显示及反馈的重要设备,它为司机正确操作和控制机车、及时掌握机车工作状况起到了至关重要的作用。在实际运用中,机车控制屏能够将机车的相关设备状态、故障信息和安全行车信息等以图像和文字的形式反映给司机,以便有效地指导机车司机进行相关操作,为机车的安全运行提供了重要的保证。
鉴于司机控制屏的重要作用,支撑其正常稳定运行的控制系统及控制软件便成为了其中的关键。而随着网络控制技术和信息交互管理技术的不断发展,相关控制技术也得到了很大的提升,采用数字系统和微机系统的控制系统在国内外已经得到了广泛的应用。因此,为了能够增强司机控制屏对于机车状态的监测和控制,并能更好地反映给司机,指导司机对机车进行操作和控制,以便提高机车运行过程中的安全性,基于相关控制系统的司机控制屏控制软件的开发已经变的势在必行。
2 系统硬件选择
对于系统硬件的选型,需要遵循的原则有:统一规则、高可用性、高扩展性、高安全性、高可维护性和合适性价比等。该文涉及的司机控制屏控制软件开发的硬件平台搭建就要依据以上原则进行。
3 Linux的裁剪与移植
3.1 Linux介绍
Linux是一种自由和开放源码的类Unix操作系统,这种系统可以看作Unix操作系统的一种克隆系统。它诞生于1991年,具有开发性、良好的应用性、多任务和多用户的性能、系统可移植性特性、独立性使用特性和通用网络链接的优点,之后借助于Internet网络,并在全世界各地计算机爱好者的共同努力下,Linux系统成为今天世界上使用最多的一种Unix类操作系统,并且使用人数还在迅猛增长。
3.2 建立交叉编译环境
交叉编译环境,简单地说就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓的平台,实际上包含两个概念:体系结构(Architecture)和操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;而同一个操作系统也可以在不同的体系结构上执行。这种环境的搭建需要专门的编译工具和开发系统来实现,而一个完整的编译开发系统和环境有需要其相应的组态控件组成。
3.3 Linux内核剪裁
嵌入式系统具备的最大的优点主要表现在它们的专用性及可裁剪性上。可裁剪性主要表现在剪裁掉无用的系统安装程序,将本系统用到的系统配置项保留。现在实时Linux操作系统内核的剪裁配置方法都是集中在源代码基础上,通过配置工具生成配置文件,然后条件编译生成目标系统内核。
3.4 配置Busybox
BusyBox是一个集成了很多个常用Linux命令和工具的应用程序。这里面的系统命名有一些是对系统进行简单访问的函数,比如ls;也有一些系统命令是相对难掌握的系统命令函数,比如grep。所以,它可以看作一种工具盒。
3.5 U-Boot移植
系统上电之后,需要进行初始化:关闭WATCHDOG、改变系统时钟、初始化存储控制器、将更多的代码复制到内存中等。如果它能将操作系统内核复制到内存中运行,无论从本地,比如Flash,还是从远端,比如网络,就称这段程序为Bootloader。通过串口或网络从PC下载烧写文件、将存储在Flash上压缩的文件解压后再运行等,这样的Bootloader是比较强大的,也叫做Monitor。
4 GUI Qt用户界面开发
4.1 GUI简介
GUI是Graphical User Interface的缩写,即图形用户接口。顾名思义GUI就是将计算机的用户操作界面用图形的样式呈现出来。通过这种图形的方式,降低了产品的使用难度,提高了系统的人性化水平,使产品更具有视觉效果,达到了使产品性能优化的目的,满足了客户的操作需求。
4.2 Qt介绍
Qt是一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程,具有优秀的跨平台特性、可移植的微处理器体系结构和丰富的API等优点。
4.3 图形用户界面开发
司机控制屏图形用户界面开发软件为基于嵌入式Linux操作系统,利用开源软件Qt Designer设计器开发编译完成。它的操作界面类似于Windows下的Visual Studio,而且它还提供了相当多的部件资源。在编译Qt源码的时候,也同时生成了可执行程序designer。
司机控制屏显示单元主机内的运行软件结构,应该包括交互界面、应用软件和底层软件三个部分。三个部分由以下几个模块组成:网络协议栈模块、故障数据解析和诊断模块、运行数据解析和显示模块、人机交互界面模块。
4.4 系统联调
通过对系统软件部分的开发,结合硬件平台,基本上完成了对基于Linux的司机控制屏控制软件的开发,下面给出系统联调时得到的一个司机显示单元界面图。(见图1~4)
参考文献
[1] 安成锦,孙茂阳,李跛.基于嵌入式Linux系统的MiniGui图形界面开发[J].西安:现代电子技术,2005,28(20):108-110.
[2] 白玉霞,刘旭辉,孙肖子.基于Qt/Embedded的GUI移植及应用程序开发[J].北京:电子产品世界,2005(7):98-105.
[3] 陈喜红.国内外地铁车辆技术的发展趋势[J].电力机车技术,2002,25(6):28.
[4] 陈莉君.Linux操作系统内核分析[M].北京:人民邮电出版社,2000.
[5] 陈俊宏.Embedded Linux嵌入式系统原理与实务[M].北京:中国铁道出版社,2004:234-248.
[6] 曾青中,韩增盛.城市轨道交通车辆[M].成都:西南交通大学出版社,2009.
[7] 丁青艳,张秀媛.铁路信号故障诊断专家系统基本结构设计[M].北京:铁路计算机应用,2005,17(5):27-32.
[8] 韩存兵,龚波.构建嵌入式Linux系统[M].北京:中国电力出版社,2006:14-39.
[9] 何剑锋.嵌入式Linux系统的Qt/Embedded图形界面开发[J].南京:电子工程师,2007(7):46-52.
[10] 纪君峰.基于QT/E的嵌入式系统研究及应用[D].北京:北京邮电大学,2008.
司机控制屏图形用户界面开发软件为基于嵌入式Linux操作系统,利用开源软件Qt Designer设计器开发编译完成。它的操作界面类似于Windows下的Visual Studio,而且它还提供了相当多的部件资源。在编译Qt源码的时候,也同时生成了可执行程序designer。
司机控制屏显示单元主机内的运行软件结构,应该包括交互界面、应用软件和底层软件三个部分。三个部分由以下几个模块组成:网络协议栈模块、故障数据解析和诊断模块、运行数据解析和显示模块、人机交互界面模块。
4.4 系统联调
通过对系统软件部分的开发,结合硬件平台,基本上完成了对基于Linux的司机控制屏控制软件的开发,下面给出系统联调时得到的一个司机显示单元界面图。(见图1~4)
参考文献
[1] 安成锦,孙茂阳,李跛.基于嵌入式Linux系统的MiniGui图形界面开发[J].西安:现代电子技术,2005,28(20):108-110.
[2] 白玉霞,刘旭辉,孙肖子.基于Qt/Embedded的GUI移植及应用程序开发[J].北京:电子产品世界,2005(7):98-105.
[3] 陈喜红.国内外地铁车辆技术的发展趋势[J].电力机车技术,2002,25(6):28.
[4] 陈莉君.Linux操作系统内核分析[M].北京:人民邮电出版社,2000.
[5] 陈俊宏.Embedded Linux嵌入式系统原理与实务[M].北京:中国铁道出版社,2004:234-248.
[6] 曾青中,韩增盛.城市轨道交通车辆[M].成都:西南交通大学出版社,2009.
[7] 丁青艳,张秀媛.铁路信号故障诊断专家系统基本结构设计[M].北京:铁路计算机应用,2005,17(5):27-32.
[8] 韩存兵,龚波.构建嵌入式Linux系统[M].北京:中国电力出版社,2006:14-39.
[9] 何剑锋.嵌入式Linux系统的Qt/Embedded图形界面开发[J].南京:电子工程师,2007(7):46-52.
[10] 纪君峰.基于QT/E的嵌入式系统研究及应用[D].北京:北京邮电大学,2008.
司机控制屏图形用户界面开发软件为基于嵌入式Linux操作系统,利用开源软件Qt Designer设计器开发编译完成。它的操作界面类似于Windows下的Visual Studio,而且它还提供了相当多的部件资源。在编译Qt源码的时候,也同时生成了可执行程序designer。
司机控制屏显示单元主机内的运行软件结构,应该包括交互界面、应用软件和底层软件三个部分。三个部分由以下几个模块组成:网络协议栈模块、故障数据解析和诊断模块、运行数据解析和显示模块、人机交互界面模块。
4.4 系统联调
通过对系统软件部分的开发,结合硬件平台,基本上完成了对基于Linux的司机控制屏控制软件的开发,下面给出系统联调时得到的一个司机显示单元界面图。(见图1~4)
参考文献
[1] 安成锦,孙茂阳,李跛.基于嵌入式Linux系统的MiniGui图形界面开发[J].西安:现代电子技术,2005,28(20):108-110.
[2] 白玉霞,刘旭辉,孙肖子.基于Qt/Embedded的GUI移植及应用程序开发[J].北京:电子产品世界,2005(7):98-105.
[3] 陈喜红.国内外地铁车辆技术的发展趋势[J].电力机车技术,2002,25(6):28.
[4] 陈莉君.Linux操作系统内核分析[M].北京:人民邮电出版社,2000.
[5] 陈俊宏.Embedded Linux嵌入式系统原理与实务[M].北京:中国铁道出版社,2004:234-248.
[6] 曾青中,韩增盛.城市轨道交通车辆[M].成都:西南交通大学出版社,2009.
[7] 丁青艳,张秀媛.铁路信号故障诊断专家系统基本结构设计[M].北京:铁路计算机应用,2005,17(5):27-32.
[8] 韩存兵,龚波.构建嵌入式Linux系统[M].北京:中国电力出版社,2006:14-39.
[9] 何剑锋.嵌入式Linux系统的Qt/Embedded图形界面开发[J].南京:电子工程师,2007(7):46-52.
[10] 纪君峰.基于QT/E的嵌入式系统研究及应用[D].北京:北京邮电大学,2008.