為了滿足基于教學工作過程需要,凸現(xiàn)航空特色,,創(chuàng)設(shè)集“教,、學、做”一體化的教學情境環(huán)境,,開發(fā)了運5簡易飛行模擬器" title="飛行模擬器">飛行模擬器設(shè)備,,該項目以真實的運5飛機為載體,以LabWindows/CVI為開發(fā)環(huán)境,,主要面向?qū)W生演示飛機的飛行的姿態(tài)(縱向,、升降、傾向,、俯仰,、橫滾和航向)以及飛行過程中各種儀器儀表的變化,使學生對飛機的飛行原理以及駕駛技術(shù)具有一定了解,,使其在模擬器上完成簡單的飛行操作,。
1 系統(tǒng)結(jié)構(gòu)
由于該模擬器僅用于教學,參觀演示,,僅涉及了飛機飛行過程一些飛機飛行過程中的必須設(shè)備和必須功能,,因此,,對模擬器簡易化處理后,它主要包括儀表控制系統(tǒng),、操縱負荷系統(tǒng)和視景環(huán)境模擬系統(tǒng),,該飛行器控制系統(tǒng)用框圖如圖1所示。
1.1 操縱模擬控制系統(tǒng)
操縱模擬控制系統(tǒng)義稱操縱負荷系統(tǒng),,是整個項目的核心,,主要為飛行員提供逼真的座艙操縱感覺。座艙操縱感覺是飛行員移動操縱感覺時的負荷感覺,,它受到操縱面偏轉(zhuǎn)的影響,,并由此產(chǎn)生操縱輸入引起飛機的響應(yīng)。操縱負荷系統(tǒng)分為操縱負荷裝置和飛機操縱系統(tǒng)模型兩部分,。其中,。操縱負荷裝置用于產(chǎn)生實際的模擬器座艙操縱力;飛行操縱系統(tǒng)模型用于仿真給定條件下特定飛機操縱系統(tǒng)的各種力的形成,。通過這兩部分的集成,,仿真實現(xiàn)所需的座艙操縱力,從而產(chǎn)生操縱力的感覺,,這種感覺與飛行員在真實飛機中的體驗感覺相似,。
運5模擬器的操縱負荷系統(tǒng)采用電動系統(tǒng)。該系統(tǒng)包括兩個主要的子系統(tǒng):操縱負荷計算機子系統(tǒng)和操縱負荷裝置子系統(tǒng),。前者用于計算飛機飛行操縱系統(tǒng)以及作動器控制回路的數(shù)學模型,,控制器的輸出提供驅(qū)動作動器通道的控制信號;而后者用于將控制信號轉(zhuǎn)換為電動作動器的運動,,驅(qū)動座艙操縱裝置,。
1.2 模擬儀表控制系統(tǒng)
運5模擬器儀表控制系統(tǒng)是運5模擬器的重要組成部分。該系統(tǒng)主要實現(xiàn)運5飛機在模擬飛行狀態(tài)時,。各個儀表在操縱系統(tǒng)作用下的指示,,讓操作者有身臨其境的感覺。運5簡易模擬器采用運5飛機上的真實儀表,,座艙內(nèi)基本保持運5飛機結(jié)構(gòu)不變,。整個儀表控制系統(tǒng)的驅(qū)動信號由模擬信號控制系統(tǒng)和氣壓信號控制系統(tǒng)構(gòu)成,它結(jié)合視景及音響實時顯示飛機的飛行姿態(tài)以及所處的高度等,。
1.3 3D環(huán)幕視景仿真系統(tǒng)
3D環(huán)幕視景系統(tǒng)主要由兩部分組成:一是舵通道圖形處理系統(tǒng),,通過該系統(tǒng)處理高分辨率的視頻文件或圖片,在圖形處理系統(tǒng)內(nèi)部實現(xiàn)源文件的多通道分割,,舵通道圖像重疊,,融合帶的亮度調(diào)節(jié),、像素級的邊緣集合校正,、羽化處理。最后實現(xiàn)多通道無縫完整圖像輸出;二是3D多通道輸出系統(tǒng),,接收到經(jīng)圖形處理系統(tǒng)處理過的源文件后,,經(jīng)過本身處理器件的2D、3D效果的多通道視頻或圖片,。
整個系統(tǒng)從性能與方便性著手,。在保證了完美融合效果的基礎(chǔ)上簡化了系統(tǒng)的控制過程,使整個系統(tǒng)更實用,、更人性化,。
1.4 系統(tǒng)硬件結(jié)構(gòu)設(shè)計
整個模擬器以工控機為核心,運行信號均源于操縱負荷系統(tǒng),,操縱負荷系統(tǒng)分為操縱負荷裝置和飛機操縱系統(tǒng),,如圖2所示。其中操縱負荷裝置可以產(chǎn)生實際的模擬器座艙操縱力,,使升降舵,、副翼和方向舵發(fā)生相對的運動,通過傳感器對位移,,角度進行測量,。工控機對所收到的信號進行分析處理,通過以太網(wǎng)傳給視景仿真計算機,,使視景顯示器顯示相應(yīng)的視景畫面:工控機還將分析處理過的信號通過適配箱送往座艙儀表,,驅(qū)動儀表顯示相應(yīng)的數(shù)值。
2 基于LabWindows/CVI的模擬器軟件實現(xiàn)
2.1 LabWindows/CVl開發(fā)環(huán)境的選擇
LabWindows/CVI是一個基于ANSI C的交互式可視化軟件開發(fā)環(huán)境,,是美國NI公司推出的面向儀器與測控過程的C/C++交互式開發(fā)平臺,。它將功能強大、應(yīng)用廣泛的C語言與測控專業(yè)工具有機地結(jié)合起來,,利用其集成化開發(fā)環(huán)境,、交互式編程方法、豐富的函數(shù)面板,、強大的接口功能,、豐富的庫函數(shù)以及功能齊全的軟件工具包,大大增強了C語言的功能,。它將源代碼編輯,、強有力的儀器庫、32位ANSI C編譯,、鏈接,、調(diào)試以及標準ANSI C庫集成在一個交互式開發(fā)環(huán)境中,極大地簡化了圖形用戶接口的設(shè)計,,同時為使用者提供了靈活的,、內(nèi)置式數(shù)據(jù)采集" title="數(shù)據(jù)采集">數(shù)據(jù)采集分析和顯示功能,。具有多種與硬件通信的方式,例如RS232,,VXI等,。同時,也可以建立TCP/IP通信機制,。相對于VC,、VB等其他開發(fā)工具,LabWi-ndows/CVI具有更強的硬件控制和數(shù)據(jù)分析處理能力,,特別適用于各種測試,、控制、故障分析及信息處理軟件的開發(fā),,尤其是大型復(fù)雜的測控軟件,,可獲得優(yōu)良的測控性能。在LabWindows/CVI中,,還加入了數(shù)據(jù)庫和網(wǎng)絡(luò)開發(fā)的軟件包,,使其能夠滿足超大容量數(shù)據(jù)的存儲和大型分布式遠程網(wǎng)絡(luò)測控系統(tǒng)的開發(fā)。
鑒于以上LabWindows/CVI的優(yōu)點,,考慮到整個模擬器運行的信號都來源于操縱負荷系統(tǒng),,這便構(gòu)成了以操縱負荷系統(tǒng)為主的測控系統(tǒng)。故本項目以LabWindows/CVI虛擬儀器" title="虛擬儀器">虛擬儀器編程語言作為軟件開發(fā)平臺,。
2.2 系統(tǒng)軟件設(shè)計實現(xiàn)
2.2.1 軟件結(jié)構(gòu)模塊設(shè)計
軟件采用模塊化,、結(jié)構(gòu)化的設(shè)計思想,提高了編程效率,,增強了軟件的可維護性和可擴展性,。根據(jù)需要,系統(tǒng)軟件模塊設(shè)計了數(shù)據(jù)采集,、執(zhí)行控制與輔助三大模塊,,具體有以下9個部分。其整體結(jié)構(gòu)如圖3所示,。
1)數(shù)據(jù)采集模塊 負責各種標準信號的采集,,按通道傳送給顯示、存儲模塊,,并對輸入的波形信號進行同步,,其中還包括硬件的初始化和采集參數(shù)的設(shè)置。
2)數(shù)據(jù)存儲模塊 按照規(guī)定的格式將采集到的數(shù)據(jù)存入數(shù)據(jù)庫,。
3)數(shù)據(jù)顯示模塊 根據(jù)不同的需要實時顯示模擬器航姿,、仰角等參數(shù)以及波形、軌跡和各種譜圖,。
4)數(shù)據(jù)分析模塊 將采集回來的數(shù)據(jù)進行分析,,和預(yù)設(shè)的數(shù)據(jù)相比較,,進而算出調(diào)節(jié)量。采用的數(shù)據(jù)分析方法有:時域分析,、頻域分析,、相關(guān)分析,、回歸分析,、數(shù)理統(tǒng)計、趨勢分析和高級分析等,。
5)儀表驅(qū)動模塊 將控制數(shù)據(jù)發(fā)送至通道,,產(chǎn)生各種調(diào)節(jié)儀器的控制命令。
6)文件管理模塊 提供數(shù)據(jù)輸出,、報表打印以及歷史查詢,。
7)數(shù)據(jù)庫管理模塊 實現(xiàn)對數(shù)據(jù)庫中各類數(shù)據(jù)進行有效的管理,同時存放檢測數(shù)據(jù)和結(jié)論,,根據(jù)檢測內(nèi)容做出記錄表單,。
8)報警模塊 系統(tǒng)出現(xiàn)故障時報警,顯示故障類型并啟動保護措施,。
9)TCP通信模塊 完成3D視景系統(tǒng)之間的通信,。
運5操縱負荷系統(tǒng)仿真系統(tǒng)采用該軟件進行設(shè)計,其流程如圖4所示,。
主程序完成初始化后,,調(diào)用權(quán)限操作、采集,、視景通信模塊,、控制(儀表驅(qū)動、操作機構(gòu),、俯仰控制)等模塊,。并隨時響應(yīng)串口和鍵盤中斷。為防止干擾,,采集模塊采用多次采集,,去掉最大和最小數(shù)據(jù),取平均值的方法,。經(jīng)采集所取得的數(shù)據(jù)經(jīng)由存儲模塊和顯示模塊存入數(shù)據(jù)庫并顯示于面板,,需要的時候可以通過數(shù)據(jù)庫管理模塊和文件管理模塊進行查詢和打印。另外,,根據(jù)采集的數(shù)據(jù)信息便可通過儀表驅(qū)動模塊完成操縱機構(gòu),、俯仰控制等功能。
2.2.2 軟件編程中的關(guān)鍵模塊
1)俯仰控制模塊 函數(shù)int ComWrt(int COMPort,,charbuffer[],,int count)通過串口COMPort向變頻器發(fā)送控制命令,,命令數(shù)據(jù)存儲在存儲器buffer[]中,數(shù)據(jù)長度為count字節(jié),??刂谱冾l器的運行、停止,、正/反轉(zhuǎn),。
函數(shù)void CRC_WrtFre(int FRECOM,unsigned int DValue,,unsigned FreAdr,,int Length_CRC)設(shè)定變頻器的工作頻率。通過串口FRECOM向變頻器發(fā)送工作頻率值Dvalue,。
調(diào)用:
2)操縱機構(gòu)控制模塊 函數(shù)double sensor_com(int ID),;功能說明:向傳感器發(fā)送讀取數(shù)據(jù)命令,讀取和存儲傳感器輸出的原始數(shù)據(jù),,并計算出傳感器的位移量,。計算方法為:
3)儀表驅(qū)動控制模塊 函數(shù)void da_send(int corn,intkahao,,int channel,,double da_sendata)用來發(fā)送電壓表所需的電壓值;函數(shù)double AD24(int COM,,int CardID,,int way,double*Val)用來采集電壓,,對于需要采集的電壓進行采集并將其顯示在面板上,;函數(shù)void Relay(int comport,int cardlD,,intchanelNum,,char ctrldata[17])用來控制繼電器的通斷狀態(tài);函數(shù)void YB_High(double sjd_A)根據(jù)升降舵的變化來控制高度表和升降速度表的指示,,其中YB_High為函數(shù)名,,sjd_A為升降舵值;函數(shù)void YB_Airspeed(double ymg_V)根據(jù)油門桿來控制變頻器的頻率,;函數(shù)void YB_Qhq(double Value)和void YB_Pq(double Value)分別是汽化器溫度表和排氣溫度表的驅(qū)動函數(shù),,驅(qū)動變量為副翼;函數(shù)void YB_Wxdhizh(double Value)用來驅(qū)動無線電高度表,,其中YB_Wxdhigh是函數(shù)名,,Value為油門桿位置;函數(shù)void YB_Sy(double Value)三用表的驅(qū)動,其中YB_Sy為函數(shù)名,,Value為油門桿位置,;函數(shù)void YB_Dq(double Value)驅(qū)動大氣溫度表,其中YB_Dq為函數(shù)名,,Value為油門桿位置,。
4)視景音響控制模塊 函數(shù)void calculate()根據(jù)3個舵面和油門桿的數(shù)據(jù)計算視點位置的x坐標、y坐標,、z坐標,、俯仰角、滾轉(zhuǎn)角,、偏航角,;函數(shù)void(*InitNet)(int fig),,函數(shù)功能:初始化網(wǎng)絡(luò),。初始化包括IP地址,端口號等信息,;函數(shù)void(*SendFlightData)(int flg)向視景計算機傳送數(shù)據(jù),。
函數(shù)void(*CloseNet)(int fig)用于關(guān)閉網(wǎng)絡(luò);函數(shù)void(*ChangeData)(float viewx,,float viewy,,float viewz,float thet,,float gam,,float psi)用于交換數(shù)據(jù)。將控制系統(tǒng)軟件生成的數(shù)據(jù)FlyData傳送到視景軟件,,實現(xiàn)數(shù)據(jù)的實時更新交換,,這是實時通信的基礎(chǔ)所在。
3 結(jié)束語
該系統(tǒng)以LabWindows/CVI虛擬儀器編程語言作為軟件開發(fā)平臺,,以性能穩(wěn)定,、數(shù)據(jù)處理能力強大的工控機為硬件系統(tǒng)的核心,數(shù)據(jù)庫技術(shù)和模塊化相結(jié)合,,大大縮短了系統(tǒng)開發(fā)周期,,同時使得系統(tǒng)具有良好的可視性、交互性和擴展性,。它能夠完成飛行模擬器各個參數(shù)的采集,、控制,并通過計算機的數(shù)據(jù)采集,、參數(shù)控制,、實時曲線、事故報警等畫面,,使操作人員能夠了解機載設(shè)備的運行情況,,及時發(fā)現(xiàn)和處理問題,,測試功能齊全,防差錯能力強,,工作運行穩(wěn)定可靠,,用戶界面友好,為飛行器裝備的技術(shù)保障提供強大支持,。