張積洪,周同旭
(中國民航大學(xué)航空自動化學(xué)院,天津 300300)
航空器因許多不確定的原因在機(jī)場及其周邊喪失其機(jī)動性,一旦出現(xiàn)航空器事故或殘損航空器停在機(jī)場某一區(qū)域,會妨礙其他航空器的運(yùn)行,甚至迫使機(jī)場實(shí)施關(guān)閉。因此,迅速將其搬移出妨礙機(jī)場開放的地方,這對旅行公眾、其他運(yùn)營者、機(jī)場當(dāng)局以及駐場機(jī)構(gòu)很重要。同時,應(yīng)盡快利用搬移拖車將事故航空器在最短時間內(nèi)搬移到不妨礙機(jī)場開放的安全區(qū),減少機(jī)場關(guān)閉時間,提高機(jī)場使用率。
機(jī)場應(yīng)急救援拖車是航空器應(yīng)急救援的重要設(shè)備之一,在保障飛機(jī)安全拖離事故現(xiàn)場的應(yīng)用中,起到舉足輕重的作用,在其搬運(yùn)殘損航空器時,各個拖車應(yīng)同步轉(zhuǎn)向,以減小對設(shè)備的應(yīng)力損壞。本文采用ARM9和PLC為核心,通過采集安裝在機(jī)場應(yīng)急救援拖車轉(zhuǎn)向機(jī)構(gòu)的角度傳感器數(shù)據(jù),實(shí)現(xiàn)對組合機(jī)場應(yīng)急救援拖車的同步控制。本文主要對該系統(tǒng)的軟件程序進(jìn)行了編寫設(shè)計及探討了相應(yīng)測試方法。
在搬運(yùn)殘損航空器時,根據(jù)其起落架損壞程度,分為前起落架或者主起落架一側(cè)損壞、主起落架全部損壞、前起落架和單個主起落架同時損壞和起落架全部損壞,因此,根據(jù)實(shí)際工況,有圖1三種組合方式。
為了減小組合式機(jī)場應(yīng)急救援拖車轉(zhuǎn)向時產(chǎn)生的路面對其行駛的附加阻力和輪胎過快磨損,要求轉(zhuǎn)向系能保證在車輛轉(zhuǎn)向時,所有車輪均作為純滾動而不產(chǎn)生側(cè)向滑移,將兩臺拖車看成一個整體,顯然,這只有在所有車輪的軸線都交于一點(diǎn)O0(O0稱為轉(zhuǎn)動中心)方能實(shí)現(xiàn),本文采用兩車平行連接進(jìn)行分析,建立坐標(biāo)系,如圖2所示。
設(shè)第一臺救援拖車的左側(cè)第一個輪子的坐標(biāo)為(x1,y1),車輪轉(zhuǎn)角 α1、第二臺拖車的輪子的坐標(biāo)為(x2,y2),車輪轉(zhuǎn)角 α2,轉(zhuǎn)動中心 O0的坐標(biāo)為(x0,y0),軸距和寬分別為l和b,則α1、α2的運(yùn)算關(guān)系為
由式(1)、式(2)可得
本系統(tǒng)為主從式結(jié)構(gòu),上位機(jī)以S3C2440ARM9控制器為核心,移植Linux系統(tǒng)和QT/Embedded圖形庫,主要實(shí)現(xiàn)多臺救援拖車位置關(guān)系的處理、救援拖車轉(zhuǎn)向角度的顯示、手動控制等人機(jī)交互功能。下位機(jī)以SIEMENS的SIMATIC S7-200PLC控制器為核心,電液比例閥為運(yùn)動控制器,實(shí)現(xiàn)協(xié)同轉(zhuǎn)向控制功能。上下位機(jī)通過RS485總線通信。
1)通過操縱盒控制多臺救援拖車協(xié)同轉(zhuǎn)向和復(fù)位功能;
2)實(shí)時顯示采集到的角度傳感器數(shù)據(jù)、轉(zhuǎn)向狀態(tài)和系統(tǒng)出錯報警。
2.1.1 利用QT/E多線程實(shí)現(xiàn)角度傳感器的同步采集
QT/E是Trolltech公司開發(fā)的面向嵌入式系統(tǒng)的QT版本,其控件豐富,并且支持虛擬幀緩沖。QT/E提供了一個與平臺獨(dú)立的線程類實(shí)現(xiàn)對多線程的支持,并且提供了線程安全的事件傳遞方式,QT/E將與線程相關(guān)的函數(shù)封裝為標(biāo)準(zhǔn)的C++類庫,使嵌入式系統(tǒng)多線程程序設(shè)計更加靈活和方便。線程Qthread使用start方法調(diào)用從 run()函數(shù)開始執(zhí)行,Qmutex、Qread WriteLock、Qsemaphore以及QwaitCondition類保證線程可以同步的運(yùn)行,部分程序如下:
2.1.2 GUI的設(shè)計
使用QT/E命令來編輯系統(tǒng)的GUI會浪費(fèi)很多精力,如果使用QT Designer可以提高開發(fā)效率,它可以通過設(shè)計把相應(yīng)的部件布置到顯示頁面上,使用系統(tǒng)中的信號與槽機(jī)制讓程序自動運(yùn)行。
根據(jù)系統(tǒng)的要求,GUI如圖3所示。通過該界面可以實(shí)現(xiàn)輸入救援車坐標(biāo)、控制救援車轉(zhuǎn)向、實(shí)現(xiàn)對數(shù)據(jù)實(shí)時查詢、與下位機(jī)通信等功能。數(shù)字鍵用于輸入救援拖車的坐標(biāo),完成后SetFinish鍵即可啟動上位機(jī)對下位機(jī)的控制,Left鍵、Right鍵、Reset鍵分別控制組合救援拖車的左轉(zhuǎn)、右轉(zhuǎn)和復(fù)位功能,同時在1Angel和2Angel中顯示被控的兩臺救援拖車的轉(zhuǎn)向角度。使用 QT/E 的 QLineEdit、QLabel、QPushButton 等控件可以方便地實(shí)現(xiàn)這些功能。
2.1.3 Linux平臺下串行口通訊
Linux所的設(shè)備文件都放在“/dev”目錄下,因此串
口對應(yīng)的設(shè)備文件的路徑是“/dev/s3c2410_serial2”和“/dev/s3c2410_serial3”,配置的過程如下
在完成串口配置后,可調(diào)用read/write函數(shù)來讀寫串口:
2.2.1 角度傳感器與上位機(jī)的串行通信協(xié)議
采用波特率為9 600 bit/s的半雙工傳輸,幀格式為串口9位方式,一個起始位,八個數(shù)據(jù)位,一個奇偶校驗(yàn)位,一個停止位,偶校驗(yàn)。數(shù)據(jù)格式:共6字節(jié),如下:
數(shù)據(jù)含義:第一字節(jié)為起始標(biāo)志0xAA,第二、第三字節(jié)為數(shù)據(jù)位的高字節(jié)和低字節(jié),第四字節(jié)、第五字節(jié)為取反的數(shù)據(jù)位高字節(jié)和低字節(jié),第六字節(jié)為結(jié)束字節(jié)0xFF。
若輸出的角度值為345.27,則其乘100后為34 527,其十六進(jìn)制為0x86DF,按位取反后:0x7920,那么數(shù)據(jù)幀的組成如下
2.2.2 上位機(jī)與下位機(jī)串行通信協(xié)議
下位機(jī)S7-200 CPU在RUN模式下,通信接口設(shè)置為通訊協(xié)議完全由用戶程序控制的自由口通訊模式,使用SMB30定義通訊口工作模式,如表1所示。
表1 自由口工作模式Tab.1 Freedom port working mode
通過設(shè)置SMB87、SMB94可以實(shí)現(xiàn)接收數(shù)據(jù)和最大字符數(shù),在本文中,設(shè)置如下:
上下位機(jī)數(shù)據(jù)格式:共8字節(jié),如下:
數(shù)據(jù)含義:第一字節(jié)為起始標(biāo)志0xBB,第二、第三字節(jié)選擇被控分機(jī)和取反字節(jié),第四、第五字節(jié)為數(shù)據(jù)位的高字節(jié)和低字節(jié),第六字節(jié)、第七字節(jié)為取反的數(shù)據(jù)位高字節(jié)和低字節(jié),第八字節(jié)為結(jié)束字節(jié)0xEE。
被控分機(jī)得到主機(jī)傳入的數(shù)據(jù)后,將數(shù)據(jù)裝入脈沖口,實(shí)現(xiàn)變頻脈沖輸出。
2.2.3 利用PWM控制電液比例閥
脈沖寬度調(diào)制功能提供連續(xù)、占空比可調(diào)的脈沖輸出,提供用戶控制周期和脈沖寬度。此功能常被用作實(shí)際控制量輸出,通過調(diào)節(jié)其占空比和周期方可便地控制線圈的開合時間和頻率。本文利用它來控制電液比例閥實(shí)現(xiàn)兩臺救援拖車協(xié)同作業(yè)。
模型連接如圖4所示。
測量模型各尺寸為:車軸距l(xiāng)=0.6 m,車寬b=0.36 m,第一臺車的坐標(biāo)為(0,0),第二臺車的坐標(biāo)為(0,0.3),單位:m,則由式(3)可得
理論角度 α1、理論角度 α2、實(shí)測角度 α1、實(shí)測角度α2、誤差角度σ如表2所示。
表2 試驗(yàn)結(jié)果Tab.2 Results of test
本系統(tǒng)采用與實(shí)物1∶7.5的模型作為試驗(yàn),連接各模型和控制系統(tǒng)后,實(shí)測數(shù)據(jù)。由表2可知,實(shí)測數(shù)據(jù)與理論數(shù)據(jù)誤差在0.3°以內(nèi),符合設(shè)計要求。
本文介紹了一種基于ARM9的機(jī)場應(yīng)急救援拖車電氣同步控制系統(tǒng)。通過輸入兩臺機(jī)場應(yīng)急救援拖車坐標(biāo)的方法來確定轉(zhuǎn)向關(guān)系,適用于不同工況下的飛機(jī)應(yīng)急拖救;采用QT/E多線程的方法實(shí)現(xiàn)了對兩個角度傳感器的數(shù)據(jù)同步采集和處理,提高了效率,縮小了系統(tǒng)誤差;將程序移植到系統(tǒng)后,經(jīng)測試其值與理論值誤差在0.3°以內(nèi),滿足系統(tǒng)的要求。
[1] 吳克強(qiáng),吳政清,姜斯平.汽車構(gòu)造[M].上海:上??茖W(xué)技術(shù)出版社,2003:327-354.
[2] 許曉東,李秀娟,紀(jì)賴恩.多線程技術(shù)在糧庫監(jiān)控管理系統(tǒng)中的應(yīng)用[J].微計算機(jī)信息,2010,26(7-2):84-85.
[3] 陳旭紅,高文學(xué).Qt_Embedded串口類的設(shè)計及應(yīng)用[J].湖北汽車工業(yè)學(xué)院學(xué)報,2010,24(4):51-53.
[4] 丁林松,黃麗琴.Qt4圖形設(shè)計與嵌入式開發(fā)[M].北京:人民郵電出版社,2009:327-343.
[5] 黃宇東,陳耀明,陳 安.基于Qt的多線程技術(shù)應(yīng)用與研究[J].軟件導(dǎo)刊,2009,8(10):40-42.
[6] 張修如,袁曉紅.PC與S7-200 PLC自由通信協(xié)議的研究[J].湖南工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2004,4(3):16-17.