石海婷
陜西省西安市中航工業(yè)試飛中心數(shù)字化中心 710089
飛控計(jì)算機(jī)環(huán)境試驗(yàn)/外場維護(hù)測試軟件的實(shí)現(xiàn)
石海婷
陜西省西安市中航工業(yè)試飛中心數(shù)字化中心 710089
本文簡述了飛控計(jì)算機(jī)環(huán)境試驗(yàn)/外場維護(hù)測試設(shè)備的原理、要點(diǎn),并以Windows操作系統(tǒng)平臺為例,描述了測試設(shè)備的整體框架,著重介紹了飛控計(jì)算機(jī)信號測試的設(shè)置、測試流程的設(shè)計(jì)。最后給出了某些具體的技術(shù)問題的實(shí)現(xiàn)方法。
測試設(shè)備;飛控計(jì)算機(jī);串口;以太網(wǎng)
飛控計(jì)算機(jī)主要完成自動(dòng)飛行控制系統(tǒng)的系統(tǒng)管理、控制率計(jì)算等功能。為滿足飛控計(jì)算機(jī)環(huán)境試驗(yàn)檢測、外場維護(hù)的要求,建立一個(gè)平臺為飛控計(jì)算機(jī)提供電源,加載激勵(lì)信號,測試記錄輸出的數(shù)據(jù),測算功能及性能參數(shù),進(jìn)而對飛控計(jì)算機(jī)的各項(xiàng)技術(shù)參數(shù)、性能指標(biāo)作出評判,同時(shí)用于飛控計(jì)算機(jī)軟硬件開發(fā)、試驗(yàn)、交付驗(yàn)收測試及維護(hù)??傮w結(jié)構(gòu)
飛控計(jì)算機(jī)環(huán)境試驗(yàn)/外場維護(hù)測試設(shè)備組成圖如圖1所示。
環(huán)境試驗(yàn)檢測設(shè)備。環(huán)境試驗(yàn)檢測設(shè)備主要包括便攜式工控機(jī)及其接口、接口適配器、電源。
環(huán)境試驗(yàn)檢測設(shè)備軟件與飛控計(jì)算機(jī)測試支持軟件之間的配合如圖2所示。其中環(huán)境試驗(yàn)檢測設(shè)備軟件包括測試管理軟件、數(shù)據(jù)流軟件,它們的配合關(guān)系如圖3所示。
飛控計(jì)算機(jī)環(huán)境試驗(yàn)測試設(shè)備主要完成飛控計(jì)算機(jī)軟硬件功能、性能的自動(dòng)或手動(dòng)測試,針對測試要求,須包括三方面的軟件要求:
(1)測試管理軟件。
(2)數(shù)據(jù)流軟件。
(3)飛控計(jì)算機(jī)內(nèi)部的測試支持軟件。運(yùn)行于飛控計(jì)算機(jī)內(nèi)部,接收數(shù)據(jù)流軟件的測試指令,發(fā)送測試結(jié)果。
2.1 測試管理軟件
運(yùn)行于便攜式工控機(jī)上,負(fù)責(zé)調(diào)用測試程序進(jìn)行各項(xiàng)驗(yàn)收、試驗(yàn)測試,完成系統(tǒng)初始化、任務(wù)定制、發(fā)送測試指令、板卡信號數(shù)據(jù)的讀寫、故障設(shè)置、報(bào)警、生成測試報(bào)告等管理工作。
測試管理程序中運(yùn)用多線程完成測試工作。開始一個(gè)測試項(xiàng),設(shè)置兩個(gè)線程,一個(gè)用于循環(huán)判定開始的測試內(nèi)容,一個(gè)用于以太網(wǎng)接收、發(fā)送測試結(jié)果如圖4所示。
T1:每一個(gè)測試項(xiàng)并不是只有一個(gè)測試內(nèi)容,比如包括+5V輸出、+10V輸出測試;首先用戶向測試管理軟件發(fā)出測試一個(gè)測試內(nèi)容,可是測試結(jié)果還沒到達(dá),無法進(jìn)行下一個(gè)內(nèi)容,線程一陷入等待狀態(tài);
T2:線程一被掛起,線程二為以太網(wǎng)發(fā)送、接收線程,此時(shí)根據(jù)測試指令啟動(dòng),發(fā)送測試指令,等待測試結(jié)果;等待一段時(shí)間后,數(shù)據(jù)流軟件的數(shù)據(jù)通過以太網(wǎng)到達(dá),線程二將數(shù)據(jù)存入公用數(shù)組,并向線程一發(fā)送接收到測試結(jié)果的標(biāo)志;
T3:線程二被掛起,線程一通過板卡讀取輸入數(shù)值,并判讀數(shù)據(jù);
T4:線程一、二掛起,程序內(nèi)部將數(shù)據(jù)結(jié)果分類存入到數(shù)據(jù)庫中。
由于等待數(shù)據(jù),數(shù)據(jù)判讀、存儲都需要一定時(shí)間,而工控機(jī)上的板卡采集數(shù)據(jù)到來是不定時(shí)的,如果在上一次的判讀、存儲的過程花費(fèi)了較多時(shí)間,就會(huì)導(dǎo)致丟失數(shù)據(jù),因此,在此過程中要根據(jù)接收測試結(jié)果的標(biāo)志嚴(yán)格控制下一個(gè)測試內(nèi)容的開始。
2.2 數(shù)據(jù)流軟件
圖1 飛控計(jì)算機(jī)測試設(shè)備組成示意圖
圖3 測試管理軟件與數(shù)據(jù)流軟件的配合流程圖
圖2 環(huán)境試驗(yàn)檢測軟件與被測支持軟件配合流程圖
運(yùn)行于外場維護(hù)檢測設(shè)備(加固筆記本)上,負(fù)責(zé)接收測試管理軟件測試指令,并轉(zhuǎn)發(fā)測試指令到飛控計(jì)算機(jī),同時(shí)接收飛控計(jì)算機(jī)的測試結(jié)果,將測試結(jié)果發(fā)送到測試管理軟件進(jìn)行判定與存儲如圖5所示。
數(shù)據(jù)流軟件中啟動(dòng)一個(gè)線程、響應(yīng)一個(gè)COMM串口命令、一個(gè)定時(shí)器。線程用于與測試管理軟件之間的測試指令、結(jié)果的通訊;串口用于與飛控計(jì)算機(jī)的數(shù)據(jù)傳輸;定時(shí)器用于發(fā)送測試結(jié)果。
T1:軟件啟動(dòng),線程啟動(dòng),等待測試管理軟件的測試指令;
T2:線程接收到測試指令,線程掛起;程序內(nèi)部將接收的測試指令標(biāo)志告知COMM口;串口通信將測試指令通過RS232發(fā)送到飛控計(jì)算機(jī);此后,COMM口開始等待飛控計(jì)算機(jī)的測試結(jié)果;
T3:COMM口將接收的字符串存于緩存中,線程繼續(xù)掛起,程序內(nèi)部將緩存中的字符串組進(jìn)行剔除,根據(jù)字符標(biāo)志選取需要的測試結(jié)果,并將測試結(jié)果存放到數(shù)組中;
T4:將存放測試結(jié)果的數(shù)組通過定時(shí)器調(diào)用以太網(wǎng)發(fā)送函數(shù)將測試結(jié)果發(fā)送給測試管理軟件。
在數(shù)據(jù)流程序中有一個(gè)判定目前處于第一級菜單的字符串?dāng)?shù)組,用于比較串口過來的字符串是哪個(gè)測試項(xiàng)的測試結(jié)果。
筆者闡述了該類測試設(shè)備的設(shè)計(jì)原理,著重講述了測試設(shè)備各通訊模塊間數(shù)據(jù)通訊、多線程實(shí)現(xiàn)飛控計(jì)算機(jī)硬件測試的方法。該方法目前已成功的應(yīng)用到多個(gè)測試設(shè)備中,并且取得了良好的應(yīng)用效果。
此方法適用于所有這一類的計(jì)算機(jī)測試。只要能夠了解需要完成的測試項(xiàng),就能研制出一個(gè)針對飛控計(jì)算機(jī)信號的測試軟件。
10.3969/j.issn.1001-8972.2012.02.030
圖4 測試管理軟件數(shù)據(jù)控制
圖5 數(shù)據(jù)流軟件數(shù)據(jù)控制
石海婷(1979),女,大學(xué)本科,軟件工程師,主要從事飛行仿真技術(shù)、計(jì)算機(jī)測試技術(shù),工作單位:中航工業(yè)試飛中心數(shù)字化中心。