999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于QT的道岔轉(zhuǎn)轍機測試界面系統(tǒng)設(shè)計

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

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

?

基于QT的道岔轉(zhuǎn)轍機測試界面系統(tǒng)設(shè)計

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

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

關(guān)鍵詞:QT 界面系統(tǒng);狀態(tài)顯示;曲線顯示

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

1 系統(tǒng)設(shè)計

該設(shè)計以Ubuntu為操作系統(tǒng),以SAMSUNG公司的S3C6410X為硬件平臺核心控制芯片。校驗裝置以標(biāo)準(zhǔn)鍵盤、鼠標(biāo)作為輸入設(shè)備,7英寸800*600分辨率的彩色LCD作為終端現(xiàn)實屏幕.系統(tǒng)界面的開發(fā)工具是Qt-4.7.3,Qt相對于其他界面開發(fā)工具,具有跨平臺、面向?qū)ο蟆⒇S富的API等優(yōu)點,界面調(diào)試可以在PC機上完成,大大提高了開發(fā)效率.該界面系統(tǒng)以RS232通信方式與驅(qū)采模塊連接,實現(xiàn)對轉(zhuǎn)轍機的操作與狀態(tài)、數(shù)據(jù)采集。

2 通信實現(xiàn)

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

本設(shè)計采用信號與槽函數(shù)關(guān)聯(lián)方式實現(xiàn)讀串口緩沖區(qū)數(shù)據(jù),實現(xiàn)讀寫操作。其方法為設(shè)置定時器,固定時間間隔后讀取緩沖區(qū)數(shù)據(jù)。相關(guān)代碼如下:

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

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

QByteArray temp = myCom->readAll();

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

QByteArraysenddata;

mycom->write(senddata);

本設(shè)計中通過串口讀寫操作,建立界面系統(tǒng)與轉(zhuǎn)轍機驅(qū)采模塊的通信,其通信幀主要分為狀態(tài)幀與動作數(shù)據(jù)幀。界面系統(tǒng)向轉(zhuǎn)轍機驅(qū)采模塊發(fā)送狀態(tài)/動作數(shù)據(jù)查詢幀,當(dāng)轉(zhuǎn)轍機驅(qū)采模塊接收到狀態(tài)/動作數(shù)據(jù)查詢幀后采集轉(zhuǎn)轍機狀態(tài)/動作數(shù)據(jù),并以返回轉(zhuǎn)轍機狀態(tài)/動作數(shù)據(jù)數(shù)據(jù)幀。

3 界面的設(shè)計與實現(xiàn)

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

3.1主頁界面的設(shè)計與實現(xiàn)

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

3.1.1狀態(tài)顯示部分

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

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

this->repaint();

界面系統(tǒng)與轉(zhuǎn)轍機驅(qū)采模塊通信過程中,界面系統(tǒng)會向轉(zhuǎn)轍機驅(qū)采模塊發(fā)送狀態(tài)查詢數(shù)據(jù)幀,轉(zhuǎn)轍機驅(qū)采模塊接收到該數(shù)據(jù)幀后處理接收到的數(shù)據(jù)幀,然后由驅(qū)采模塊采集轉(zhuǎn)轍機狀態(tài)數(shù)據(jù)并返回轉(zhuǎn)轍機狀態(tài)數(shù)據(jù)。界面顯示系統(tǒng)接收到返回的狀態(tài)數(shù)據(jù)幀后進行處理并實現(xiàn)圖形重繪以顯示轉(zhuǎn)轍機狀態(tài)。

3.1.2轉(zhuǎn)轍機控制部分

本設(shè)計采用信號與槽函數(shù)關(guān)聯(lián)方式實現(xiàn)發(fā)送定操、反操和急停命令。在發(fā)送轉(zhuǎn)轍機操作命令前需關(guān)閉狀態(tài)數(shù)據(jù)幀的發(fā)送,點擊對應(yīng)的操作按鍵。點擊觸發(fā)后,槽函數(shù)實現(xiàn)發(fā)送對應(yīng)的操作命令幀。其槽函數(shù)重要代碼為:

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);

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

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);

代碼第一行是發(fā)送反操操作數(shù)據(jù)幀;第二行是調(diào)用串口通信發(fā)送函數(shù)發(fā)送該數(shù)據(jù)幀。在發(fā)送轉(zhuǎn)轍機操作數(shù)據(jù)后,繼續(xù)發(fā)送狀態(tài)數(shù)據(jù)幀的發(fā)送,驅(qū)采模塊對接收到的數(shù)據(jù)幀進行處理,轉(zhuǎn)轍機進行動作,并由轉(zhuǎn)轍機驅(qū)采模塊采集轉(zhuǎn)轍機狀態(tài)反饋給界面系統(tǒng)進行狀態(tài)顯示。

3.2曲線界面

本設(shè)計中曲線界面用于顯示轉(zhuǎn)轍機動作過程中有效電流曲線、電壓曲線和功率曲線。在轉(zhuǎn)轍機動作后,上位機發(fā)送要數(shù)據(jù)命令幀,轉(zhuǎn)轍機驅(qū)采模塊接收到命令后返回轉(zhuǎn)轍機動作數(shù)據(jù)。可根據(jù)需求,選擇所需曲線類型并顯示。

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

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);

代碼第一行設(shè)置了所畫曲線X坐標(biāo)軸的原點及坐標(biāo)軸顯示范圍參數(shù);代碼第二行設(shè)置了所畫曲線Y軸坐標(biāo)軸的原點及坐標(biāo)軸顯示范圍參數(shù)。

在設(shè)置完坐標(biāo)軸后,需設(shè)置畫布背景,也可添加滾輪縮放功能、鼠標(biāo)拖動功能、添加網(wǎng)格等。在設(shè)置好曲線顯示坐標(biāo)軸及環(huán)境后,通過界面系統(tǒng)和轉(zhuǎn)轍機驅(qū)采模塊采集轉(zhuǎn)轍機有效動作數(shù)據(jù)并顯示,以采集轉(zhuǎn)轍機動作數(shù)據(jù)。

在曲線顯示界面設(shè)置有click()觸發(fā)信號與相關(guān)槽函數(shù)的要對應(yīng)轉(zhuǎn)轍機動作數(shù)據(jù)的按鍵,當(dāng)按下對應(yīng)按鍵后,觸發(fā)對應(yīng)的槽函數(shù),相關(guān)代碼如下:

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);

代碼第一行為要轉(zhuǎn)轍機動作數(shù)據(jù)幀;第二行是調(diào)用串口通信發(fā)送函數(shù)發(fā)送該數(shù)據(jù)幀。轉(zhuǎn)轍機驅(qū)采模塊接收該數(shù)據(jù)幀,采集轉(zhuǎn)轍機動作數(shù)據(jù)并反饋給界面系統(tǒng)。界面系統(tǒng)接收到轉(zhuǎn)轍機動作數(shù)據(jù)并顯示,曲線顯示相關(guān)代碼如下:

double *x=new double[CURVE_ DATAS];

double *y=new double[CURVE_ DATAS];

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

ui->qwtPlot->replot();

曲線界面設(shè)置有對應(yīng)動作要數(shù)據(jù)按鍵,當(dāng)轉(zhuǎn)轍機動作完成后,可根據(jù)需求點擊要數(shù)據(jù)按鍵。轉(zhuǎn)轍機驅(qū)采模塊采集轉(zhuǎn)轍機動作數(shù)據(jù),并將數(shù)據(jù)傳送至曲線界面直觀顯示。

結(jié)語

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

參考文獻

[1]李宇麗.基于ARM的嵌入式Linux系統(tǒng)的研究及應(yīng)用[D].西安電子科技大學(xué),2007.

[2]譚永鋒.嵌入式Linux移植與應(yīng)用程序開發(fā)[D].長安大學(xué),2007.

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

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

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

中圖分類號:U213

文獻標(biāo)識碼:A

主站蜘蛛池模板: 狂欢视频在线观看不卡| 国产一级毛片网站| 91网在线| 国产中文一区a级毛片视频| 精品99在线观看| 精品综合久久久久久97| 色综合五月婷婷| 内射人妻无套中出无码| 人人妻人人澡人人爽欧美一区| 麻豆精品视频在线原创| 99热这里只有免费国产精品| 国产亚洲精品自在久久不卡 | 亚洲性网站| 亚洲视频在线观看免费视频| 亚洲欧洲日韩国产综合在线二区| 欧美不卡视频一区发布| 在线中文字幕网| 国产又黄又硬又粗| 91国内外精品自在线播放| 久久国产精品影院| 国产精品不卡片视频免费观看| 欧美精品在线免费| 黄色三级网站免费| 亚洲欧美日韩色图| 青草91视频免费观看| 国产色网站| 在线观看网站国产| 99九九成人免费视频精品 | 人妻中文久热无码丝袜| 71pao成人国产永久免费视频| 91亚洲国产视频| 免费毛片网站在线观看| 天天综合亚洲| 国产成人综合亚洲欧洲色就色| 台湾AV国片精品女同性| 国产福利影院在线观看| 二级毛片免费观看全程| 欧美a级在线| 婷婷激情亚洲| 国产精品第三页在线看| 99国产在线视频| 国产欧美日韩免费| 免费女人18毛片a级毛片视频| 91尤物国产尤物福利在线| 久久久久久尹人网香蕉 | 日本免费a视频| 国产精品大白天新婚身材| jizz国产视频| 国产成人精品视频一区二区电影| 久久免费观看视频| 国产精品人成在线播放| 日韩人妻无码制服丝袜视频| 国产精品网址在线观看你懂的| 综合色天天| 天堂岛国av无码免费无禁网站 | 少妇精品在线| 国产95在线 | 久久国产精品嫖妓| 二级毛片免费观看全程| 99视频免费观看| 亚洲美女视频一区| 国产午夜看片| 日韩高清无码免费| 国产精品自在拍首页视频8| 亚洲日韩AV无码精品| 国产精品私拍99pans大尺度| 国产午夜福利片在线观看| 中文字幕第1页在线播| 亚洲不卡无码av中文字幕| 四虎在线高清无码| 又大又硬又爽免费视频| 99久视频| 亚洲精品动漫| 国模极品一区二区三区| 免费人欧美成又黄又爽的视频| 亚洲天天更新| 91久久国产热精品免费| 欧美日韩国产系列在线观看| 日韩av高清无码一区二区三区| 国产玖玖视频| 国产成人a在线观看视频| 成人欧美在线观看|