999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

民用飛機(jī)電子飛行儀表仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2014-01-21 00:53:36周濤李璐
電子設(shè)計(jì)工程 2014年22期
關(guān)鍵詞:計(jì)算機(jī)系統(tǒng)

周濤,李璐

(中航工業(yè)西安飛機(jī)工業(yè)(集團(tuán))有限責(zé)任公司 陜 西 西 安 7 10089)

飛行儀表是飛機(jī)性能參數(shù)和導(dǎo)航參數(shù)顯示的窗口,可為飛行員提供駕駛飛機(jī)所需的飛行參數(shù)、導(dǎo)航數(shù)據(jù)及飛機(jī)系統(tǒng)狀態(tài)等信息[1]。隨著航空電子綜合化的發(fā)展,現(xiàn)代民用飛機(jī)的座艙儀表系統(tǒng)已經(jīng)逐漸向電子飛行儀表系統(tǒng)(EFIS)過(guò)渡,以先進(jìn)的智能液晶顯示器取代原有的分離機(jī)電式儀表,提供給飛行員全新的人機(jī)界面,因此,對(duì)飛行員操作程序(POP)的評(píng)估也成為民用飛機(jī)頂層設(shè)計(jì)的重要環(huán)節(jié),以達(dá)到最佳的人機(jī)功效。為此,提供必要的仿真手段以驗(yàn)證電子飛行儀表系統(tǒng)顯示和操作的合理性顯得尤為重要,以實(shí)現(xiàn)需求驗(yàn)證和設(shè)計(jì)修改的快速、高效迭代,達(dá)到優(yōu)化設(shè)計(jì)過(guò)程、方便需求分析、降低開(kāi)發(fā)成本的目的[1]。本文就某型民用飛機(jī)電子飛行儀表仿真系統(tǒng)提出設(shè)計(jì)思路和實(shí)現(xiàn)方法。

1 總體設(shè)計(jì)

鑒于此仿真系統(tǒng)要經(jīng)歷多次的修改和迭代,以確定最終的顯示構(gòu)型方案,所以為保證系統(tǒng)具備足夠的靈活性和可擴(kuò)展性,采用模塊化設(shè)計(jì),各個(gè)前臺(tái)顯示模塊和控制板仿真程序作為獨(dú)立應(yīng)用程序以WIN32平臺(tái)下的OpenGL進(jìn)行開(kāi)發(fā),顯示構(gòu)型采用后臺(tái)文件進(jìn)行配置,以便于軟件調(diào)試和系統(tǒng)重構(gòu)。動(dòng)態(tài)仿真利用飛行模擬軟件X-Plane進(jìn)行二次開(kāi)發(fā),利用其中的飛機(jī)動(dòng)態(tài)數(shù)據(jù)模型對(duì)座艙儀表和視景進(jìn)行驅(qū)動(dòng)。靜態(tài)仿真采用Visual C++進(jìn)行開(kāi)發(fā),用于設(shè)置靜態(tài)參數(shù),改變各應(yīng)用程序的工作狀態(tài)和顯示內(nèi)容,同時(shí)對(duì)動(dòng)態(tài)參數(shù)進(jìn)行監(jiān)視,實(shí)現(xiàn)故障模擬、模式轉(zhuǎn)換、航路點(diǎn)設(shè)置、CAS告警仿真等特殊功能。數(shù)據(jù)網(wǎng)絡(luò)通訊采用TCP/IP協(xié)議的C/S架構(gòu),保證數(shù)據(jù)可靠有效的傳輸,其中服務(wù)器端作為數(shù)據(jù)中樞進(jìn)行系統(tǒng)數(shù)據(jù)的整體調(diào)度,各個(gè)客戶端應(yīng)用通過(guò)接口函數(shù)與其進(jìn)行通訊,實(shí)現(xiàn)數(shù)據(jù)的收發(fā)與控制,形成人在環(huán)路的閉環(huán)仿真系統(tǒng)。

1.1 系統(tǒng)軟件架構(gòu)

圖1 系統(tǒng)軟件架構(gòu)Fig.1 System software infrastructure

系統(tǒng)軟件主要由以下幾個(gè)部分組成:

1)主飛行顯示器(PFD)模塊

分為全屏模式、半屏模式和壓縮模式,同時(shí)提供左右兩側(cè)主駕駛PFD和副駕駛PFD,完成姿態(tài)航向指示器(ADI)和水平位置指示器(HIS)等各項(xiàng)功能。

2)多功能顯示器(MFD)模塊

實(shí)現(xiàn)地圖、系統(tǒng)簡(jiǎn)圖頁(yè)、調(diào)諧、電子檢查單、飛行管理系統(tǒng)、數(shù)據(jù)鏈路等多項(xiàng)功能。

3)發(fā)動(dòng)機(jī)指示(EI)模塊

分為正常模式和應(yīng)急壓縮模式,完成發(fā)動(dòng)機(jī)參數(shù)的顯示功能。

4)機(jī)組告警系統(tǒng)(CAS)模塊

分為正常模式和應(yīng)急壓縮模式,實(shí)現(xiàn)機(jī)組告警系統(tǒng)的各項(xiàng)功能。

5)飛行管理系統(tǒng)(FMS)模塊

實(shí)現(xiàn)飛行管理系統(tǒng)的初始化、飛行計(jì)劃設(shè)置、飛機(jī)性能管理等界面顯示功能。

6)系統(tǒng)簡(jiǎn)圖頁(yè)模塊

實(shí)現(xiàn)電源系統(tǒng)、液壓系統(tǒng)、環(huán)控系統(tǒng)、飛控系統(tǒng)等系統(tǒng)參數(shù)信息的顯示功能。

7)中央操縱臺(tái)模塊

實(shí)現(xiàn)油門(mén)臺(tái)、多功能鍵盤(pán)(MKB)、光標(biāo)控制裝置(CCD)、襟翼控制、剎車控制等各項(xiàng)功能。

8)頂部控制板模塊

實(shí)現(xiàn)非航電系統(tǒng)與航電系統(tǒng)的交聯(lián)控制和顯示的各項(xiàng)功能。

9)其他儀表與控制板

實(shí)現(xiàn)航空時(shí)鐘和電子備用儀表以及與航電系統(tǒng)相關(guān)的顯示控制板(DCP)、自動(dòng)飛行控制板(AFCP)等控制板。

10)動(dòng)態(tài)仿真模塊

用于響應(yīng)外部控制面板、菜單等的輸入信號(hào),產(chǎn)生動(dòng)態(tài)飛行數(shù)據(jù)激勵(lì)其它的仿真模塊,同時(shí)產(chǎn)生動(dòng)態(tài)的視景效果。動(dòng)態(tài)仿真模塊為一個(gè)獨(dú)立應(yīng)用程序,基于X-Plane進(jìn)行開(kāi)發(fā)。

11)靜態(tài)仿真模塊

靜態(tài)仿真軟件用于設(shè)置靜態(tài)參數(shù),改變各應(yīng)用程序的工作狀態(tài)和顯示內(nèi)容,同時(shí)對(duì)動(dòng)態(tài)參數(shù)進(jìn)行監(jiān)視,實(shí)現(xiàn)故障模擬、模式轉(zhuǎn)換、航路點(diǎn)設(shè)置、CAS告警仿真等特殊功能。

12)網(wǎng)絡(luò)通信與管理模塊

網(wǎng)絡(luò)通信與管理模塊作為整個(gè)仿真系統(tǒng)的數(shù)據(jù)中樞,采用TCP/IP協(xié)議的C/S網(wǎng)絡(luò)構(gòu)架,實(shí)現(xiàn)各應(yīng)用程序之間的數(shù)據(jù)傳輸與維護(hù),網(wǎng)絡(luò)通信架構(gòu)如圖2所示。

圖2 網(wǎng)絡(luò)通信架構(gòu)Fig.2 Network communication infrastructure

1.2 系統(tǒng)硬件架構(gòu)

系統(tǒng)整體硬件包括:綜合顯示仿真計(jì)算機(jī)兩臺(tái)、頂部控制板仿真計(jì)算機(jī)一臺(tái)、中央操縱臺(tái)仿真計(jì)算機(jī)一臺(tái)、主控服務(wù)器一臺(tái)、27寸觸摸顯示器五臺(tái)、32寸觸摸顯示器一臺(tái)、網(wǎng)絡(luò)交換機(jī)一臺(tái)、投影儀一臺(tái)。

各仿真計(jì)算機(jī)與服務(wù)器間采用以太網(wǎng)連接,采用C/S(客戶端/服務(wù)器)的星形連接方式。為了提高整個(gè)顯示系統(tǒng)的穩(wěn)定性和實(shí)時(shí)性,按照如下方式對(duì)顯示硬件進(jìn)行分配:顯示器#1和顯示器#2采用同一臺(tái)計(jì)算機(jī)進(jìn)行驅(qū)動(dòng),用于顯示主駕駛PFD、MFD、主警告燈,顯示控制面板、飛行指引控制面板、電子備用儀表以及起落架收放開(kāi)關(guān)等;顯示器#3采用一臺(tái)計(jì)算機(jī)進(jìn)行驅(qū)動(dòng),用于顯示副駕駛PFD、MFD;顯示器#4采用一臺(tái)計(jì)算機(jī)進(jìn)行驅(qū)動(dòng),用于加載中央操作臺(tái)控制面板;顯示器#5和顯示器#6采用一臺(tái)計(jì)算機(jī)進(jìn)行驅(qū)動(dòng),用于加載頂部板控制面板。主控計(jì)算機(jī)采用一臺(tái)計(jì)算機(jī),用于協(xié)調(diào)實(shí)驗(yàn)臺(tái)中各顯示系統(tǒng)之間的關(guān)系,管理儀表系統(tǒng)的邏輯數(shù)據(jù)庫(kù),用戶可以通過(guò)主控計(jì)算機(jī)對(duì)仿真實(shí)驗(yàn)臺(tái)進(jìn)行控制。主控計(jì)算機(jī)用于加載動(dòng)態(tài)仿真數(shù)據(jù)源,輸出飛行視景。系統(tǒng)硬件架構(gòu)如圖3所示。

圖3 系統(tǒng)硬件架構(gòu)Fig.3 System hardware infrastructure

2 工程實(shí)現(xiàn)

電子飛行儀表仿真系統(tǒng)按照自頂向下、模塊化思想開(kāi)發(fā),以保證系統(tǒng)的靈活性和可擴(kuò)展性,以下為系統(tǒng)主要功能模塊的工程實(shí)現(xiàn)方法,其中系統(tǒng)開(kāi)發(fā)流程如圖4所示。

圖4 系統(tǒng)開(kāi)發(fā)流程圖Fig.4 System develop flow chart

2.1 儀表和控制板仿真

各個(gè)儀表和控制板仿真模塊作為客戶端應(yīng)用,采用基于WIN32的OpenGL進(jìn)行開(kāi)發(fā),通過(guò)服務(wù)器程序進(jìn)行數(shù)據(jù)交互,數(shù)據(jù)發(fā)送方式為數(shù)據(jù)包發(fā)送,數(shù)據(jù)包中的數(shù)據(jù)按照統(tǒng)一的結(jié)構(gòu)體格式進(jìn)行數(shù)據(jù)規(guī)范。數(shù)據(jù)包結(jié)構(gòu)為:

typedef struct

{

int id; //ID為數(shù)據(jù)標(biāo)號(hào)

int SDI; //SDI為數(shù)據(jù)源標(biāo)識(shí)

int SSM; //SSM為數(shù)據(jù)狀態(tài)指示

double data; //data為數(shù)據(jù)值

char str[NAME_LEN]; //str為字符串

}LABEL_Def;

所有數(shù)據(jù)發(fā)送和接收都以此結(jié)構(gòu)進(jìn)行解析。軟件流程如圖5所示。

2.2 動(dòng)態(tài)仿真模塊

動(dòng)態(tài)仿真系統(tǒng)基于X-Plane10軟件進(jìn)行二次開(kāi)發(fā),采用動(dòng)態(tài)鏈接庫(kù)方式封裝成X-Plane的插件,利用X-Plane10中的通用飛機(jī)模型產(chǎn)生動(dòng)態(tài)數(shù)據(jù),建立動(dòng)態(tài)仿真與其他應(yīng)用程序之間的數(shù)據(jù)接口,通過(guò)服務(wù)器網(wǎng)絡(luò)通信模塊進(jìn)行數(shù)據(jù)傳輸。動(dòng)態(tài)仿真應(yīng)用程序通過(guò)加載X-Plane可識(shí)別數(shù)據(jù)接口文件,使X-Plane輸出需要的數(shù)據(jù),同時(shí)可向X-Plane10寫(xiě)入數(shù)據(jù)。

動(dòng)態(tài)仿真所要加載的數(shù)據(jù)在數(shù)據(jù)文檔DataRef.txt中,其中包括了X-Plane動(dòng)態(tài)數(shù)據(jù)編號(hào)、可識(shí)別的數(shù)據(jù)路徑地址、數(shù)據(jù)類型、數(shù)據(jù)讀寫(xiě)類型、動(dòng)態(tài)仿真輸出接口以及動(dòng)態(tài)仿真輸入接口信息。動(dòng)態(tài)仿真通過(guò)加載DataRef.txt數(shù)據(jù)文檔,加載所需產(chǎn)生的數(shù)據(jù)接口。用戶通過(guò)修改DataRef.txt中的內(nèi)容以增加和減少所需軟件接口,DataRef.txt接口文件格式如表1。

圖5 軟件流程圖Fig.5 Software flow chart

表1 動(dòng)態(tài)仿真數(shù)據(jù)接口文件Tab.1 Dynamic simulation data interface document

通過(guò)XPanle提供的API對(duì)DataRef接口文件進(jìn)行解析,發(fā)送飛機(jī)模型產(chǎn)生的動(dòng)態(tài)數(shù)據(jù),同時(shí)接收仿真控制板發(fā)送的控制指令參數(shù),其中用到的主要接口函數(shù)定義如下:

PLUGIN_API int XPluginStart(char* outName,char*outSig,char*outDesc) //進(jìn)程入口函數(shù)

{

char txtpath[60];

sprintf(txtpath,"%s",F(xiàn)LOAT_PATH);

SeperateTxt(FLOAT_PATH); //文本解析函數(shù)

for(int i=0;i

{

gFloatReadDataRef[i]=XPLMFindDataRef(FloatDataRef.DataRefReadDescriptions[i]);

//將接口參數(shù)寫(xiě)入緩沖區(qū)

}

//注冊(cè)飛行循環(huán)的回調(diào)函數(shù),周期為100 ms

XPLMRegisterFlightLoopCallback (InputOutputLoopCB,0.1, NULL);

return 1;

}

float InputOutputLoopCB (float elapsedMe, float elapsedSim, int counter, void*refcon)//回調(diào)函數(shù)定義

{

for(int i=0;i

{

label.data=XPLMGetDataf(gFloatReadDataRef[i]); //將緩沖區(qū)中的數(shù)據(jù)寫(xiě)入數(shù)據(jù)包

if(FloatDataRef.floatdata[i]!=(float)label.data)

{

FloatDataRef.floatdata[i]=(float)label.data;

sprintf (buf, “% s”,F(xiàn)loatDataRef.NameDataReadID[i]);

ClientUpdateParameter (hClient,F(xiàn)loatDataRef.NameDataReadID[i],&label);

//通過(guò)服務(wù)器接口函數(shù)發(fā)送數(shù)據(jù)包

}

}

return (float) 0.1;

}

2.3 數(shù)據(jù)通訊模塊

數(shù)據(jù)通訊軟件按照開(kāi)放式的軟件架構(gòu)要求,采用C/S通訊架構(gòu),使用TCP/IP協(xié)議進(jìn)行開(kāi)發(fā)。數(shù)據(jù)通訊軟件分為服務(wù)器端與客戶端兩部分程序。服務(wù)器端程序獨(dú)立運(yùn)行,客戶端程序?qū)⒆远x的接口函數(shù)以靜態(tài)鏈接庫(kù)的形式進(jìn)行發(fā)布,供各個(gè)客服端程序調(diào)用以和服務(wù)器端程序進(jìn)行數(shù)據(jù)通訊,其中主要的接口函數(shù)和調(diào)用形式示例如下:

int_tmain(int argc, _TCHAR*argv[])

{

LPVOID hClient;

int retval;

LABEL_Def label;

char server_ip_addr[NAME_LEN];

unsigned short port= (unsigned short) DEFAULT_PORT;

strcpy_s (server_ip_addr,sizeof(server_ip_addr),SERVER_IP_ADDR);

//將各個(gè)應(yīng)用模塊注冊(cè)為客戶端

hClient=ClientInit ( CLIENT_NAME, server_ip_addr,port);

//發(fā)布待發(fā)送的參數(shù)

retval=ClientPublishParameter( hClient, “a” );

//申請(qǐng)待接收的參數(shù)

retval=ClientSubscribeParameter( hClient, “b”);

memset( &label, 0, sizeof( LABEL_Def) );

int count=10000; //測(cè)試計(jì)數(shù)器

while( count)

{

count++;

label.data=count;

//更新發(fā)布的參數(shù)值

retval=ClientUpdateParameter( hClient, “a”, &label);

//獲取申請(qǐng)的參數(shù)值

retval=ClientGetParameter( hClient, “b”, &label);

Sleep( RESPONSE_DELAY );

}

//退出

retval=ClientExit( hClient);

return retval;

}

2.4 模塊調(diào)度策略

為實(shí)現(xiàn)電子飛行儀表仿真系統(tǒng)各顯示模塊的可重構(gòu)性,程序通過(guò)后臺(tái)配置文件進(jìn)行統(tǒng)一啟動(dòng),各個(gè)模塊的顯示位置通過(guò)配置文件進(jìn)行設(shè)置,如果顯示需求發(fā)生變更,只需修改配置文件即可,源代碼無(wú)需更改,提高了系統(tǒng)的可維護(hù)性。具體實(shí)現(xiàn)過(guò)程如下:

1)解析配置文件

利用C++標(biāo)準(zhǔn)模板庫(kù)的字符串類對(duì)配置文件進(jìn)行解析,獲取應(yīng)用程序名和位置信息。

2)批處理啟動(dòng)應(yīng)用模塊

利用WINDOWS API函數(shù) ShellExecute并通過(guò)傳入的參數(shù)對(duì)配置文件中的應(yīng)用模塊進(jìn)行統(tǒng)一啟動(dòng)。

3)顯示和部署應(yīng)用模塊

通過(guò)應(yīng)用模塊的入口主函數(shù)傳入的命令行參數(shù),進(jìn)行字符串解析,將獲取的位置參數(shù)傳入WINDOWS API函數(shù)SetWindowPos進(jìn)行各應(yīng)用模塊的顯示和部署。

3 結(jié)束語(yǔ)

文中對(duì)民用飛機(jī)電子飛行儀表仿真系統(tǒng)提出設(shè)計(jì)思路和實(shí)現(xiàn)方法,并成功應(yīng)用在某型民用飛機(jī)的概念設(shè)計(jì)階段,對(duì)飛行員操作程序(POP)的評(píng)估取得良好的效果,并對(duì)后續(xù)電子飛行儀表系統(tǒng)顯示方案的制定提供了有效的驗(yàn)證手段。

[1]夏煒,孫曉敏,郤文清.基于VAPS的電子飛行儀表系統(tǒng)顯示設(shè)計(jì)[J].航空電子技術(shù),2009,40(3):15-18.XIA Wei,SUN Xiao-min,XI Wen-qing.Design of electronic flight instrument system display based on VAPS[J].Avionics Technology,2009,40(3):15-18.

[2]王行仁.飛行實(shí)時(shí)仿真系統(tǒng)及技術(shù)[M].北京:北京航空航天大學(xué)出版社,1998.

[3]任泰明.TCP/IP網(wǎng)絡(luò)編程[M].北京:人民郵電出版社,2009.

[4]施瑞奈爾.OpenGL編程指南[M].7版.李軍,譯.北京:機(jī)械工業(yè)出版社,2010.

[5]李普曼,拉茹瓦,穆.C++Primer中文版[M].4版.李師賢,譯.北京:人民郵電出版社,2006.

[6]佩措爾德.Windows程序設(shè)計(jì)(珍藏版)[M].方敏,張勝,梁路平,趙勇,等譯.北京:清華大學(xué)出版社,2010.

猜你喜歡
計(jì)算機(jī)系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
計(jì)算機(jī)操作系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
穿裙子的“計(jì)算機(jī)”
基于計(jì)算機(jī)自然語(yǔ)言處理的機(jī)器翻譯技術(shù)應(yīng)用與簡(jiǎn)介
科技傳播(2019年22期)2020-01-14 03:06:34
計(jì)算機(jī)多媒體技術(shù)應(yīng)用初探
科技傳播(2019年22期)2020-01-14 03:06:30
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
信息系統(tǒng)審計(jì)中計(jì)算機(jī)審計(jì)的應(yīng)用
主站蜘蛛池模板: 在线观看视频一区二区| 亚洲V日韩V无码一区二区| 青青青伊人色综合久久| 久久中文字幕2021精品| 黄色网页在线观看| 波多野结衣一二三| 亚洲性视频网站| 久久天天躁狠狠躁夜夜躁| 中文字幕 欧美日韩| 九九热视频精品在线| 欧美视频在线播放观看免费福利资源| 思思热精品在线8| 五月婷婷亚洲综合| 中文字幕亚洲综久久2021| 狠狠色成人综合首页| 黄色网页在线播放| 91美女视频在线| 国产一区二区色淫影院| 欧美精品高清| 91福利一区二区三区| 无遮挡国产高潮视频免费观看| 欧美精品另类| 99ri国产在线| 动漫精品中文字幕无码| 亚洲中文字幕23页在线| 国产日韩欧美在线播放| AV片亚洲国产男人的天堂| 免费看美女毛片| 污污网站在线观看| 在线亚洲精品自拍| 国产探花在线视频| 9久久伊人精品综合| 谁有在线观看日韩亚洲最新视频 | 亚洲一级毛片免费看| 国产青榴视频| 婷婷激情五月网| 久久夜色精品| 久久天天躁狠狠躁夜夜躁| 性69交片免费看| 亚洲色图在线观看| 日本高清免费不卡视频| 精品五夜婷香蕉国产线看观看| 久久www视频| 22sihu国产精品视频影视资讯| 国产精品人成在线播放| 久久五月视频| 91久久青青草原精品国产| 久久国语对白| 日本免费精品| 风韵丰满熟妇啪啪区老熟熟女| 久久精品娱乐亚洲领先| 久久这里只有精品66| 国产亚洲精品自在线| 99re热精品视频国产免费| 九九精品在线观看| 免费看黄片一区二区三区| 成人毛片在线播放| 在线观看欧美国产| 国产福利免费在线观看| 久久男人视频| 国产国语一级毛片在线视频| 欧美色丁香| 成人精品免费视频| 欧美五月婷婷| 国产又黄又硬又粗| 国产精品漂亮美女在线观看| jizz在线免费播放| lhav亚洲精品| 日韩成人午夜| 国产精品亚欧美一区二区| 伊人久久大香线蕉影院| 精品伊人久久久久7777人| 91麻豆久久久| 人妻夜夜爽天天爽| 亚洲全网成人资源在线观看| 香蕉在线视频网站| 成人欧美日韩| 免费av一区二区三区在线| 久久福利片| 成人欧美日韩| 国精品91人妻无码一区二区三区| 日韩色图区|