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