(航空工業(yè)第一飛機(jī)設(shè)計(jì)研究院,陜西 西安 710089)
近年來,隨著航空工業(yè)的高速發(fā)展,航電系統(tǒng)的復(fù)雜度也隨之大幅提升。大型運(yùn)輸機(jī)顯示控制系統(tǒng)的發(fā)展與航電系統(tǒng)的發(fā)展相適應(yīng),正逐步從單立式機(jī)械儀表顯示和低綜合度電器儀表顯示向高度綜合化的顯示控制技術(shù)轉(zhuǎn)化。座艙人機(jī)界面更加簡潔,操作更加快捷,數(shù)字化程度更加全面,是當(dāng)前顯示控制系統(tǒng)的發(fā)展方向。圖形圖像處理技術(shù)、數(shù)字技術(shù)、信息技術(shù)的飛速發(fā)展,使大型運(yùn)輸機(jī)顯示控制系統(tǒng)取得了長足的進(jìn)步和發(fā)展。
顯示控制系統(tǒng)是飛行員與航電系統(tǒng)交互的人機(jī)接口,也是感知任務(wù)系統(tǒng)、飛控系統(tǒng)、機(jī)電系統(tǒng)、環(huán)控系統(tǒng)等非航電系統(tǒng)實(shí)時(shí)狀態(tài)的關(guān)鍵橋梁[1]。大型運(yùn)輸機(jī)顯示控制系統(tǒng)具有交聯(lián)關(guān)系復(fù)雜、接口眾多、功能邏輯復(fù)雜等特點(diǎn),且隨著功能不斷完善和系統(tǒng)不斷迭代,其規(guī)模也日趨龐大,這也對配套測試系統(tǒng)提出了嚴(yán)格的要求。如何能夠敏捷、準(zhǔn)確、高效地完成測試需求成為了目前亟需解決的難題。傳統(tǒng)測試為人員在環(huán)的開環(huán)測試方法,需要人工干預(yù),降低了測試效率。人工操作的測試流程存在無法復(fù)用、錯(cuò)誤率高、典型測試場景難以實(shí)現(xiàn)、特定故障場景難以復(fù)現(xiàn)等一系列問題[2]。為解決上述問題,本文設(shè)計(jì)了一種大型運(yùn)輸機(jī)顯示控制系統(tǒng)自動(dòng)化測試平臺(tái),能夠通過解析ICD(接口控制文件),自動(dòng)生成測試用例并通過圖像識(shí)別技術(shù)實(shí)現(xiàn)測試結(jié)果的自動(dòng)判讀,最終自動(dòng)生成測試報(bào)告,從而大幅提高了測試效率,滿足快速迭代測試的需求。
大型運(yùn)輸機(jī)顯示控制系統(tǒng)由顯示終端、顯示控制組件和顯示處理單元組成。為保證可靠性,同時(shí)部署兩套顯示處理單元和顯示控制組件,左右互為備份,確保失效或降級情況下的應(yīng)急操作。典型的顯示控制組件有系統(tǒng)啟動(dòng)板、顯示控制板、選擇轉(zhuǎn)換板、多功能鍵盤、軌跡球、導(dǎo)航控制板等。與顯示控制系統(tǒng)交聯(lián)的外系統(tǒng)有自動(dòng)飛行控制板、發(fā)動(dòng)機(jī)控制板、液壓控制板、起落架控制板、電源控制板、氣源控制板等幾十種控制板,其按鍵形式也分為按鍵、指示狀態(tài)按鍵、保護(hù)式按鍵、按鍵式旋鈕、按鍵式雙旋鈕、自動(dòng)回彈旋鈕等多種形式。大型運(yùn)輸機(jī)顯示控制系統(tǒng)顯示畫面又包括主飛行顯示區(qū)、多功能顯示區(qū)、導(dǎo)航畫面顯示區(qū)、飛行通告顯示區(qū)、主狀態(tài)顯示區(qū)、飛行管理顯示區(qū)、檢查單顯示區(qū)、發(fā)動(dòng)機(jī)信息顯示區(qū)和外系統(tǒng)簡圖顯示區(qū)等。
由此可見,大型運(yùn)輸機(jī)不同于戰(zhàn)斗機(jī)和其他小型飛機(jī),其顯示控制系統(tǒng)具有交聯(lián)邏輯復(fù)雜、顯示控制組件種類繁多、操作形式多變、顯示畫面類型多且變化多樣等特點(diǎn)。
顯示控制系統(tǒng)的傳統(tǒng)測試方法為人員在環(huán)的開環(huán)測試,測試人員根據(jù)試驗(yàn)任務(wù)書或系統(tǒng)功能更改單編寫紙質(zhì)的試驗(yàn)測試記錄,并根據(jù)系統(tǒng)詳細(xì)設(shè)計(jì)文件編寫操作測試用例。通過測試人員現(xiàn)場實(shí)操,判斷顯示控制系統(tǒng)是否滿足設(shè)計(jì)要求,以及是否存在功能缺陷。表1為傳統(tǒng)測試記錄,測試人員根據(jù)操作用例中的步驟逐一設(shè)置,并觀察系統(tǒng)響應(yīng)是否正確。
表1 傳統(tǒng)測試記錄
傳統(tǒng)測試方法的核心是測試人員,驗(yàn)證環(huán)境的配置和測試人員現(xiàn)場實(shí)操降低了測試效率。傳統(tǒng)測試記錄需要人工編寫,在少量更改和批量生產(chǎn)的情況下無法復(fù)用操作流程,造成設(shè)備平臺(tái)和人力資源浪費(fèi),嚴(yán)重影響開發(fā)周期[3-4]。
分析大型運(yùn)輸機(jī)顯示控制系統(tǒng)的特點(diǎn)和顯示控制系統(tǒng)傳統(tǒng)測試方法存在的弊端,大型運(yùn)輸機(jī)顯示控制系統(tǒng)自動(dòng)化測試平臺(tái)應(yīng)具有以下特點(diǎn):
① 能夠模擬多種類、多形式顯示控制組件激勵(lì)信號。
② 能夠根據(jù)ICD和網(wǎng)絡(luò)配置自動(dòng)生成測試用例基礎(chǔ)集[5]。
③ 能夠自動(dòng)批量執(zhí)行測試用例,測試過程應(yīng)為人不在環(huán)的閉環(huán)自動(dòng)測試。
④ 能夠?qū)y試用例進(jìn)行版本管理,形成測試用例庫,提高典型測試用例復(fù)用性。
⑤ 能夠通過圖像識(shí)別技術(shù),自動(dòng)識(shí)別顯示數(shù)據(jù),并自動(dòng)判讀測試結(jié)果[6]。
⑥ 能夠自動(dòng)生成測試報(bào)告。
圖1為大型運(yùn)輸機(jī)顯示控制系統(tǒng)自動(dòng)測試平臺(tái)硬件構(gòu)型。左側(cè)為被測系統(tǒng),其中顯示終端、顯示處理單元、總線電纜均按照機(jī)載狀態(tài)部署。右側(cè)為自動(dòng)測試平臺(tái),由2臺(tái)主控計(jì)算機(jī)、1臺(tái)數(shù)據(jù)服務(wù)器(含1臺(tái)磁盤陣列)、1臺(tái)圖像識(shí)別機(jī)、1臺(tái)測試實(shí)時(shí)目標(biāo)機(jī)組成。內(nèi)部通過以太網(wǎng)交換機(jī)交聯(lián),外部通過配線系統(tǒng)與被測系統(tǒng)交聯(lián)。2臺(tái)主控計(jì)算機(jī)為高性能工作站,負(fù)責(zé)解析ICD文件和網(wǎng)絡(luò)配置,進(jìn)行測試用例設(shè)計(jì)、調(diào)試和執(zhí)行。數(shù)據(jù)服務(wù)器用于測試版本管理和測試過程中的數(shù)據(jù)存儲(chǔ),磁盤陣列用于定期對數(shù)據(jù)進(jìn)行備份。圖像識(shí)別計(jì)算機(jī)運(yùn)行圖像識(shí)別軟件,并通過截取的DIV信號進(jìn)行測試結(jié)果自動(dòng)匹配,并將匹配結(jié)果通過以太網(wǎng)傳送至主控計(jì)算機(jī)。測試實(shí)施目標(biāo)機(jī)選用NI PXI工控機(jī),其中配有ARINC429板卡和AFDX板卡,分別用于模擬顯示控制板和外系統(tǒng)總線數(shù)據(jù)。配線系統(tǒng)進(jìn)行機(jī)載信號和仿真信號的切換。同時(shí)負(fù)責(zé)截取顯示終端的視頻信號并傳送至圖像識(shí)別計(jì)算機(jī)。
自動(dòng)化測試平臺(tái)軟件采用成熟的工業(yè)級系統(tǒng)實(shí)時(shí)仿真軟件RT-LAB進(jìn)行開發(fā),其完全集成了Matlab和Simulink,具有很強(qiáng)的通用性,便于擴(kuò)展。并支持C、C++、LabVIEW、Visual Basic、Python和3D Virtual的無縫接入。自動(dòng)化測試平臺(tái)軟件架構(gòu)如圖2所示。
2.2.1 配置解析模塊
解析ICD文件和網(wǎng)絡(luò)配置,根據(jù)ICD生成適應(yīng)于AFDX和ARINC429總線網(wǎng)絡(luò)的測試用例基礎(chǔ)集,為測試用例的設(shè)計(jì)提供基礎(chǔ)素材。
2.2.2 構(gòu)型配置模塊
根據(jù)解析的網(wǎng)絡(luò)配置文件,并結(jié)合ICD對網(wǎng)絡(luò)拓?fù)浜蛿?shù)據(jù)路由進(jìn)行確認(rèn)。如圖3所示,拓?fù)鋱D顯示當(dāng)前上下位機(jī)以及被測設(shè)備之間的連接關(guān)系和運(yùn)行狀態(tài),可以根據(jù)網(wǎng)絡(luò)配置文件自動(dòng)生成,也可以進(jìn)行可視化編輯。拓?fù)鋱D與配置表中的信息實(shí)時(shí)同步,測試人員通過軟件界面可以靈活自由地配置驗(yàn)證構(gòu)型,實(shí)現(xiàn)全數(shù)字、半實(shí)物、全實(shí)物驗(yàn)證環(huán)境的快速切換。
圖1 平臺(tái)硬件構(gòu)型
圖2 自動(dòng)化測試平臺(tái)軟件架構(gòu)
圖3 網(wǎng)絡(luò)拓?fù)鋱D
2.2.3 用例設(shè)計(jì)與執(zhí)行模塊
用例設(shè)計(jì)與執(zhí)行模塊通過解析ICD數(shù)據(jù)庫文件,將ICD中定義的元素轉(zhuǎn)換成基礎(chǔ)用例。這些基礎(chǔ)用例(如艙門狀態(tài)、襟翼擋位、減速手柄擋位、速度、高度等)僅表示單一的意義,并不能滿足顯控系統(tǒng)某項(xiàng)功能的驗(yàn)證。將這些單一意義的基礎(chǔ)用例形成基礎(chǔ)用例集,并通過顯示控制軟件運(yùn)行邏輯關(guān)系組合成復(fù)雜的用例,如在用例集中提取艙門狀態(tài)、襟翼擋位、減速手柄擋位、速度、高度等,將這一組用例賦值并按照特定順序依次執(zhí)行,形成特定功能的測試用例,即當(dāng)艙門狀態(tài)為關(guān)閉,襟翼擋位為15,減速手柄擋位為預(yù)位,速度為xxx m/s、高度xxx m時(shí),顯示控制系統(tǒng)應(yīng)顯示最大速度帶最大速度告警。用例執(zhí)行后通過對比預(yù)先設(shè)置的期望值與圖像識(shí)別計(jì)算值,自動(dòng)判讀測試結(jié)果是否正確。用例執(zhí)行的同時(shí)保存圖像截圖,當(dāng)圖像識(shí)別失敗時(shí),后期通過人工進(jìn)行判讀。平臺(tái)為測試用例的執(zhí)行提供了普通模式和激勵(lì)響應(yīng)模式。普通模式是以樹的形式呈現(xiàn)測試流程,執(zhí)行動(dòng)作包括發(fā)送信號、接收信號、表達(dá)式賦值、表達(dá)式判斷、延時(shí)、動(dòng)作流程、啟動(dòng)動(dòng)作流程、停止動(dòng)作流程、循環(huán)、跳出循環(huán)、繼續(xù)循環(huán)、比較期望值等多種類型。激勵(lì)響應(yīng)模式是以表格的形式呈現(xiàn)測試流程,表格內(nèi)容包括步驟、信號名稱、標(biāo)量名稱、激勵(lì)值/期望值、描述和執(zhí)行結(jié)果,能夠滿足多條件下復(fù)雜環(huán)境的測試。
2.2.4 圖像識(shí)別模塊
通過在顯示終端前端加入視頻分頻器,將顯示畫面截取后送至圖像識(shí)別模塊。圖像識(shí)別模塊可處理固定區(qū)域圖像和動(dòng)態(tài)圖像。固定區(qū)域的圖像識(shí)別(如空速顯示、電源狀態(tài)顯示等)可通過以下步驟實(shí)現(xiàn)。
① 根據(jù)參數(shù)顯示區(qū)域?qū)D像進(jìn)行截取,由于參數(shù)顯示區(qū)域固定,截取圖像區(qū)域已預(yù)先確定。
② 對截取圖像進(jìn)行二值化處理,排除干擾背景,只保留黑色和白色兩種顏色,用(0,1)進(jìn)行表示。T表示關(guān)鍵閾值,可根據(jù)多次試驗(yàn)得出,Gray表示灰度像素,可采用加權(quán)平均值法確定,B表示二值像素:
③ 對二值化后的圖像進(jìn)行字符分割,得到從左到右的連續(xù)字符。
④ 將分割后的字符送入完成訓(xùn)練的神經(jīng)網(wǎng)絡(luò),最終,將神經(jīng)網(wǎng)絡(luò)輸出的二進(jìn)制碼轉(zhuǎn)換后與預(yù)期值進(jìn)行對比[7-8]。
動(dòng)態(tài)目標(biāo)識(shí)別如空中防撞信息等,采用背景差分法。其步驟如下:
① 截取一組動(dòng)態(tài)數(shù)據(jù)中的一幀,用f(x,y)表示,背景圖像用B(x,y)表示,計(jì)算其差分值D(x,y):
D(x,y) = |f(x,y)-B(x,y)|
②D(x,y)為圖像識(shí)別的目標(biāo)對象,其通過背景和動(dòng)態(tài)目標(biāo)的差分值,確定出動(dòng)態(tài)目標(biāo)輪廓[9]。
對D(x,y)進(jìn)行二值化處理,字符分割后使用靜態(tài)目標(biāo)識(shí)別的神經(jīng)網(wǎng)絡(luò)方法最終獲得識(shí)別結(jié)果。
通過結(jié)合固定區(qū)域圖像和動(dòng)態(tài)目標(biāo)圖像識(shí)別結(jié)果,能夠覆蓋顯示控制系統(tǒng)全部顯示內(nèi)容,對圖像識(shí)別模塊進(jìn)行多輪測試,結(jié)果表明目標(biāo)識(shí)別率能夠達(dá)到95%。
平臺(tái)工作流程如圖4所示。平臺(tái)根據(jù)ICD文件和網(wǎng)絡(luò)配置進(jìn)行基礎(chǔ)用例生成和試驗(yàn)構(gòu)型配置。根據(jù)需求對基礎(chǔ)用例進(jìn)行邏輯關(guān)聯(lián)組合,形成復(fù)雜的用例。通過圖像識(shí)別結(jié)果和預(yù)期結(jié)果的對比實(shí)現(xiàn)測試結(jié)果的自動(dòng)判讀,最終存儲(chǔ)結(jié)果并生成測試報(bào)告。
圖4 平臺(tái)工作流程圖
以發(fā)動(dòng)機(jī)信息顯示頁面為例,其中重要參數(shù)顯示19個(gè),針對這19個(gè)參數(shù)設(shè)計(jì)了57個(gè)用例。用例執(zhí)行結(jié)果如圖5所示。其中測試通過51個(gè),未通過6個(gè)。執(zhí)行時(shí)間205 s。相同的測試量若采用人工操作需要花費(fèi)大量的時(shí)間進(jìn)行參數(shù)設(shè)置和結(jié)果確認(rèn)。
圖5 執(zhí)行結(jié)果與分析
本文分析了大型運(yùn)輸機(jī)顯示控制系統(tǒng)的特點(diǎn)和傳統(tǒng)人工測試的弊端,并據(jù)此設(shè)計(jì)了針對大型運(yùn)輸機(jī)顯示控制系統(tǒng)的自動(dòng)化測試平臺(tái)。該平臺(tái)能夠?qū)崿F(xiàn)固定區(qū)域和動(dòng)態(tài)圖像顯示控制畫面的自動(dòng)測試,無需人工操作,解決了人工測試中效率低下、無法復(fù)用、錯(cuò)誤率高等問題,滿足快速迭代測試的需求。目前,該平臺(tái)已成功應(yīng)用于某大型運(yùn)輸機(jī)及其多種改型中。