摘 要:针对制动显示屏装车软件的有效性、安全性和可靠性要求,在分别对嵌入式操作系统W inCE和Linux,以及两种系统下的VB.NET和QT开发工具进行分析、比较的基础上,选择出制动显示屏软件开发的最优化方案。
关键词:制动显示屏;WinCE;Linux;VB.NET;QT
1 制动显示屏概述
随着列车速度的不断提高和重载技术的发展,安全稳定的制动技术是关系到铁路行车安全的关键问题。因此,对列车制动机工作状态的监控技术显得尤为重要,高性能的制动显示屏已成为列车制动机的标准配件。目前,代表制动机先进技术的克诺尔公司和法维莱公司,它们所生产的制动机,都专门配备了与之相匹配的制动微机显示屏,已在国内和谐型系列大功率电力机车上得以应用。南车株机公司在研制新一代具有微机控制和网络通讯的DK-2制动机中,为符合先进制动机的发展要求,也需要为制动机配备制动显示屏。而要保证其装车软件的有效性、安全性和可靠性,选择安全稳定的底层操作系统、功能强大的图形化用户界面设计工具,对提高制动系统的信息化程度和机车安全可靠运行具有重要意义。
2 制动显示屏软件的底层平台选择
目前应用于制动显示屏软件开发的底层平台主要有WinCE和Linux两种嵌入式操作系统,哪一种更适合机车制动显示屏的界面显示和网络通讯,对此进行以下分析。
2.1 WinCE与Linux概述
W inCE具有模块化、结构化、基于Win32应用程序接口和与处理器无关等特点。在WinCE平台上可以使用Windows 95/98上的编程工具(如VB、VC++等)、使用同样的函数、使用同样的界面风格。所以,基于此平台的开发相对较容易,但它支持的硬件平台较少,主要应用在消费电子领域。
Linux是一个多用户、多任务、多平台的操作系统,支持多种硬件平台;支持多种文件系统;全面支持TCP/IP网络协议。同时,它还有自己优秀的图形化用户接口。主要应用在移动计算平台、智能工业控制、金融业终端系统,甚至军事等领域。
2.2 WinCE与Linux比较分析
从以下几个主要技术参数来对两个操作系统进行对比:
1)从可定制性来看,Linux由于源代码开放,用户可以自己编译。并且它独特的内核模块机制,用户可以根据需要,实时地将某些模块插入到内核中或从内核中移走。WinCE虽然也是一个开放的32位嵌入式操作系统,但由于其是非开放性OS,使其用户很难实现自行定制。
2)从可靠性和稳定性来看,Linux系统内核精简、高效且稳定,能够充分发挥硬件的功能,因此,它的运行效率更高。在稳定性上,它提供了完全的内存保护,每个进程都运行在自己的虚拟地址空间中,不会损坏其他进程或内核使用的地址空间。而WinCE在这方面就比较笨拙,占用了过多的RAM。
3)从网络通讯的精准性来看,Linux的组网能力非常强大,它的TCP/IP代码是最高级的。它的内核提供了对包括十兆位、百兆位及千兆位的以太网络,还有无线网络、令牌环和光纤甚至卫星的支持。这些特性使得基于该平台开发的系统信息化程度更高。而WinCE发展到最新的版本,网络功能也比较强大,但较前者还是较弱。
但Linux比较于WinCE,也有自己的弱点:开发难度较大;核心调试工具不全,调试不太方便,尚没有很好的用户图形界面;系统维护难度大。
2.3 分析结果
在对2个操作系统综合分析之后,针对制动显示屏安全稳定和信息化的高要求,选择可定制性高、安全性和可靠性强大、网络功能强大的Linux作为制动显示屏软件开发的底层平台较于WinCE更能满足机车软件装车的使用要求。
3 制动显示屏软件的开发工具选择
目前应用于制动显示屏软件开发的上层开发工具主要有VB.NET和QT,哪一种更适合制动显示屏应用层的图形化和网络信息化,对此进行以下分析。
3.1 VB.NET与QT概述
VB.NET集成在Visual Studio.NET 7.0中,与VC++7.0及C#组成了“.NET”构架。VB是Windows环境下的一种简单、易学的编程语言,开发的程序快速、高效。但它只是半面向对象的语言,面向对象的能力及程序的执行效率不高,因此,大的项目很少使用它来做开发。
QT是跨平台的C++图形用户界面应用程序框架。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。自进入商业领域后,基本上同Windows平台上的MFC是同类型的东西,但QT是流行Linux桌面环境KDE的基础,具有优良的跨平台特性、面向对象、丰富的API、大量的开发文档等优点。
3.2 VB.NET与QT比较分析
在VB.NET开发环境中,创建应用程序需要以下几个步骤:①新建工程;②创建应用程序的用户界面;③设置用户界面中各对象的属性;④编写程序功能代码;⑤保存运行程序;
由于VB.NET没有专门生成.exe文件的选项,最后还需要经过至少一次的编译创建可执行的文件,才能实现程序的调试运行。
而在QT开发环境下,以DK-2制动显示屏主界面的应用程序创建为例,需经过以下过程实现。
1)新建工程,命名之后进入程序编写界面,如图1所示。

图1 用户编辑界面

图2 DK-2制动显示屏主界面
2)双击.ui文件,进入界面设计器编辑状态开始进行用户界面的编辑,如图1所示,在控件容器栏拖拽所需的控件,在对象监视器中修改各控件的属性。然后,利用QT的信号和槽机制、图形绘制和C++算法等,编辑实现应用程序功能的头文件和源文件,最终实现制动显示屏主界面的程序编写。
3)最后通过编译调试程序,运行结果如图2所示。
由以上可以看出QT比较于VB.NET,功能更多,尤其QT提供的一种称为信号与槽的机制,使得两个对象间的通信比传统的VB.NET程序间采用回调函数的形式简单得多,实现更方便。
3.3 分析结果
在对两种开发工具综合分析之后,QT是与Linux底层平台相匹配的、图形化操作功能强大、网络通信方便的开发工具,而VB.NET是不支持Linux的。因此,针对制动显示屏底层的Linux平台,我们采用QT进行上层应用程序的开发。
4 结语
在分别对嵌入式操作系统WinCE和Linux,以及2种操作系统下的开发工具VB.NET和QT进行分析、比较之后得出,制动显示屏的软件开发底层选用Linux,上层选用QT,是提高制动系统信息化程度和机车运行可靠安全的最优化选择。