摘 要:隨著電子技術(shù)的發(fā)展,航空機載設(shè)備越來越多,也越來越復雜,座艙顯示儀表日趨電子化和綜合化。為此,ARINC公司制訂的ARINC661規(guī)范,對座艙顯示系統(tǒng)(CDS)和用戶應(yīng)用系統(tǒng)(UA)之間的通信接口進行了定義。通過對ARINC661規(guī)范的分析,研究了窗體部件的概念,重點對CDS與UA之間圖形用戶的接口定義文件(DF)展開了研究,研制開發(fā)了一套基于ARINC661規(guī)范的DF文件生成軟件,為國內(nèi)飛機座艙顯示系統(tǒng)的開發(fā)提供了便利。
關(guān)鍵詞:ARINC661; DF文件; XML; 圖形用戶接口
中圖分類號:
TN873-34; V241
文獻標識碼:A
文章編號:1004-373X(2012)05
-0156
-04
Research and implementation of definition file designer based on ARINC Specification 661
YUAN Lei1, SUN Yong-rong1, ZHOU Xiao-da2, XU Gang2, CAO Meng1
(1.College of Automation Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China;
2.Shengyang Aircraft Design Research Institute,AVIC, Shenyang 110035, China)
Abstract:
With the rapid development of electronic technique, more and more avionics are developed. To standardize the interface between CDS (Cockpit Display System) and UA (User Application), the ARINC Company drew up ARINC 661 specification. The concept of widget is studied by analyzing the principle of the ARINC 661 specification. The definition file that is the definition of graphical interface between CDS and UA is researched. On this basis, a DF designer software system based on the specification was developed for providing great convenience to the research of cockpit display system in our country.
Keywords: ARINC661; definition file; XML; graphical interface
收稿日期:2011-10-21
0 引 言
飛機座艙是飛行員在空中活動的工作場所,飛行員靠座艙中各種顯示器獲得飛機信息,進而做出決策進行飛機的操縱和控制。因此,座艙的顯示與控制系統(tǒng)在飛機的人機界面中占有非常重要的地位。
隨著電子技術(shù)的飛速發(fā)展,航空電子的綜合化程度和人機交互的要求都越來越高。但是由于缺乏行業(yè)規(guī)范,不同廠家生產(chǎn)的航空電子器件接口各不相同,給飛機座艙顯示系統(tǒng)(Cockpit Display System,CDS)的開發(fā)帶來了不便。為此,ARINC公司針對座艙顯示系統(tǒng)到用戶系統(tǒng)(User Application,UA)的接口制訂了ARINC661規(guī)范 [1],經(jīng)過近幾年的修訂與增補,該規(guī)范已相繼為波音、空客等公司采用,逐步發(fā)展成為行業(yè)標準[2]。
ARINC661獨特之處在于將畫圖代碼和管理可見元素的邏輯、位置及狀態(tài)等代碼分離,并為此定義了二者之間的接口(窗體部件Widget)庫和二者之間的通信協(xié)議。在具體實現(xiàn)方式上,利用定義文件(Definition File,DF)描述CDS的界面顯示和維護CDS與UA之間的通信等。對于DF的生成,目前市場上支持的軟件有VAPS XT 661和SCADE等[5],但是由于與自主CDS內(nèi)核不完全兼容等問題,有針對性地開發(fā)ARINC661 DF設(shè)計軟件顯得尤為需要。
本文首先對基于ARINC661規(guī)范的CDS系統(tǒng)進行分析,研究DF文件的結(jié)構(gòu),在此基礎(chǔ)上建立一個基于該規(guī)范的DF文件生成軟件系統(tǒng),為飛機座艙顯示系統(tǒng)的開發(fā)提供一個軟件平臺。
1 基于ARINC661的DF文件結(jié)構(gòu)分析
ARINC661規(guī)范為CDS的設(shè)計引入了一個基本的GUI集合:窗體部件庫(Widget Library)并為每種Widget給出了詳細的定義。使用該窗體部件庫,CDS的主體設(shè)計過程可簡單地描述為Widget結(jié)構(gòu)及屬性的設(shè)置。而UA(航空電子設(shè)備仿真程序)與CDS主要的信息交互過程也可簡單地描述為Widget屬性值的傳輸。這實質(zhì)上為CDS的設(shè)計引入了一個開放的模式,即隨著窗體部件配置的不同,CDS可以呈現(xiàn)出不一樣的功能。ARINC661標準通過一個DF定義文件,定義并確定CDS上所有的顯示信息。
DF文檔的引入,使得CDS的圖形顯示設(shè)計與功能邏輯設(shè)計徹底分離,其中CDS負責圖形的顯示,UA負責功能邏輯的設(shè)計,其功能劃分示意圖如圖1所示。
DF是CDS可加載的標準格式文件,它指定了UA接口頁面中所有窗體部件的屬性參數(shù)與層次結(jié)構(gòu)。包括在CDS中加載和解釋DF文件,其主要是創(chuàng)建(實例化并對所有參數(shù)進行初始設(shè)置)窗體部件的過程。采用這種CDS預(yù)先加載DF文件,將確定的窗體部件存儲在CDS存儲器中,可降低內(nèi)存的占用率,減小運行階段對系統(tǒng)總線帶寬的需求。
DF文件的內(nèi)容可劃分為三個模塊,分別為“符號圖形定義塊”、“圖像定義塊” 和“窗體定義塊”,即Symbol塊、Picture塊和Layer塊。Symbol塊的定義位于DF剛開始的位置,在UA圖層定義之前,DF中的任意的UA圖層都能引用該DF中定義的符號;Picture塊主要是引入一個外部PNG圖像,將其定義保存到Picture庫中,它們可以被各種各樣的窗體部件引用;Layer塊是DF文件作為圖形接口軟件的主體部分,主要用來描述窗體的布局內(nèi)容,每個塊包括一個圖層的完整定義,Layer塊描述了圖層中的UA窗體部件以及這些窗體部件屬性參數(shù)和層次結(jié)構(gòu)。DF的結(jié)構(gòu)設(shè)計如圖2所示。
從圖2可以看出,在DF中,Picture及Symbol的定義放在文件頭描述之后,Widget定義之前,且文檔的主體部分還是Widget定義。由于DF文檔描述了CDS大量的信息,其結(jié)構(gòu)化設(shè)計可以提高信息存取的效率。
DF最終以二進制的形式應(yīng)用于實際CDS,但是在CDS的設(shè)計過程中,尤其是在模擬開發(fā)階段,為了減輕設(shè)計人員的負擔,DF的描述語言應(yīng)具備很好的可讀性。ARINC661規(guī)范中推薦XML作為DF的設(shè)計語言。
2 DF文件設(shè)計軟件開發(fā)與實現(xiàn)
2.1 軟件整體結(jié)構(gòu)
本文基于ARINC661規(guī)范開發(fā)的DF文件設(shè)計軟件,軟件操作者在本軟件界面上根據(jù)需求調(diào)用Widget庫設(shè)計界面,配置相應(yīng)屬性,并根據(jù)設(shè)計的具體需求選用通用Symbols或自定義Symbol,設(shè)計完成后可生成XML-DF文件。如果需修改已存在的XML-DF,可利用XML解釋器導入該DF文件,從而再次進入DF的設(shè)計過程。XML-DF設(shè)計完成后,可利用XML轉(zhuǎn)二進制DF模塊,從而生成二進制DF文件,從而可直接應(yīng)用于工程實際。利用本文中開發(fā)完成的軟件設(shè)計DF的流程圖,如圖3所示。
2.2 主要功能模塊
DF設(shè)計軟件主要實現(xiàn)窗體部件樹形結(jié)構(gòu)的設(shè)計、符號圖形設(shè)計、外部PNG圖像定義、XML格式DF文件生成與解釋、XML格式DF文件到二進制DF文件的轉(zhuǎn)換等五個方面的功能。
(1) 窗體部件樹形結(jié)構(gòu)設(shè)計模塊:包括窗體部件樹形結(jié)構(gòu)圖的創(chuàng)建、與樹形結(jié)構(gòu)圖對應(yīng)的窗體部件外觀預(yù)覽、以及窗體部件節(jié)點的新建、復制、剪切、粘貼、刪除、屬性修改等操作,方便用戶直觀地分析DF文件的整體布局。
(2) Symbol設(shè)計模塊:包括新的Symbol圖形的創(chuàng)建、加載并修改庫中已有的Symbol圖形、保存Symbol圖形至Symbol庫以供Layer塊引用。
(3) Picture定義模塊:檢測并加載路徑PNG圖像,讀取PNG圖像像素點信息,保存PNG圖像至Picture庫以供相關(guān)窗體部件引用。
(4) XML格式DF文件生成與解釋模塊:包括由窗體部件樹形結(jié)構(gòu)生成符合ARINC661規(guī)范的XML格式DF文件,加載XML格式DF文件,以實現(xiàn)對DF文件的復用。
(5) XML格式DF文件到二進制DF文件轉(zhuǎn)換模塊:將設(shè)計好的XML定義文件轉(zhuǎn)化成二進制DF定義文件,這是整個軟件系統(tǒng)的最終目標。
3 DF文件設(shè)計軟件關(guān)鍵技術(shù)研究
3.1 XML格式DF文件生成技術(shù)研究
XML格式DF文件需符合文檔類型定義(DTD)規(guī)范,為此,本文中引用一個外部的DTD文件,用以規(guī)范DF文件的結(jié)構(gòu),如圖4所示。其中,根元素節(jié)點“a661_df”中包括以下內(nèi)容:
(1) Model元素是用來指定其父元素特性,是a661_df,a661_layer以及a661_widget等元素必須包含的子元素。
(2) SymbolTable元素用于定義一個存儲在DF中的符號圖形定義的列表,其中可包含多個Symboldefn元素,每個Symboldefn元素定義一個符號的圖形化顯示實體。
(3) PictureTable元素是一個可選的子元素,用于定義一個存儲在DF中的圖片列表,可包含多個Picturedefn元素。在Picturedefn元素指定所定義圖片的像素格式、文件路徑以及文件名等信息。
(4) Layer元素用以定義一個圖層,由一個Model子元素指定其特性,另外可包含一個或多個Widget子元素。由于容器型Widget元素的可嵌套性,Layer元素可以看作Widget窗體部件樹的根節(jié)點。
利用.NET Framework中提供的類,可以生成XML格式DF文件,具體可有兩種實現(xiàn)方法:XmlWriter類的方法;XmlDocument類的方法。其中,第一種方法主要用于創(chuàng)建全新的XML文檔,而第二種方法則可用于對已有文檔進行編輯、更新和刪除操作。
3.2 XML格式DF文件到二進制DF文件轉(zhuǎn)換
3.2.1 DF文件的錯誤檢測
由于BIN格式DF文件的不易讀性,定義文件錯誤檢測的主要工作應(yīng)在XML定義文件中完成,目前主要考慮了三個方面可能出現(xiàn)的錯誤:
(1) 語法錯誤:如屬性值格式不符合要求因而無法被轉(zhuǎn)化、屬性值超出其數(shù)據(jù)格式范圍等問題的檢查,并對該異常情況進行報錯處理。
(2) 樹形結(jié)構(gòu)邏輯錯誤:如同一個DF文件中出現(xiàn)重復的圖層ID或窗體部件ID、出現(xiàn)Widget庫中未定義的窗體部件類名或?qū)傩悦Q、父子關(guān)系在規(guī)范中為非法的等問題,出現(xiàn)這種問題,可跳過該圖層或窗體部件的加載,并報錯。
(3) 加載Symbol定義文件、Picture定義文件中的錯誤:如將要加載的Symbol的SymbolReference(PictureReference)與庫中已有的SymbolName(PictureID)重復,此時可通過修改SymbolReference(PictureReference)繼續(xù)加載并報錯以提示用戶。如出現(xiàn)Picture定義文件中ImageFile屬性所指定的路徑中不存在相關(guān)PNG文件,則只能跳過該元素繼續(xù)加載,并報錯。
3.2.2 XML到BIN二進制文件的轉(zhuǎn)換
XML-DF文件到BIN-DF文件的轉(zhuǎn)換主要涉及XML-DF文件的讀取和BIN-DF文件的生成。BIN-DF文件的生成比較簡單,按照規(guī)范中定義的格式要求,利用二進制文件的輸入輸出流即可實現(xiàn)。下面介紹XML格式DF文件中Picture、Layer塊的讀取方法。
Picture定義塊在XML-DF和BIN-DF中定義不同:XML-DF中只需要給出外部PNG圖片的文件路徑名稱等信息,而BIN-DF中則必須包含PNG文件的全部像素點信息。故而Picture定義塊的轉(zhuǎn)換有很大的工作量在于對PNG文件的像素點讀取,這個可以通過Graphics類實現(xiàn)。
Layer塊的讀取則可采用遞歸的方法,其算法流程圖如圖5所示。
4 DF文件設(shè)計軟件測試
本文中研究開發(fā)的DF文件設(shè)計軟件主界面如圖6所示。界面左側(cè)為DF文件樹形結(jié)構(gòu)圖,中間為XML-DF文件示例,右側(cè)為所選中節(jié)點的屬性列表。用戶可通過工具欄中的按鈕添加或刪除圖層以及窗體部件,可通過右側(cè)屬性列表框修改窗體部件屬性。
所生成的二進制DF文件如圖7所示。
5 結(jié) 語
本文主要介紹了通用DF設(shè)計平臺的設(shè)計,通過該軟件平臺,可生成符合ARINC661規(guī)范的XML-DF文檔,并轉(zhuǎn)換成二進制的DF文件。該軟件實現(xiàn)了一個含有36種窗體部件庫,并提供專用的Widget設(shè)計界面,設(shè)計人員可以方便、高效地設(shè)計相關(guān)Widget的結(jié)構(gòu)和屬性。通過一個自定義Symbol專用設(shè)計界面,設(shè)計人員可以通過各類Symbol定義命令的組合配置快速地設(shè)計出所需Symbol的定義。
實踐表明,本文研究開發(fā)的DF設(shè)計平臺,可以使得設(shè)計人員準確、方便且高效地設(shè)計出規(guī)范化的基于XML語言的DF文件,并進一步轉(zhuǎn)成二進制的DF文件,從而為飛機座艙顯示系統(tǒng)的開發(fā)提供了很大的便利。
參 考 文 獻
[1]ARINC. Cockpit display system interfaces to user systems ARINC specification 661-3 \\[M\\]. \\[S.l.\\]:Aeronautical Radio INC., 2007.
[2]劉建,劉勤,孫永榮,等.ARINC661規(guī)范及其應(yīng)用開發(fā)研究[J].計算機與現(xiàn)代化,2010(4):188-192.
[3]張磊,莊達民,顏吟雪.飛機座艙顯示界面編碼方式[J].南京航空航天大學學報,2009(4):466-469.
[4]楊大韜,秦克,閔紹榮.基于XML的艦艇作戰(zhàn)系統(tǒng)接口建模[J].船海工程,2010,39(5):164-168.
[5]JENSEN D. B787 Cockpit: Boeing's bold move \\[EB/OL\\]. \\[2005-09-01\\]. http://www.aviationtoday.com/av/commercial/B787-Cockpit-Boeings-Bold-Move_1181.html.
[6]劉碩,林榮超.綜合座艙顯示控制系統(tǒng)的設(shè)計與實現(xiàn)\\[J\\].現(xiàn)代電子技術(shù),2010,33(15):160-162.
[7]NAVARRE D, PALANQUE P, LADRY J F, et al. An architecture and a formal description technique for the design and implementation of reconfigurable user interfaces \\[J\\]. Lecture Notes in Computer Science, 2008, v 5136 LNCS, 208-224.
[8]NAVARRE D, PALANQUE P, BASNYAT S. A formal approach for user interaction reconfiguration of safety critical interactive systems \\[J\\]. Lecture Notes in Computer Science, 2008, v 5219 LNCS, 373-386.
[9]LEFEBVRE Y. A flexible solution to deploy avionics displays to multiple embedded platforms \\[C\\]// AIAA/IEEE Digital Avionics Systems Conference-Proceedings. \\[S.l.\\]: IEEE, 2008:5A31-5A39.
[10]劉基林.Visual C# 2008寶典\\[M\\].北京:電子工業(yè)出版社,2008.
作者簡介:
袁 磊 女,1989年出生,江蘇南通人,碩士研究生。主要研究領(lǐng)域為精密儀器及機械、計算機應(yīng)用等。
(上接第152頁)
[6]孫優(yōu)賢,邵惠鶴.工業(yè)過程控制技術(shù)[M].北京:化學工業(yè)出版社,2006.
[7]鄧元望,袁茂強,劉長青.傳熱學[M].北京:中國水利水電出版社,2010.
[8]張冬,王濤.基于RBF神經(jīng)網(wǎng)絡(luò)的超高壓繼電保護的算法研究[J].現(xiàn)代電子技術(shù),2011,34(20):196-199.
[9]馬翔,陳新楚,王勁伯.均勻設(shè)計法在RBF神經(jīng)網(wǎng)絡(luò)樣本優(yōu)選中的應(yīng)用[J].模式識別與人工智能,2005,18(2):252-255.
[10]王劍,薛飛.一種RBF神經(jīng)網(wǎng)絡(luò)的自適應(yīng)學習算法[J].現(xiàn)代電子技術(shù),2011,34(3):141-143.
[11]韓力群.人工神經(jīng)網(wǎng)絡(luò)理論、設(shè)計及應(yīng)用[M].北京:化學工業(yè)出版社,2002.
[12]耿永剛.一種新型的神經(jīng)網(wǎng)絡(luò)預(yù)測控制方法\\[J\\].現(xiàn)代電子技術(shù),2010,33(20):148-151.
作者簡介:
王瑞華 男,1974年出生,吉林龍井人,工程師。主要研究方向為空調(diào)系統(tǒng)節(jié)能優(yōu)化控制。