?

基于QT的道岔轉轍機測試界面系統設計

2016-11-30 20:38朱緒昌羅云龍胡延偉蘭州交通大學電子與信息工程學院甘肅蘭州730070
中國新技術新產品 2016年3期

朱緒昌 羅云龍 胡延偉(蘭州交通大學電子與信息工程學院,甘肅 蘭州 730070)

?

基于QT的道岔轉轍機測試界面系統設計

朱緒昌 羅云龍 胡延偉
(蘭州交通大學電子與信息工程學院,甘肅 蘭州 730070)

摘 要:該設計提出了一種基于QT的便攜式道岔轉轍機測試儀界面系統的設計方案,完成了對窗口控件、鼠標鍵盤響應事件等模塊的設計和嵌入式Ubuntu系統下的程序移植。經驗證,系統界面具有配置靈活、人機界面友好的特點,用戶可通過設置轉轍機類型、牽引轉轍機數量、保護時間等參數,以呼叫應答方式,實現該界面系統對轉轍機的實時狀態顯示、動作過程中道岔控制電路有效數據曲線顯示等功能,達到預期效果。

關鍵詞:QT 界面系統;狀態顯示;曲線顯示

本文在以嵌入式Ubuntu的ARM平臺上,利用Qt設計了一種與道岔控制電路驅采模塊相連接的上位機系統,該系統界面具有運行穩定、配置靈活的特點,主要包括用戶主頁界面、曲線界面等部分。在設置轉轍機類型、牽引轉轍機數量、保護時間等參數后,通過呼叫應答方式,實現對多個轉轍機的操作及實時狀態查詢、動作過程中道岔控制電路有效電流及功率曲線顯示。

1 系統設計

該設計以Ubuntu為操作系統,以SAMSUNG公司的S3C6410X為硬件平臺核心控制芯片。校驗裝置以標準鍵盤、鼠標作為輸入設備,7英寸800*600分辨率的彩色LCD作為終端現實屏幕.系統界面的開發工具是Qt-4.7.3,Qt相對于其他界面開發工具,具有跨平臺、面向對象、豐富的API等優點,界面調試可以在PC機上完成,大大提高了開發效率.該界面系統以RS232通信方式與驅采模塊連接,實現對轉轍機的操作與狀態、數據采集。

2 通信實現

QT中并沒有特定的串口控制類,本設計通過第三方qextserialport類實現讀寫操作。QextSerialBase類繼承自QIODevice類,它提供了操作串口所必需的一些變量和函數等,而Posix_QextSerialPort均繼承自QextSerialBase類,并類添加了Linux平臺下操作串口的一些功能。在本設計中使用Posix_QextSerialPort類對象mycom定義串口,包括串口讀寫方式、波特率、數據位、數據流控制等串口設置。

本設計采用信號與槽函數關聯方式實現讀串口緩沖區數據,實現讀寫操作。其方法為設置定時器,固定時間間隔后讀取緩沖區數據。相關代碼如下:

connect(readTimer,SIGNAL(timeout()),this,SLOT(readMyCom()));

讀操作槽函數中,讀取串口緩沖區的所有數據給臨時變量temp,再對臨時變量temp進行處理,根據已定義的數據幀格式采集轉轍機狀態信息與轉轍機動作數據。其讀槽函數實現代碼如下:

QByteArray temp = myCom->readAll();

寫操作槽函數中,以ASCII碼形式將行編輯框中的數據寫入串口。其讀槽函數實現代碼如下:

QByteArraysenddata;

mycom->write(senddata);

本設計中通過串口讀寫操作,建立界面系統與轉轍機驅采模塊的通信,其通信幀主要分為狀態幀與動作數據幀。界面系統向轉轍機驅采模塊發送狀態/動作數據查詢幀,當轉轍機驅采模塊接收到狀態/動作數據查詢幀后采集轉轍機狀態/動作數據,并以返回轉轍機狀態/動作數據數據幀。

3 界面的設計與實現

該界面系統主要包括2個部分:主頁界面、曲線界面。系統開機后進入系統初始化狀態即主頁界面,完成默認選擇。由主頁界面可通過按鍵選擇可進入曲線界面,由曲線界面可返回主頁界面,從而實現界面系統界面之間切換,便于完成對各界面的操作。

3.1主頁界面的設計與實現

根據需求,主頁界面主要包括界面系統的配置選擇部分、轉轍機狀態顯示部分和控制部分。界面系統的配置選擇部分包括轉轍機機型選擇、牽引轉轍機數量選擇和保護時間選擇,并且配置選定后將同步到曲線界面。

3.1.1狀態顯示部分

QT提供QPainter類繪制從簡單的直線到像餅圖和弦這樣的復雜形狀。它也可以繪制排列的文本和像素映射。通常,它在一個“自然的”坐標系統中繪制,但是它也可以在視和世界轉換中做到這些。使用QPainter繪制圖形時,首先使用QPainter類構造繪圖工具,然后定義繪制線、輪廓和文本顏色等,最后設置所畫圖形參數再結束繪制。

QT提供paintEvent(QPaintEvent*)函數實現圖形的重繪,其實現方法如下:

this->repaint();

界面系統與轉轍機驅采模塊通信過程中,界面系統會向轉轍機驅采模塊發送狀態查詢數據幀,轉轍機驅采模塊接收到該數據幀后處理接收到的數據幀,然后由驅采模塊采集轉轍機狀態數據并返回轉轍機狀態數據。界面顯示系統接收到返回的狀態數據幀后進行處理并實現圖形重繪以顯示轉轍機狀態。

3.1.2轉轍機控制部分

本設計采用信號與槽函數關聯方式實現發送定操、反操和急停命令。在發送轉轍機操作命令前需關閉狀態數據幀的發送,點擊對應的操作按鍵。點擊觸發后,槽函數實現發送對應的操作命令幀。其槽函數重要代碼為:

timer_wucao->stop();

t i m e r _ f a n c a o _ d e l a y - > s t a r t (DELAY);

第一行代碼需停止轉轍機狀態查詢幀發送;第二行開啟發送反操命令幀定時器。由于操作多臺轉轍機,故需要設定各臺轉轍機反操操作間隔時間DELAY,以便在完成所操轉轍機后間隔時間DELAY后操作下一臺所操轉轍機。其定時器槽函數重要代碼如下:

QStringbuf_fancao=”FB FB 31 00 00 00 00 A6 00 00 00 00 00 00 00 00 FC FC”;

com_sendcommand.send_datas(buf_ fancao);

代碼第一行是發送反操操作數據幀;第二行是調用串口通信發送函數發送該數據幀。在發送轉轍機操作數據后,繼續發送狀態數據幀的發送,驅采模塊對接收到的數據幀進行處理,轉轍機進行動作,并由轉轍機驅采模塊采集轉轍機狀態反饋給界面系統進行狀態顯示。

3.2曲線界面

本設計中曲線界面用于顯示轉轍機動作過程中有效電流曲線、電壓曲線和功率曲線。在轉轍機動作后,上位機發送要數據命令幀,轉轍機驅采模塊接收到命令后返回轉轍機動作數據??筛鶕枨?,選擇所需曲線類型并顯示。

QWt是一個基于Qt的擴展類庫,包含了大量用于工程開發編程的GUI部件和輔助工具。除了二維繪圖控件類外,它還提供了諸如刻度,滑塊,轉盤等控件類供開發使用。本設計中首先實例化一個QwtPlot,設置x軸坐標軸及其顯示范圍、y軸標軸及其顯示范圍其相關代碼如下:

u i - > q w t P l o t - > s e t A x i s S c a l e (QwtPlot::xBottom, 0, CURVE_DATAS);

u i - > q w t P l o t - > s e t A x i s S c a l e (QwtPlot::yLeft, 0, 300);

代碼第一行設置了所畫曲線X坐標軸的原點及坐標軸顯示范圍參數;代碼第二行設置了所畫曲線Y軸坐標軸的原點及坐標軸顯示范圍參數。

在設置完坐標軸后,需設置畫布背景,也可添加滾輪縮放功能、鼠標拖動功能、添加網格等。在設置好曲線顯示坐標軸及環境后,通過界面系統和轉轍機驅采模塊采集轉轍機有效動作數據并顯示,以采集轉轍機動作數據。

在曲線顯示界面設置有click()觸發信號與相關槽函數的要對應轉轍機動作數據的按鍵,當按下對應按鍵后,觸發對應的槽函數,相關代碼如下:

QStringbuf_a_datas=”FB FB 32 00 00 00 00 00 00 00 00 00 00 00 00 00 FC FC”;

com_sendcommand.send_datas(buf_ a_datas);

代碼第一行為要轉轍機動作數據幀;第二行是調用串口通信發送函數發送該數據幀。轉轍機驅采模塊接收該數據幀,采集轉轍機動作數據并反饋給界面系統。界面系統接收到轉轍機動作數據并顯示,曲線顯示相關代碼如下:

double *x=new double[CURVE_ DATAS];

double *y=new double[CURVE_ DATAS];

curve->setSamples(x, y, CURVE_ DATAS);

ui->qwtPlot->replot();

曲線界面設置有對應動作要數據按鍵,當轉轍機動作完成后,可根據需求點擊要數據按鍵。轉轍機驅采模塊采集轉轍機動作數據,并將數據傳送至曲線界面直觀顯示。

結語

該界面系統采用ubuntu操作系統,具有很好的移植性,同時也具有很好的便攜性,方便供平時轉轍機的測試維修使用。其功能能夠即時顯示道岔的定位、反位、四開等狀態,同時可以通過與轉轍機驅采模塊相連接以觸屏按鍵方式實現對轉轍機定操、反操等驅動功能的操控。界面系統可以曲線形式顯示所需轉轍機動作數據,可對轉轍機性能進行判斷,為道岔的維修提供依據。

參考文獻

[1]李宇麗.基于ARM的嵌入式Linux系統的研究及應用[D].西安電子科技大學,2007.

[2]譚永鋒.嵌入式Linux移植與應用程序開發[D].長安大學,2007.

[3]李艷民.基于Qt跨平臺的人機交互界面的研究和應用[D].重慶大學,2007.

[4]張春艷.基于Qt的嵌入式圖形用戶界面研究與實現[D].大連海事大學,2008.

基金項目:中國鐵路總公司科技研究開發計劃課題(合同編號:2014X008-D)

中圖分類號:U213

文獻標識碼:A

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合