應(yīng)艷茹,楊宛璐,韓 立,王建普
(航空工業(yè)洪都,江西 南昌,330024)
隨著飛機(jī)的性能指標(biāo)、任務(wù)要求、系統(tǒng)集成等要求的提高,與之配套的高仿真模擬器變得越來越復(fù)雜,需要實(shí)時(shí)采集與處理的數(shù)據(jù)越來越多,種類越來越繁雜[1-2]。飛行訓(xùn)練模擬器數(shù)據(jù)采集系統(tǒng)是飛行訓(xùn)練模擬器座艙模擬分系統(tǒng)的重要組成部分,是整個(gè)飛行訓(xùn)練模擬器中的一項(xiàng)關(guān)鍵技術(shù)。
數(shù)據(jù)采集系統(tǒng)主要實(shí)現(xiàn)對模擬器座艙電氣設(shè)備的數(shù)據(jù)采集,將采集的數(shù)據(jù)通過以太網(wǎng)發(fā)送至飛機(jī)仿真軟件、座艙測試軟件,同時(shí)獲取飛機(jī)仿真軟件、座艙測試軟件的網(wǎng)絡(luò)數(shù)據(jù),將控制盒顯示數(shù)據(jù)發(fā)送至模擬器座艙總線上的控制盒。數(shù)據(jù)采集系統(tǒng)由硬件和軟件兩個(gè)部分組成,硬件提供數(shù)據(jù)采集系統(tǒng)運(yùn)行的平臺,軟件驅(qū)動(dòng)數(shù)據(jù)采集系統(tǒng)功能實(shí)現(xiàn)[3]。
數(shù)據(jù)采集系統(tǒng)的硬件包括主控制器、DI模塊、AI模塊、CAN總線模塊。
數(shù)據(jù)采集硬件各部件的功能如下:
1)主控制器:主控制器是數(shù)據(jù)采集硬件的核心部件,主要實(shí)現(xiàn)DI模塊數(shù)據(jù)和AI模塊數(shù)據(jù)的接收、CAN總線數(shù)據(jù)的收發(fā),以及以太網(wǎng)數(shù)據(jù)收發(fā)功能,完成數(shù)據(jù)的實(shí)時(shí)采集、計(jì)算和通訊任務(wù);
2)DI模塊:主要實(shí)現(xiàn)對模擬器座艙內(nèi)油門桿、操縱桿開關(guān)數(shù)字信號的采集功能;
3)AI模塊:主要實(shí)現(xiàn)對模擬器座艙內(nèi)油門桿、操縱桿傳感器模擬信號的采集功能;
4)CAN總線模塊:主要實(shí)現(xiàn)對模擬器座艙內(nèi)控制盒總線數(shù)據(jù)的采集和發(fā)送功能。
數(shù)據(jù)采集軟件的運(yùn)行現(xiàn)場是系統(tǒng)綜合聯(lián)試/測試環(huán)境、實(shí)裝使用環(huán)境。數(shù)據(jù)采集軟件主要實(shí)現(xiàn)系統(tǒng)初始化、數(shù)據(jù)采集功能、數(shù)據(jù)處理功能、網(wǎng)絡(luò)通訊功能、文件解析功能和用戶界面功能,具體如下:
1)系統(tǒng)初始化:硬件初始化及通訊網(wǎng)絡(luò)的初始化;
2)數(shù)據(jù)采集功能:根據(jù)模擬器座艙信號的信息,采集模擬器座艙內(nèi)的DI數(shù)據(jù)、AI數(shù)據(jù),收發(fā)CAN總線數(shù)據(jù);
3)數(shù)據(jù)處理功能:實(shí)現(xiàn)對AI數(shù)據(jù)的標(biāo)定、AI數(shù)據(jù)到物理量的轉(zhuǎn)換、標(biāo)定數(shù)據(jù)的本地保存功能;
4)網(wǎng)絡(luò)通訊功能:實(shí)現(xiàn)與飛機(jī)仿真軟件、座艙測試軟件的網(wǎng)絡(luò)數(shù)據(jù)交互;
5)文件解析功能:解析模擬器座艙內(nèi)信號的信息文件,文件內(nèi)容包括每個(gè)信號的信號名稱、信號所在設(shè)備或通道、信號值范圍、信號所在字節(jié)號、信號所在位號、位置、初值等信息;
6)用戶界面功能:創(chuàng)建對AI數(shù)據(jù)的實(shí)時(shí)監(jiān)控畫面,并創(chuàng)建AI數(shù)據(jù)的標(biāo)定操作界面及標(biāo)定數(shù)據(jù)的保存操作界面。
采用面向?qū)ο笠约敖Y(jié)構(gòu)化的設(shè)計(jì)方法,將數(shù)據(jù)采集軟件劃分為系統(tǒng)初始化部件、數(shù)據(jù)采集部件、數(shù)據(jù)處理部件、網(wǎng)絡(luò)通訊部件、文件解析部件和用戶界面部件,而這些軟件部件又由若干軟件單元和子單元組成,如圖1所示。
圖1 數(shù)據(jù)采集軟件單元體系結(jié)構(gòu)圖
主要介紹外部接口的設(shè)計(jì),外部接口主要包括與模擬器座艙內(nèi)的電氣設(shè)備、座艙測試軟件和飛機(jī)仿真軟件之間的接口,如圖2所示。
圖2 數(shù)據(jù)采集軟件外部接口關(guān)系圖
1)數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊包括DI數(shù)據(jù)采集、AI數(shù)據(jù)采集和控制盒收發(fā)信號。下面主要介紹AI數(shù)據(jù)采集的具體設(shè)計(jì)過程:
①對每一個(gè)AI信號,根據(jù)AI信號信息向量的元素中AI信號名稱、設(shè)備編號、通道號、采集范圍,調(diào)用AIO_GetValue函數(shù)對AI信號進(jìn)行采集;
②將獲取的AI信號值,通過計(jì)算公式,得到該信號的電壓/電流值,計(jì)算公式如下:
其中:y表示AI信號的電壓/電流值
x表示采集結(jié)果的信號值
x1表示采集范圍的最小值
x2表示采集范圍的最大值
③ 計(jì)算所得的電壓/電流值將精度定位1/1000,多余小數(shù)位進(jìn)行截?cái)嗵幚恚?/p>
④ 將最終的電壓/電流值賦給該信號對應(yīng)的向量元素的信號值變量。
2)網(wǎng)絡(luò)通訊模塊
網(wǎng)絡(luò)通訊模塊包括接收飛機(jī)仿真軟件數(shù)據(jù)、接收座艙測試軟件數(shù)據(jù)和發(fā)送數(shù)據(jù)至座艙測試軟件三個(gè)子模塊。下面主要介紹發(fā)送數(shù)據(jù)至座艙測試軟件子模塊的具體設(shè)計(jì)過程:
① 定義發(fā)送至座艙測試軟件的數(shù)據(jù)變量tData2Test_NetData并初始化;
② 更新待發(fā)數(shù)據(jù)tData2Test_NetData中的AI標(biāo)定數(shù)據(jù);
③更新待發(fā)數(shù)據(jù)tData2Test_NetData中的實(shí)時(shí)電壓/電流值;
④更新待發(fā)數(shù)據(jù)tData2Test_NetData中的控制盒工作狀態(tài);
⑤判斷是否進(jìn)入測試模式,若是,則調(diào)用UDP點(diǎn)對點(diǎn)發(fā)送數(shù)據(jù)函數(shù)發(fā)送數(shù)據(jù)至座艙測試軟件。
3)文件解析模塊
文件解析模塊包括DI信號信息文件解析、AI信號信息文件解析和總線接收/發(fā)送信號信息文件解析三個(gè)子模塊,下面主要介紹DI信號信息文件解析模塊的具體設(shè)計(jì)過程:
①讀取DI信號信息文件,獲取文件中的信息內(nèi)容,包含DI信號名稱、設(shè)備編號、通道號、初值等信息;
②將從DI信號信息文件中讀取的DI信號映射至DI信號值變量地址。
軟件的運(yùn)行流程如圖3所示。
圖3 軟件運(yùn)行流程
該數(shù)據(jù)采集系統(tǒng)已應(yīng)用于某型飛行訓(xùn)練模擬器的設(shè)計(jì)開發(fā)中,并取得了較好的效果。該設(shè)計(jì)方法完全實(shí)現(xiàn)了軟件工程中高內(nèi)聚、低耦合的設(shè)計(jì)思路,提高了軟件的復(fù)用性、可讀性。同時(shí),將可變部分寫入配置文件中,簡化了開發(fā)工作,縮短了開發(fā)周期,為后期維護(hù)提供了便利。