《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于Qt的電腦橫機上位機的設(shè)計
基于Qt的電腦橫機上位機的設(shè)計
來源:微型機與應(yīng)用2012年第19期
賀 青,李鵬飛
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048)
摘要: 通過研究電腦橫機主控系統(tǒng)的工作流程、分析電腦橫機工作時的數(shù)據(jù)流向,針對電腦橫機的需求,提出一種以開源的Linux為操作系統(tǒng)、ARM處理器為硬件平臺的電腦橫機上位機軟件的設(shè)計方法,并且使用Qt對電腦橫機的圖形用戶界面進行設(shè)計。給出了圖形用戶界面的設(shè)計步驟及界面之間相互轉(zhuǎn)換的方法。
Abstract:
Key words :

摘  要: 通過研究電腦橫機主控系統(tǒng)的工作流程、分析電腦橫機工作時的數(shù)據(jù)流向,針對電腦橫機的需求,提出一種以開源的Linux為操作系統(tǒng)、ARM處理器為硬件平臺的電腦橫機上位機軟件的設(shè)計方法,并且使用Qt對電腦橫機的圖形用戶界面進行設(shè)計。給出了圖形用戶界面的設(shè)計步驟及界面之間相互轉(zhuǎn)換的方法。
關(guān)鍵詞: 電腦橫機;上位機;人機交互界面Linux-ARM;Qt

 電腦橫機是生產(chǎn)羊毛衫的主要設(shè)備,市場對電腦橫機的需求在逐年加大,近兩年來,我國每年進口數(shù)千臺電腦自動橫機。但是對于我國的羊毛衫生產(chǎn)企業(yè)來說,國外所生產(chǎn)的電腦橫機價格比較昂貴,而國內(nèi)生產(chǎn)的電腦橫機又主要集中在中低端產(chǎn)品,且電腦橫機的人機交互界面非常簡單而又不夠友好[1]。
本文針對三層控制系統(tǒng)的電腦橫機進行設(shè)計。通過研究電腦橫機控制系統(tǒng)的工作流程、橫機工作時數(shù)據(jù)的流向以及操作人員對電腦橫機上位機的需求,提出一種上位機的設(shè)計方法。該上位機軟件是以開源的Linux為操作系統(tǒng),ARM處理器為硬件平臺,用Qt對圖形用戶界面進行設(shè)計,使得電腦橫機人機交互界面更加友好,提高了電腦橫機的水平。
1 電腦橫機上位機軟件的總體設(shè)計
 由于在電腦橫機上位機的設(shè)計中所要考慮到的內(nèi)容很多,本文只從以下三個方面對電腦橫機進行研究。
1.1 電腦橫機主控系統(tǒng)的工作流程
 電腦橫機主控系統(tǒng)的工作流程如下:首先對電腦橫機進行上電,顯示初始界面,電腦橫機通過自檢檢查機器是否正常,若有異常,則報警停機;若沒有異常則進行初始化設(shè)置。設(shè)置完成后,對輸入的花型文件進行編譯和解析,經(jīng)編譯后的花型文件中的每一個花型可以生成一行或者多行的CNT動作行,每個控制代碼CNT行對應(yīng)相應(yīng)的PAT文件行,若符合要求則傳遞給下面的DSP控制層[2]。另一方面也可以對下位機的狀態(tài)進行反饋,若下位機發(fā)出請求,則將信息傳遞給DSP層。
 電腦橫機主控系統(tǒng)的流程圖如圖1所示。

1.2 電腦橫機控制數(shù)據(jù)的流程
 橫機工作時數(shù)據(jù)的流向如圖2所示。首先工作人員通過對樣品的研究從花型準備系統(tǒng)中產(chǎn)生CNT文件和PAT文件[3]。通過上位機軟件的文件編譯判斷是否有文件的語法錯誤,若有錯誤則顯示出來,通過對文件的解析,將文件中的CNT動作行和PAT花樣行相互對應(yīng),生成可以直接用于控制電腦橫機的數(shù)據(jù),將數(shù)據(jù)通過I/O模塊傳遞給DSP主控層,再由DSP主控層傳遞給DSP機頭控制層,接收各種數(shù)據(jù)的反饋并且通過界面顯示給操作人員。若發(fā)生中斷,則中斷源發(fā)送信號將中斷信號傳遞給控制器,并且從界面上進行顯示。
1.3 電腦橫機軟件設(shè)計的要求
 操作人員對電腦橫機上位機的功能需求主要包括:(1)為用戶提供一個良好的界面,便于工作人員的操作;(2)對由花型準備系統(tǒng)所產(chǎn)生的CNT文件和PAT文件進行讀取和分析,產(chǎn)生電腦橫機工作時所需要的花型控制信息;(3)電腦橫機運行前的初始化工作;(4)將解析好的數(shù)據(jù)傳送給控制系統(tǒng)中的DSP控制層用來控制各種電機等;(5)實時接收由傳感器反饋的各種信息,并且顯示在界面上,使操作人員可以實時地了解和處理;(6)返回中斷信息并及時處理。
2 電腦橫機軟件的具體設(shè)計
2.1 上位機軟件的體系結(jié)構(gòu)

 上位機軟件的體系結(jié)構(gòu)如圖3所示。

 電腦橫機上位機基于ARM的硬件平臺,采用的是ARM9處理器,選取的芯片是三星公司的S3C2440芯片。在此基礎(chǔ)上移植開源可剪裁的Linux操作系統(tǒng),在操作系統(tǒng)上進行各種驅(qū)動程序的設(shè)計。應(yīng)用層主要包括圖形用戶界面和編織控制軟件,主要完成編譯和解析花型文件、進行人機交互和界面的顯示。人機界面的設(shè)計采用的是Qt。編織控制軟件根據(jù)橫機的工藝將輸入的CNT文件和PAT文件編譯和解析成為一系列的底層設(shè)備動作,使得兩個文件相互對應(yīng),從而完成編織的完整動作。
2.2 軟件模塊的劃分
 根據(jù)電腦橫機軟件的功能和要求,軟件采用模塊化的設(shè)計思想。各功能模塊的劃分如圖4所示。


 文件的讀取和編譯模塊:通過USB口將花型準備系統(tǒng)中所得到的花型文件讀入上位機軟件,并且進行編譯,檢查文件是否有語法錯誤。
 文件解析模塊:生成可以直接控制電腦橫機的數(shù)據(jù),使CNT文件和PAT文件相互對應(yīng)。
 編織過程的調(diào)整:對編織過程進行實時顯示并且進行調(diào)整,如有錯誤則進行報警。
 中斷信號的反饋:對中斷信號進行實時地反饋。
 動作的控制:在人機交互界面中對橫機工作時的動作進行實時監(jiān)控和在線修改。
 工作信息的顯示:將電腦橫機傳感器所感應(yīng)到的信息及時反饋,使操作人員能更好地控制電腦橫機的生產(chǎn)。
3 電腦橫機圖形用戶界面的設(shè)計
 界面的信息顯示是人機交互界面的一個重要部分,通過它可以使人們更好地運用機器,因此良好的圖形界面是必不可少的[4]。目前,面向嵌入式Linux系統(tǒng)的有代表性的GUI系統(tǒng)有MiniGUI、Micro Windows、Qt/Embedded等。在本文的嵌入式Linux系統(tǒng)下選擇用Qt/Embedded來實現(xiàn)對電腦橫機上位機的人機界面的設(shè)計[5]。
 電腦橫機圖形用戶界面框圖如圖5所示。

 Qt提供了兩種實現(xiàn)用戶界面的方法,一種是通過傳統(tǒng)的編碼方式實現(xiàn)用戶界面;另一種是通過Qt designer快速實現(xiàn)。Qt界面的設(shè)計主要包括以下三個方面:(1)用戶界面的設(shè)計實現(xiàn);(2)建立信號與槽之間的關(guān)系;(3)實現(xiàn)自定義的槽函數(shù)。
 由于電腦橫機所涉及的界面非常多,在此主要介紹主界面的設(shè)計以及主界面與其他子界面之間相互跳轉(zhuǎn)的方法。主界面的顯示圖如圖6所示,機器運行界面如圖7所示。

 

 

 在電腦橫機的主窗口的設(shè)計中,所要實現(xiàn)的功能是通過點擊界面上的按鈕可以切換到相應(yīng)的界面去。其具體的設(shè)計過程如下。
3.1 用戶界面的設(shè)計
 使用designer可以快速設(shè)計出所需要的用戶界面。通過從工具欄中拖動相應(yīng)的部件到主窗口就可以完成用戶界面的設(shè)計。通過Qt designer設(shè)計好界面之后,編譯器會將該文件轉(zhuǎn)換成能被C++所識別的.h文件。為了實現(xiàn)之后信號與槽函數(shù)的關(guān)聯(lián),對于Qt窗口部件已經(jīng)提供的信號,可按照以下規(guī)范命名:
 void on_<窗口部件名稱>_<信號名稱>_(<信號參數(shù)>);
 由于本設(shè)計要實現(xiàn)的功能是通過點擊各個按鈕就可以跳轉(zhuǎn)到相應(yīng)的窗口,所以6個按鈕就對應(yīng)6個槽函數(shù),觸發(fā)這幾個槽函數(shù)的信號為clicked()。在頭文件.h文件中添加的私有槽函數(shù)的定義如下:
private slots:
 void on_ runButton _clicked();
 void on_ prefsButton _clicked();
 void on_ fileButton _clicked();
 void on_ designButton _clicked();
 void on_ shutdownButton _clicked();
 void on_ testButton _clicked();
3.2 建立信號與槽之間的關(guān)系
 實現(xiàn)了用戶界面的設(shè)計之后,需要建立信號和槽之間的連接。信號和槽是一種高級接口,應(yīng)用于對象之間的通信,是Qt的核心特性,也是Qt區(qū)別于其他的重要部分。此外,信號和槽是Qt自行定義的一種通信機制,它獨立于標準的C/C++語言,一個類要使用信號與插槽機制,就必須是從QObject或者QObject的子類繼承,而且在類的定義中必須加上Q_OBJECT宏。信號被定義在類的信號部分,而插槽則定義在public slots、protected slots 或者 private slots 部分。
 這里的信號相當(dāng)于用戶所引發(fā)的事件,而槽本質(zhì)上就是一個函數(shù),它實現(xiàn)了這個動作所對應(yīng)的功能。Qt中使用connect函數(shù)來建立信號和槽之間的鏈接。通常一個信號可以鏈接多個槽,多個信號也可以鏈接同一個槽,并且一個信號還可以與另一個信號相連接。
 信號與槽的關(guān)系如圖8所示。

 在主界面的設(shè)計中,通過connect()函數(shù)來完成信號與槽的連接。并且通過信號與槽的連接可以完成對界面的相互跳轉(zhuǎn),其代碼如下:
connect(ui-> runButton,SIGNAL(clicked()),this,SLOT(on_ runButton _clicked()));
connect(ui-> prefsButton,SIGNAL(clicked()),this,SLOT(on_ prefsButton _clicked()));
connect(ui-> fileButton,SIGNAL(clicked()),this,
SLOT(on_ fileButton _clicked()));
connect(ui->designButton,SIGNAL(clicked()),this,SLOT(on_designButton_clicked()));
connect(ui->shutdownButton,SIGNAL(clicked()),this,SLOT(on_shutdownButton_clicked()));
connect(ui->testButton,SIGNAL(clicked()),this,SLOT(on_testButton_clicked()));
3.3 實現(xiàn)自定義的槽函數(shù)
 在主界面的設(shè)計中,根據(jù)主界面的具體功能實現(xiàn)相應(yīng)的槽函數(shù),所以在頭文件中要自定義槽函數(shù);在主界面中切換各個窗體時,可以通過show()和hide()類來完成;需要在實現(xiàn).cpp文件中添加代碼。例如,主界面中的runBotton按鈕的自定義槽函數(shù)代碼為:
void MainWindow:: on_ runButton _clicked()
{
  form4.show();
  this->hide();
}
    其他自定義槽函數(shù)與其類似。通過上面的方法,可以實現(xiàn)主界面的設(shè)計和多窗體之間的切換。
本文提出了一種以開源的Linux為操作系統(tǒng)、ARM處理器為硬件平臺的電腦橫機上位機軟件的設(shè)計方法,并且對電腦橫機圖形用戶界面的設(shè)計進行了詳細的研究,給出了界面設(shè)計的步驟以及界面之間的相互轉(zhuǎn)換的方法。
參考文獻
[1] 呂建飛,傅建中.新型電腦橫機的開發(fā)研制[J].針織工業(yè),2005,13(5):13-15.
[2] 朱文俊,鄭建林.電腦橫機編織技術(shù)[M].北京:中國紡織出版社,2011:30-31.
[3] 丁永生,石金華,萬慶萱.針織橫機電腦控制器的設(shè)計[J].中國紡織大學(xué)學(xué)報,1995,21(4):70-74.
[4] 丁林松,黃麗琴.Qt4圖形設(shè)計與嵌入式開發(fā)[M].北京:人民郵電出版社,2009:5-8.
[5] 鄭阿奇,陳超.Qt4開發(fā)實踐[M].北京:電子工業(yè)出版社,2011:121-123.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美成人日韩| 国产精品久久久久久久免费软件| 99国产精品久久久久久久| 午夜亚洲性色福利视频| 一区二区欧美在线| 亚洲精品视频在线| 亚洲黄色成人久久久| 精品动漫3d一区二区三区| 国产亚洲精品久久久久婷婷瑜伽| 国产精品久久一卡二卡| 国产精品国产三级国产普通话99 | 亚洲一区二区三区视频播放| 日韩亚洲欧美成人| 亚洲激情视频网站| 91久久精品美女| 亚洲日本乱码在线观看| 亚洲另类黄色| 日韩一区二区精品| 99国产精品久久久久久久久久 | 亚洲一区观看| 午夜精品久久久久久久99樱桃 | 国产精品日韩精品| 国产麻豆9l精品三级站| 国产欧美日韩视频| 国产亚洲a∨片在线观看| 黑人一区二区| 亚洲国产成人精品视频| 亚洲精品国产精品国自产在线| 亚洲激情女人| 亚洲茄子视频| 亚洲午夜一区二区| 羞羞答答国产精品www一本| 久久精品国产v日韩v亚洲 | 欧美激情精品久久久六区热门| 欧美经典一区二区| 欧美日韩直播| 国产精品欧美经典| 国产真实乱偷精品视频免| 在线观看日韩av电影| 亚洲人妖在线| 亚洲在线播放电影| 久久精品国产2020观看福利| 日韩午夜视频在线观看| 亚洲综合另类| 久久免费午夜影院| 欧美高清在线一区| 国产精品成人免费| 国产综合久久| 亚洲美女性视频| 亚洲欧美日韩中文播放| 亚洲国产欧美在线| 亚洲午夜国产一区99re久久| 久久不射中文字幕| 欧美精品一区二区精品网| 国产精品色一区二区三区| 伊人久久大香线蕉综合热线| 日韩亚洲国产欧美| 午夜一区二区三区在线观看 | 亚洲免费一级电影| 久久综合网hezyo| 欧美日韩另类丝袜其他| 国产精品女主播一区二区三区| 在线播放豆国产99亚洲| 亚洲视频电影图片偷拍一区| 欧美在线高清视频| 亚洲天堂第二页| 久久精品日韩| 欧美日韩一区二区三区高清| 国内成+人亚洲| 99精品国产在热久久| 久久国产精品一区二区三区四区| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲美女中文字幕| 久久精品一区四区| 欧美午夜精品一区| 亚洲第一区在线| 午夜精品久久久久| 亚洲视频精选| 裸体一区二区| 国产精品一页| 99国产精品99久久久久久| 亚洲成人资源网| 欧美亚洲在线播放| 欧美日韩成人在线观看| 一区二区视频免费完整版观看| 亚洲一区三区电影在线观看| 日韩亚洲欧美在线观看| 久久午夜视频| 国产欧美一区二区三区久久 | 亚洲主播在线播放| 欧美精品www在线观看| 国内精品伊人久久久久av一坑| 亚洲视频一区二区| 99精品国产在热久久| 久久综合网色—综合色88| 国产美女精品免费电影| 一区二区三区日韩精品视频| 亚洲精品美女久久7777777| 久久久噜噜噜久久中文字幕色伊伊| 国产精品欧美久久| 日韩香蕉视频| 一本色道久久综合亚洲精品按摩| 免费人成网站在线观看欧美高清| 国产亚洲精品久久久久婷婷瑜伽| 亚洲免费在线观看| 亚洲男人的天堂在线| 欧美三级视频在线| 日韩亚洲精品电影| 一区二区国产日产| 欧美日韩三区| 亚洲精选视频免费看| 亚洲精品五月天| 欧美大尺度在线| 亚洲激情国产| 一本久久综合亚洲鲁鲁五月天| 欧美成年人视频网站| 亚洲国产精品一区二区久| 亚洲人成在线免费观看| 欧美成年人在线观看| 亚洲黄色影片| 99国产精品国产精品久久| 欧美精品电影| 9人人澡人人爽人人精品| 亚洲视频一区二区| 欧美性猛交99久久久久99按摩| 一区二区欧美激情| 午夜亚洲一区| 国产一区香蕉久久| 亚洲第一精品久久忘忧草社区| 巨乳诱惑日韩免费av| 亚洲国产第一页| 99热这里只有精品8| 欧美日韩综合一区| 亚洲免费视频网站| 久久嫩草精品久久久精品| 好吊一区二区三区| 亚洲精品欧美日韩专区| 欧美精品一区三区在线观看| 亚洲伦理网站| 亚洲免费综合| 国内精品视频在线播放| 亚洲人被黑人高潮完整版| 欧美日本一区二区三区| 亚洲视频精选在线| 久久精视频免费在线久久完整在线看| 韩日成人av| 一本久久青青| 国产精品影院在线观看| 欧美一区免费视频| 欧美国产日本在线| 一区二区三区欧美日韩| 久久成人资源| 亚洲国产精品久久久久| 一区二区三区欧美在线| 国产伦精品一区| 亚洲国产成人tv| 欧美日韩精品免费| 午夜精品福利一区二区蜜股av| 毛片一区二区三区| 一本色道久久综合亚洲精品高清| 欧美怡红院视频一区二区三区| 一区福利视频| 亚洲色图自拍| 国产主播一区| 99在线精品观看| 国产欧美一区二区精品性 | 亚洲毛片一区| 国产精品美腿一区在线看| 欧美在线观看一区| 欧美日韩国产一区二区| 亚洲欧美中文字幕| 欧美激情亚洲一区| 亚洲欧美一区二区精品久久久| 免费看黄裸体一级大秀欧美| 99re亚洲国产精品| 久久日韩精品| 一区二区高清| 老色批av在线精品| 亚洲午夜国产成人av电影男同| 久久偷看各类wc女厕嘘嘘偷窃| 日韩视频永久免费观看| 久久国产视频网站| 99视频超级精品| 巨胸喷奶水www久久久免费动漫| 一区二区欧美国产| 开元免费观看欧美电视剧网站| 亚洲手机成人高清视频| 模特精品在线| 欧美一区二区精美| 欧美午夜大胆人体| 亚洲国产视频直播| 国产欧美精品在线播放| 一本色道久久88亚洲综合88| 国内自拍视频一区二区三区 | 欧美在线看片| 亚洲作爱视频| 欧美激情一区二区在线 | 亚洲小视频在线| 欧美精品激情| 亚洲国产成人久久综合一区|