2024年3月17日发(作者:)
开发与应用 计算机与信息技术 ·3·
基于QT的工程机械监控和
诊断系统的设计与实现
李青松 周晓光 周慧玲
(北京邮电大学 自动化学院,北京 100876)
摘 要
近年来工程机械以电子、信息技术为先导,计算机辅助驾驶系统、信息管理系统及故障诊断系统、电子监控
和自动报警等系统有了长足发展。本文通过以PXA270硬件平台、QT为开发工具、CAN和串口为通讯方式,开发出了适用
于工程机械的监控和诊断的应用程序。
关键字
工程机械;监控;诊断;QT
1 引言
传统工程机械的仪器仪表,电气控制系统是独立显示和
控制的。这种设计使控制系统特别臃肿,操作手监控和管理信
息的难度大,工作效率低。随着计算机技术、微电子技术、信
息技术和自动控制技术等在工程机械的应用,基于嵌入式平台
开发人机交互界面,实现工程机械的监控和诊断成为热点
[1]
。
生存。图1显示了QT for Embedded Linux的实现结构。
本文采用PXA270硬件平台、QT/Embedded图形工具,开
发了模拟工程机械状态的仪器仪表,通过调用QT数据库
SQLite,运用CAN总线、RS232/RS485串口进行信息传输,实
现了对工程机械的状态监控和故障的预测评估诊断。
图1 QT for Embedded Linux的实现结构
3 开发环境
3.1 硬件环境
UP-EM4000_PXA270硬件平台是一款比较理想的工程
机械监视器应用开发系统。该平台采用了高性能(520MHz
主频)和低功耗的Intel PXA270处理器,64MB SDRAM,
128MB NAND FLASH以及16MB的NOR FLASH,6.4英寸的
640*480分辨率的SHARP TFT LCD,2路CAN总线的接口,1
路10/100Mb的以太网接口,2个PAL制式的AV接口,1个USB
接口,2路RS-232接口或1路RS-232接口+1路RS-485接口,
以及8个功能键。UP-EM4000_PXA270硬件平台还支持GPS
定位以及GPRS通信功能扩展,可以完成对工程车地理位置和
各种运行状态的集中监控。
UP-EM4000_PXA270硬件平台移植了Linux2.6的内核作
为操作系统,yaffs的文件系统以及QT4的库,方便用户直接
进行应用程序的开发和移植。
3.2 软件环境
为了开发满足功能的应用程序,本文采用的软件环境是
Vmware Work Station虚拟机+Fedora 8 Linux操作系统、
2 QT 概述
QT是前挪威Trolltech公司所开发的一个跨平台
FrameWork环境,在X环境下可以看作是一套功能完整的用
户界面工具包,是开源的桌面系统KDE的基石。它采用类似
C++的语法,并且具备物件导向功能。和Java的“一次编译,
到处运行”的跨平台不同的是,QT是源码级的跨平台。“一
次编写,随处编译”的特性可以让使用QT编写的应用程序,
移植到Microsoft Windows 95/98/2000、Microsoft Windows
NT、MacOS X、Linux、Solaris、HP-UX、Tru64 (Digital
UNIX)、Irix、FreeBSD、BSD/OS、SCO、AIX等许多平台
。
Trolltech公司也针对嵌入式系统,推出了相应的版本,可
以在多种处理器上运行。在QT4.0以前,嵌入式版本称为
QTopia Core;QT4.0以后,变改名为QT for Embedded Linux。
与桌面版本不同的是,QT for Embedded Linux整合了所有功
能,应用程序直接使用frame buffer,取代了X Server及X
Library等角色。同时它还采用模块化设计,可裁剪性强,最
小可压缩到800Kb左右,该特性让其更适合在嵌入式环境下
[2]
·4· 计算机与信息技术 开发与应用
HMI_Developer。
Vmware work station虚拟机 + Fedora 8 Linux操作系统,
是为了建立QT for Embedded Linux的交叉编译环境,生成可
以移植到UP-EM4000-PXA270的QT库文件。
HMI_Developer是一个集QT for Windows和Cygwin的组
态软件编程环境,并包含了自主开发的一系列的工程机械常
用的控件,大大减轻了开发者的开发难度。其中QT for
Windows用来程序编辑,Cygwin是Windows下的一种
Unix/Linux环境,用来建交叉编译环境,用来编译生成下位机
的可执行程序。
图2 PXA270硬件平台结构图
4 应用程序开发
通过分析工程机械的一些共有特征和存在一些问题,要
实现工程机械的监控和诊断,应用程序需要满足下面几个部
分。
(1)工程机械上的一些基本的状态要在监控器上显示出
来,比如油量、油温、发动机转速、相对水平位置、车速等。
(2)工程机械的智能控制需要通过监控器来操作,比如
仪器开关、指示灯开关等。
(3)工程机械的报警记录和常见故障的预测评估,比如
转速过快、传感器故障、数据传输故障等。
4.1 基于QT控件开发工程机械监控的实现
Hmi_developer已经包含了qt4提供的一些窗口控件,比
如按键、进度条、菜单等;但为了模拟工程机械的仪器仪表
状态,需要开发仪表盘、指示灯、相对水平位置等控件。
根据QT4提供的接口,创建扩展需要从QObect和相应
的基类继承并实现相应的函数。为了使QT原对象系统直接
调用,要使用Q_INTERFACES()宏。以开发相对水平位置
position控件为例,开发水平控件position插件头文件应包含
如下。
Class Position:public QObject,
Public QDesignerContainerExtension
{ Q_OBJECT
Q_INTERFACE(QDesignerContainerExtension)
}
完成整个水平控件功能后,在QT command Prompt和
QT-arm command Prompt中运行make install编译安装,将编
译产生的各文件,安装到相应目录。最后写.pro文件,更新
工程的编译时使用的库文件,如下。
CONFIG(release, debug|release) {
QMAKE_LIBS += -lcustomplugin -lposition
}
CONFIG(debug, debug|release) {
QMAKE_LIBS += -lcustomplugind -lpositiond
}
4.2 基于QT数据库工程机械诊断的实现
为了实现工程机械的报警记录和常见故障的预测评估,
可以通过调用QT数据库SQLite接口。将常见的故障分别给
一个特定的ID号,通过调用QT的数据库功能,做成智能专
家信息表;同样,当接收到报警故障信息的时,把报警故障
信息,存入报警故障信息表,再通过查询智能专家信息表,
得出如何解决当前报警故障的方法。
在创建的QT应用程序里面,以“QSQLITE”为数据库
类型,以“:Diagosis_System:”为数据库名,创建一个SQLite
数据库。即:
QSqlDatabase db = QSqlDatabase::addDatabase
(“QSQLITE”);
abaseName(“Diagosis_System”);
然后用QSqlQuery类创建数据库表“Expert_System”和
“Alarm”,将常见这些报警故障信息存“Expert_System”表,
报警记录存“Alarm”表。以插入一条Expert_System信息为
例:
QSqlQuery query(“INSERT INTO Expert_System(id,
suggestion)”
“VALUE(1,’电压过低,请充电’)”);
将插入的报警记录,通过读到该报警记录的ID号,比
如5,通过查询“Expert_System”表的ID号,得到解决方案。
QSqlQuery query;
(“SELECT suggestion FROM Expert_System
WHERE id=5”);
4.3 应用程序实例
以挖掘机为工作对象,开发了如图3、图4所示的实用
程序实例。通过挖掘机上的传感器采集数据,通过控制器和
高速的CAN总线传送到PXA270硬件平台解析,应用程序得
到解析后的数据,动态的显示当前挖掘机的各种状态和报警
开发与应用 计算机与信息技术 ·5·
情况。试用中,经过多次模拟测试,在数据通信、智能控制、
数据库操作上,都有良好的效果。图3显示了基本状态的监
控界面,图4显示了报警故障记录的记录情况,以及如何查
询所选报警故障的解决方法。
5 结束语
运用嵌入式GUI来对工程机械的状态监控和诊断,增加
了工程机械的使用安全性,提高了操作手的舒适性,有益于
工程机械的发展。本文基于CAN总线接口和RS232/485串口
接口,对工程机械的各种状态信息进行接收,并给以处理,
比如显示状态、开关动作等;还可以通过键盘编辑数据,通
过CAN和RS232/485传输数据,完成工程机械的控制。
参考文献
[1]张金兴.《对工程机械发展的思考》。工程机械,2001.12
[2]蔡志明,卢传富,李立夏等.《精通QT4编程》。北京:
电子工业出版社,2008.1
[3]王田苗.《嵌入式系统设计与实例开发》。北京:清华
大学出版社,2002
[4]邬宽明.《CAN总线原理和应用系统设计》。北京:北
京航空航天大学出版社,1996
[5]李玉河,吴国祥,邵善锋. 嵌入式电子控制器开发及
在装载机上的应用.中国工程机械学报.2008.9
收稿日期:11月11日 修改日期:11月30日
作者简介:李青松(1985-),男,硕士研究生,研究方
向:物流自动化和信息化;周晓光(1957-),男,教授,博
士生硕士生导师,研究方向:电子商务与自动化物流系统,
无线通信技术应用;周慧玲(1965-),女,副教授,研究方
向:测控网络及嵌入式系统、无线传感器网络。
图3 状态监控
图4 报警故障诊断
(上接第2页)
firstnewS = firststart;
firstnewE = pTemp1;}
3.3 属性合并关键技术
济大学学报,Vol28(1)
[2] 秦洪现,崔惠岚,孙剑. Autodesk系列产品开发培训
教程. 北京:化学工业出版社,2008
[3] (美)Sham Tickoo. AutoCAD 2000 高级定制. 北京:
机械工业出版社,2001
[4] (美)David Simon. Visual C++6 编程宝典. 北京:
电子工业出版社,2006
[5] 李长勋. AutoCAD ObjectARX 程序开发技术. 北京:
国防工业出版社,2005
收稿日期:10月30日 修改日期:11月30日
作者简介:周醉(1979-),男,硕士研究生,研究方向:
测绘工程。
在地形图中涉及到属性合并的地理实体包括等高线、建
筑物、水系线等拓扑信息。对于这类信息的属性的合并,在
拼接前将原实体上的属性数据记录在数据库中,然后在新的
合并后的实体生成后,再从数据库中读取相应的数据,并加
载于实体的扩展数据中。
4 结论
本文所用的方法对于线状实体和面状实体的接边是切实
可行的,保证了地形图在拼接过程中的准确性和高效率性。
参考文献
[1] 华慧,童小华.数字化地图的自动接边及其精度[J].同


发布评论