王 顥 繆 俊 曹寧生
(中國(guó)艦船研究院 北京 100192)
艦船自動(dòng)化智能模塊主要包括電氣、機(jī)械及其他有關(guān)器件組成的具有特定的數(shù)據(jù)采集、監(jiān)測(cè)控制、網(wǎng)絡(luò)通信、操作指示等功能的智能化信息處理基本單元,能滿足各類艦船自動(dòng)化要求的智能硬件模塊或設(shè)備[1]。模塊設(shè)計(jì)從頂層著手,通過分析共性功能需求、剝離個(gè)體差異,歸納提煉形成系列型譜,制定了各類模塊的設(shè)計(jì)要求,由多家配套生產(chǎn),最終按照統(tǒng)一標(biāo)準(zhǔn)進(jìn)行測(cè)試。如何對(duì)這些模塊的功能、性能、接口等各方面內(nèi)容進(jìn)行快速、準(zhǔn)確、客觀的測(cè)試成為評(píng)價(jià)產(chǎn)品質(zhì)量保證互換要求的重要前提。
艦船自動(dòng)化智能模塊分為現(xiàn)場(chǎng)總線類I/O模塊、CPCI類I/O模塊、現(xiàn)場(chǎng)控制類模塊、網(wǎng)絡(luò)通信類模塊、顯示操作類模塊、綜合顯示類模塊等6大類25種模塊,支持 Windows XPE、VxWorks5.5、VxWorks6.6及 VxWorks6.8操作系統(tǒng)。測(cè)試主要包括接口定義測(cè)試、硬件功能性能測(cè)試、軟件功能性能測(cè)試、協(xié)同工作測(cè)試、互換性測(cè)試及工作穩(wěn)定性測(cè)試等六個(gè)主要測(cè)試項(xiàng),具體內(nèi)容如下:
1)接口定義測(cè)試。測(cè)試模塊硬件接口形式、芯線定義、軟件接口定義及實(shí)現(xiàn)的正確性;
2)硬件功能性能測(cè)試。測(cè)試模塊基本輸入輸出功能、數(shù)據(jù)通信功能、驅(qū)動(dòng)能力及性能指標(biāo)等內(nèi)容的符合性;
3)軟件功能性能測(cè)試。測(cè)試模塊驅(qū)動(dòng)功能、故障診斷功能、USB通信協(xié)議、CAN通信協(xié)議、網(wǎng)關(guān)協(xié)議等內(nèi)容的符合性和完整性;
4)協(xié)同工作測(cè)試。測(cè)試模塊在并發(fā)調(diào)用、多模塊協(xié)同等復(fù)雜工作情況下的正確性;
5)互換性測(cè)試。測(cè)試不同廠家生產(chǎn)的同類模塊在規(guī)定軟硬件環(huán)境下功能、性能及工作狀態(tài)的一致性;
6)工作穩(wěn)定性測(cè)試。測(cè)試模塊在高負(fù)荷、長(zhǎng)時(shí)間運(yùn)行情況下的工作穩(wěn)定性。
搭建測(cè)試系統(tǒng)目的是將測(cè)試方法、流程及合格判據(jù)等要素進(jìn)行固化,確保測(cè)試準(zhǔn)確、客觀、高效[2]。由于被測(cè)模塊種類多,功能復(fù)雜,指標(biāo)要求較高,同時(shí)考慮后續(xù)型譜擴(kuò)充、模塊和測(cè)試要求升級(jí)等因素,測(cè)試系統(tǒng)需適應(yīng)被測(cè)模塊的多樣性、復(fù)雜性、變化性。
為了實(shí)現(xiàn)較好擴(kuò)展性和自動(dòng)化水平,系統(tǒng)設(shè)計(jì)以硬件為基礎(chǔ)、軟件為核心,遵循“自頂向下”層次化的設(shè)計(jì)思路[3],采用模塊化的方式構(gòu)建測(cè)試系統(tǒng),系統(tǒng)劃分為四個(gè)層次,各層內(nèi)部以功能模塊形式封裝,各功能模塊相互獨(dú)立,模塊間采用松耦合的關(guān)系,系統(tǒng)體系結(jié)構(gòu)如圖1所示。
如圖1所示,各層完成主要功能說明如下:
圖1 測(cè)試系統(tǒng)體系結(jié)構(gòu)圖
1)測(cè)試應(yīng)用層。實(shí)現(xiàn)測(cè)試系統(tǒng)頂層功能,包括測(cè)試方案制定、工程管理、測(cè)試腳本生成、測(cè)試調(diào)度、測(cè)試結(jié)果評(píng)估、測(cè)試結(jié)果輸出及人機(jī)交互等功能;
2)測(cè)試實(shí)現(xiàn)層。根據(jù)測(cè)試方案及流程對(duì)測(cè)試項(xiàng)進(jìn)行功能分解,實(shí)現(xiàn)測(cè)試項(xiàng)中規(guī)定的測(cè)試內(nèi)容,若測(cè)試項(xiàng)增加或變化時(shí)可靈活進(jìn)行擴(kuò)充改變;
3)測(cè)試原子層。根據(jù)測(cè)試實(shí)現(xiàn)層中的內(nèi)容將測(cè)試細(xì)化分解為原子級(jí)測(cè)試模塊,每個(gè)模塊完成單一功能,模塊間功能相對(duì)獨(dú)立,具有通用性;
4)測(cè)試適配層。完成被測(cè)模塊與測(cè)試系統(tǒng),測(cè)試系統(tǒng)內(nèi)部各軟硬件模塊的適配。可屏蔽由于被測(cè)模塊種類增加、接口改變、測(cè)試系統(tǒng)自身變化對(duì)系統(tǒng)功能帶來的影響。
被測(cè)模塊接口包括:開關(guān)量OC、開關(guān)量繼電器、脈沖量、電壓、電流、熱電阻、熱電偶等I/O接口以及雙冗余CAN、雙冗余以太網(wǎng)、RS232/422/485串口、USB等數(shù)據(jù)接口,測(cè)試系統(tǒng)應(yīng)能夠支持多種接口的測(cè)試。為便于使用維護(hù),針對(duì)各被測(cè)接口原則上測(cè)試系統(tǒng)均有獨(dú)立硬件模塊與其適配,個(gè)別接口可通過多個(gè)模塊配合使用完成測(cè)試。測(cè)試系統(tǒng)硬件由仿真測(cè)試計(jì)算機(jī)、半實(shí)物仿真測(cè)試設(shè)備及儀器儀表等三個(gè)部分組成。
仿真測(cè)試計(jì)算機(jī)主要完成被測(cè)模塊基本功能和關(guān)鍵技術(shù)指標(biāo)的遍歷性測(cè)試,由于被測(cè)模塊的信號(hào)種類較多,通道數(shù)量也較多,因此為了實(shí)現(xiàn)I/O接口和通信接口的自動(dòng)化協(xié)同測(cè)試,使用兩臺(tái)仿真測(cè)試計(jì)算機(jī),其中一臺(tái)主要針對(duì)模擬量信號(hào)測(cè)試,另一臺(tái)主要針對(duì)數(shù)字量信號(hào)測(cè)試。
半實(shí)物仿真測(cè)試設(shè)備主要完成被測(cè)模塊特定技術(shù)指標(biāo)的覆蓋性測(cè)試,采用開關(guān)量信號(hào)輸出和內(nèi)部電路構(gòu)成信號(hào)監(jiān)測(cè)系統(tǒng),對(duì)于部分模塊可采用實(shí)物進(jìn)行連接測(cè)試,同時(shí)對(duì)被測(cè)輸入模塊提供少量定點(diǎn)信號(hào)激勵(lì)。
儀器儀表主要功能包括檢測(cè)被測(cè)模塊的信號(hào)特性、部分被測(cè)模塊供電、功耗評(píng)估、外形重量測(cè)試等。
軟件系統(tǒng)是整個(gè)測(cè)試系統(tǒng)的核心部分,它將系統(tǒng)中各功能模塊有機(jī)結(jié)合,在多個(gè)模塊相互協(xié)作和數(shù)據(jù)傳遞的過程中起著決定性的作用。系統(tǒng)軟件采用構(gòu)件技術(shù)、面向?qū)ο蠹夹g(shù)和模塊化的設(shè)計(jì)思想[4]使用C++語言完成軟件開發(fā)。
1)測(cè)試流程可定制
為實(shí)現(xiàn)測(cè)試流程可定制,系統(tǒng)采用配置文件+腳本文件的方式實(shí)現(xiàn)測(cè)試用軟硬件資源和測(cè)試流程的配置管理,測(cè)試時(shí)以文件方式驅(qū)動(dòng)各層功能模塊運(yùn)行,完成測(cè)試功能。測(cè)試流程如圖2所示。
圖2 測(cè)試流程圖
如圖2所示,用戶按測(cè)試要求制定完測(cè)試方案后,系統(tǒng)首先生成配置文件,規(guī)劃出參加本次測(cè)試的軟硬件資源,并按功能不同進(jìn)行分類,同時(shí)生成腳本文件,其中明確了各測(cè)試項(xiàng)名稱、合格判據(jù)、測(cè)試項(xiàng)中使用的軟硬件資源、各類資源的使用時(shí)間、使用條件及約束關(guān)系等,最終以用戶指定方式輸出測(cè)試結(jié)論。
2)測(cè)試模塊通用化
由于測(cè)試流程可定制,要求測(cè)試功能模塊要具有通用性,不與測(cè)試流程相關(guān)。測(cè)試系統(tǒng)根據(jù)信號(hào)工作性質(zhì)不同將測(cè)試功能模塊劃分為輸入信號(hào)測(cè)試功能模塊、輸出信號(hào)測(cè)試功能模塊和總線信號(hào)測(cè)試功能模塊[5],相同類型采用相同的處理方法,簡(jiǎn)化對(duì)信號(hào)的處理。
3)并發(fā)/協(xié)同測(cè)試
并發(fā)/協(xié)同測(cè)試模擬實(shí)際時(shí)的多種操作并發(fā)及多模塊協(xié)同工作等狀態(tài),運(yùn)用“多線程”將各種操作、調(diào)用及后期處理等任務(wù)各自分配單獨(dú)線程,還避免了單線程程序容易出現(xiàn)的響應(yīng)不及時(shí)或者程序假死情況[6]。
4)多系統(tǒng)支持
測(cè)試軟件應(yīng)能夠運(yùn)行在多種操作系統(tǒng)上,完成相同的測(cè)試功能和項(xiàng)目??紤]到VxWorks操作系統(tǒng)圖形方面支持較弱[7],相關(guān)圖形開發(fā)工具較為匱乏,且測(cè)試系統(tǒng)對(duì)人機(jī)交互實(shí)時(shí)性要求不高,故本系統(tǒng)中測(cè)試應(yīng)用層和測(cè)試實(shí)現(xiàn)層運(yùn)行在Windows XPE系統(tǒng)上。原子測(cè)試層和測(cè)試適配層運(yùn)行在多操作系統(tǒng)上。
本測(cè)試系統(tǒng)已成功應(yīng)用于艦船自動(dòng)化智能模塊的鑒定測(cè)試中。按照測(cè)試要求,完成了對(duì)所有模塊的接口定義測(cè)試、硬件功能性能測(cè)試、軟件功能性能測(cè)試、協(xié)同測(cè)試、互換性測(cè)試及工作穩(wěn)定性測(cè)試等測(cè)試內(nèi)容;實(shí)現(xiàn)了測(cè)試流程制定、多系統(tǒng)支持、測(cè)試結(jié)果自動(dòng)評(píng)價(jià)輸出等功能;具有較高的自動(dòng)化程度和較好的擴(kuò)展能力,為評(píng)價(jià)模塊質(zhì)量、確保技術(shù)狀態(tài)、最終實(shí)現(xiàn)互換提供了技術(shù)手段。單模塊測(cè)試結(jié)果如圖3所示,多模塊協(xié)同測(cè)試結(jié)果如圖4所示。
圖3 單模塊測(cè)試結(jié)果
圖4 協(xié)同測(cè)試結(jié)果
艦船自動(dòng)化智能模塊測(cè)試系統(tǒng)從頂層設(shè)計(jì)上充分考慮被測(cè)模塊的多樣性、變化性、復(fù)雜性等特點(diǎn),以及使用中對(duì)自動(dòng)化、通用性、擴(kuò)展能力等方面的要求。采用模塊化、層次化的設(shè)計(jì)原則開展軟硬件一體化設(shè)計(jì),最終構(gòu)成系統(tǒng)。實(shí)際使用中大大提高了測(cè)試的準(zhǔn)確性、客觀性、測(cè)試效率和可視化程度,在工程中得到良好應(yīng)用。
[1]顧亞軍,曹寧生.艦艇平臺(tái)基礎(chǔ)軟硬件標(biāo)準(zhǔn)化總體技術(shù)[J].艦船科學(xué)技術(shù),2011,33(6):42-45.
[2]鞠秀娟,趙明.軟件自動(dòng)化測(cè)試概述及應(yīng)用工具分析[J].計(jì)算機(jī)應(yīng)用,2007,27(Z1):317-318.
[3]史國(guó)慶,高曉光,吳勇,等.機(jī)載面板I/O系列電路模塊測(cè)試系統(tǒng)硬件設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2011,19(1):41-43.
[4]Stephen R.S.面向?qū)ο筌浖こ蹋跰].北京:機(jī)械工業(yè)出版社,2009.
[5]張?jiān)?,李剛,孫浩.基于某型控制盒單板測(cè)試軟件的通用化設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2012,20(1):270-272.
[6]范振軍.多路三軸光纖陀螺自動(dòng)化測(cè)試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子科技,2012,25(2):82-85.
[7]趙甫,李躍,李芳.VxWorks上的一種GUI系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(15):2839-2842.
[8]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996.
[9]饒運(yùn)濤.現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2007.