佘巧燕 汪海涵



摘要:控制顯示單元是直升機座艙中的重要人機接口,承擔(dān)了大部分的交互控制和顯示功能。當(dāng)前,各型直升機控制顯示單元的顯示控制需求不一樣,導(dǎo)致軟件開發(fā)難度和開發(fā)費用增加。為了使各型控制顯示單元軟件通用,提出一種基于窗體庫的軟件設(shè)計方法,該方法將窗體構(gòu)成的DF作為消息進行傳輸,使得圖形顯示與邏輯管理完全分開。最后將該方法用在某型直升機及其模擬器上,聯(lián)試和運行結(jié)果表明:該方法簡單可行,能清晰指導(dǎo)任務(wù)軟件的正常運行,使得軟件開發(fā)工作更加.簡便,加快了軟件開發(fā)進度,節(jié)約了成本,具有可擴展性、可維護性。以后還可將代碼直接移植到其它直升機型號和模擬器。
[關(guān)鍵詞]交互控制 窗體庫 圖形 可移植
1 引言
控制顯示單元簡稱CDU。在航空電子系統(tǒng)中,CDU主要與綜合任務(wù)處理機(IMP)通信,是直升機座艙中的一個主要控制部件,承擔(dān)了大部分的交互控制和顯示功能,每個型號直升機根據(jù)需要都會配置一至兩臺控制顯示單元,方便駕駛員修改、裝訂各類參數(shù)。
目前,各類在役直升機和模擬器的CDU軟件與IMP軟件按功能需求來定義,CDU的按鍵采集、圖形顯示和畫面調(diào)度不受IMP控制,.兩者之間只進行一些簡單的數(shù)據(jù)交換,每次軟件開發(fā)或更改都需在CDU和IMP兩端同時進行。由于每個型號CDU軟件與IMP軟件設(shè)計具有相對的唯一性,不能將代碼直接平移到其它型號,且不能實現(xiàn)與模擬器之間互換,可擴展性和維護性差,隨著型號越來越多,軟件復(fù)雜性和需求變更變得更頻繁,需要多人協(xié)同開發(fā),軟件開發(fā)周期變長,采用以前的軟件設(shè)計方式已經(jīng)不能滿足需要。鑒于此,從工程應(yīng)用角度出發(fā),針對CDU提出一·種基于窗體庫的軟件設(shè)計方法,并將該方法成功應(yīng)用到某型直升機和模擬器上。
2 窗體庫理念
傳統(tǒng)上的CDU軟件與IMP軟件由開發(fā)人員自己進行定義和編寫,最終得到包含基于內(nèi)部規(guī)則及邏輯的能將信息呈現(xiàn)的可執(zhí)行程序。而基于窗體庫的軟件設(shè)計方法將CDU的圖形繪制代碼和邏輯控制代碼區(qū)分開,將所有的邏輯控制及數(shù)據(jù)存儲交由IMP管理,系統(tǒng)結(jié)構(gòu)如圖1所示。在圖1中,DF消息在IMP和CDU之間被交換,一旦用戶操作被處理,IMP端將發(fā)送信息給CDU更新顯示。
CDU顯示系統(tǒng)負(fù)責(zé)將窗體顯示呈現(xiàn)給最終使用者,所有的窗體都在窗體庫里被定義,并以唯一的ID號用以標(biāo)識,這種類型的標(biāo)識方式簡化了CDU和IMP之間的消息交換。窗體命令構(gòu)成了DF,用于更新顯示,按圖形功能將窗體命令分為控制命令、繪圖命令和特殊圖符命令,包含圖形顯示屬性,如位置、大小、顏色、文本、閃爍等信息。再往下一個級,連接到CDU的物理顯示被劃分為一個或者多個窗口,每個窗口可以渲染多個層級,層級可以交疊但窗口不能交疊,用以創(chuàng)建最終結(jié)果,如圖2所示。CDU在整個運行過程中,所有窗體屬性的改變由用戶應(yīng)用程序IMP進行管理和控制,CDU響應(yīng)來自按鍵、觸摸屏、鼠標(biāo)、鍵盤或者其他輸入設(shè)備的用戶操作事件,這些交互操作將對窗體顯示產(chǎn)生作用或者生成新的事件,IMP負(fù)責(zé)接收這些事件消息進而控制CDU顯示,這樣的實時交互機制具備如下好處:CDU軟件只需編寫、編譯、測試、驗證一次;改變應(yīng)用邏輯流程的時候,僅僅需要修改IMP軟件。
3 CDU軟件設(shè)計
3.1 數(shù)據(jù)通訊.
CDU與IMP之間的應(yīng)用層數(shù)據(jù)按數(shù)據(jù)幀傳輸,每個數(shù)據(jù)幀從前到后包括消息塊編號、消息塊長度和消息塊內(nèi)容。消息塊編號指CDU與IMP應(yīng)用層軟件之間需要交換的數(shù)據(jù)塊結(jié)構(gòu)的編號,從0開始編號,依次遞增,占用2個字節(jié);消息塊長度為消息塊內(nèi)容的字節(jié)個數(shù),占用2個字節(jié);消息塊內(nèi)容指CDU與IMP之間需要交換的數(shù)據(jù)塊結(jié)構(gòu)具體內(nèi)容,長度大小不定,依據(jù)具體內(nèi)容而定。
3.2 接口定義和消息流程
CDU與IMP應(yīng)用層之間接口關(guān)系如圖3所示。IMP到CDU僅定義2個數(shù)據(jù)塊,分別為顯示數(shù)據(jù)DF消息和其它消息塊;CDU到IMP同樣包括2個數(shù)據(jù)塊,分別為按鍵消息塊和其它消息塊。
通信底層握手成功后,IMP主動周期發(fā)送顯示數(shù)據(jù)塊,該數(shù)據(jù)塊采用動態(tài)可變長DF黑包格式,用于控制CDU顯示每一幅畫面,它對整個CDU來說尤為關(guān)鍵,具體解析詳見后面第3.3節(jié),按鍵消息塊將CDU采集到的按鍵碼值實時報告給IMP,用于畫面更改或者切換,通過這兩個消息塊可以控制CDU顯示用戶需要的圖形,同時可實現(xiàn)數(shù)據(jù)裝訂修改功能。其它消息塊用于傳輸特定信息,如模式控制、離散量采集、故障上報等。
3.3 DF消息
DF消息包括命令頭、DF數(shù)據(jù)長度、窗體命令和命令尾4部分,其中窗體命令按功能分為控制命令、繪圖命令和特殊圖符命令,見表1、表2、表3,所有的窗體命令構(gòu)成窗體庫,窗體庫在CDU端定義和實現(xiàn),每個窗體有唯一的ID號標(biāo)識。
在窗體庫中,控制命令用于控制圖形的線寬、圖形的線型、字符的字體及大小、圖形與字符的閃爍及顏色等信息;繪圖命令用于控制CDU繪制基本圖形,如:點、線、橢圓、多邊形、扇形、弧線、中英文字符串及位圖等;特殊圖符命令列舉了XX1、XX2、輸入法等常用圖符。繪圖命令和特殊圖符命令包含了每個圖符的坐標(biāo)、大小、旋轉(zhuǎn)角度、特殊處理等屬性。
4 應(yīng)用
采用基于窗體庫的CDU軟件設(shè)計方法,關(guān)鍵在于DF消息的生成和解析。圖4為一個簡單畫面基于DF消息的顯示流程。圖中圍起來的兩個點畫線框分別代表IMP和CDU,從中可以看出,一幅畫面可以按照DF消息拆成一個個窗體命令,由對應(yīng)的封裝函數(shù)將這些不同命令壓縮成一個DF黑包,由IMP發(fā)送出去,CDU收到DF包后調(diào)用解析函數(shù)將DF黑包分解成不同的窗體命令,再依次調(diào)用窗體庫從而得到目標(biāo)圖形畫面。
CDU在實驗室的仿真運行效果如圖5所示,當(dāng)IMP斷開時,CDU顯示黃色閃爍字符“通信中斷”,通信穩(wěn)定建立后,依次按壓CDU面板,上的按鍵可以進入不同的畫面或者修改相應(yīng)參數(shù),畫面切換和參數(shù)修改由IMP根據(jù)CDU傳送的按鍵消息控制,CDU負(fù)責(zé)繪圖和采集用戶操作事件。最后將該方法應(yīng)用到某型直升機和模擬器上,試驗和運行結(jié)果表明:該方法通用性強,能正確指導(dǎo)任務(wù)的執(zhí)行,滿足各種畫面的顯示控制和參數(shù)裝訂,CDU軟件可在不同直升機型號及模擬器之間互換,加快軟件開發(fā)進度,有效降低研制費用。
5 結(jié)束語
文章結(jié)合工程應(yīng)用提出了基于窗體庫的CDU軟件設(shè)計方法,該方法實用性強,打破了以往直升機型號和模擬器封閉式的獨立軟件設(shè)計,CDU采用調(diào)用窗體庫的方式顯示IMP發(fā)送的顯示數(shù)據(jù)DF消息包,同時將采集到的用戶事件傳送給IMP,實現(xiàn)IMP對CDU完全管控。
CDU與IMP每完成一次軟件開發(fā),可將相應(yīng)代碼直接移植到其它仿真平臺(含模擬器)或者型號上去,只需對軟件進行少量更改甚至不更改,加快了軟件開發(fā)進度,節(jié)約了成本。即便以后需求發(fā)生改變,也只需在IMP端做少量軟件修改即可完成對應(yīng)功能,可擴展性和可維護性變強。
目前該方法已成功應(yīng)用到某型直升機和模擬器上,隨著以后直升機型號越來越多,相信該方法會得到更廣泛的應(yīng)用和推廣。
參考文獻
[1]張海藩。軟件工程導(dǎo)論[M].北京:清華大學(xué)出版社,2003.
[2] Aeronaut ical Radio INC. ARINC Characteristic 702A-3 Advanced flight management computer system[S]. USA:Aeronautical Radio INC, 2006.
[3]雅各布森,布謝,朗博,統(tǒng)一軟件開發(fā)過程[M].北京:機械工業(yè)出版社,2001.
[4]Arinc 661 Specification: Cockpit Display System Interfaces to UserSystems [S]. Aeronautical Radio INC,2002.
[5]馬銳。飛行管理系統(tǒng)性能優(yōu)化與控制研究[D].西安:西北工業(yè)大學(xué),2006.
[6]熊華鋼,王中華。先進航空電子綜合技術(shù)[M].北京:國防工業(yè)出版社,2009.