王兆麒,孔令,李洋,李儀
(中國電子科技集團公司第二十九研究所,成都 610036)
電子對抗整機裝備通常由多種多通道射頻模塊組成,各模塊的功能和性能直接決定了整機裝備的作戰(zhàn)效果。為了保證各型模塊在整機工作中能夠正常實現(xiàn)其功能以及發(fā)揮其性能,在裝備至整機前,需要對每件模塊的各個通道設(shè)置大量測試點進行測試,各型模塊測試指標(biāo)種類繁多,測試過程復(fù)雜,測試工作量較大,自動測試手段變得必不可少。
不同類型(甚至是同類型不同型號)多通道射頻模塊,由于指標(biāo)參數(shù)、通道數(shù)目和組批臺套數(shù)不同,以及通道TR 屬性不固定等原因,導(dǎo)致各型產(chǎn)品的測試需求不盡相同。以往在模塊批產(chǎn)前,采用定制化開發(fā)自動化測試系統(tǒng)或?qū)ΜF(xiàn)有測試系統(tǒng)進行改造的方式來滿足產(chǎn)線的批產(chǎn)測試需求,這種開發(fā)改造方式存在重復(fù)開發(fā)、周期長、效率低的問題,已無法滿足日趨復(fù)雜的測試過程和日益增長的產(chǎn)能。
綜上所述,本文設(shè)計了一種基于C#與XML 的多通道射頻模塊可配置通用組批自動測試系統(tǒng)。測試前,測試人員只需編寫或修改配置文件,并對測試系統(tǒng)進行微調(diào)聯(lián)試,在測試時選擇對應(yīng)的產(chǎn)品型號即可實現(xiàn)在不同型號待測設(shè)備的自動測試過程中共享測試系統(tǒng)。目前該測試系統(tǒng)已支持多型多通道變頻、頻率源和前端模塊的組批全自動測試。
自動測試系統(tǒng)的硬件架構(gòu)如圖1 所示,包括測控計算機、測試儀器、射頻開關(guān)矩陣和待測模塊。該自動測試系統(tǒng)支持GPIB 通用并行接口總線協(xié)議和TCP/IP 網(wǎng)絡(luò)通信協(xié)議對測試儀器進行程控,可程控的儀器包括常見品牌的信號源、頻譜儀、示波器和電源,其中電源支持多(單)通道類型電源多臺程控,以滿足組批測試需求?;诒粶y模塊的測試需求和通信協(xié)議要求,測控計算機與被測模塊之間支持RS232/RS422 串口和96 通道數(shù)字I/O 通信,且支持多通信接口并行通信。該測試系統(tǒng)支持多型射頻開關(guān)矩陣,包括采用96 通道數(shù)字I/O通信的自研開關(guān)矩陣和GPIB/網(wǎng)口通信的外購開關(guān)矩陣。該測試系統(tǒng)使用的射頻開關(guān)矩陣均為標(biāo)準(zhǔn)化模塊組件,可按照測試需求以自由裝配式快速搭建測試系統(tǒng)硬件,滿足單工位帶載任意臺套數(shù)的任意通道數(shù)待測設(shè)備,同時支持射頻通道在自動測試過程中的TR 屬性切換[1-4]。
圖1 系統(tǒng)硬件架構(gòu)
在軟件體系架構(gòu)設(shè)計中,常用的架構(gòu)模式有三層開發(fā)架構(gòu)(3-tier application) 、SOA(面向服務(wù)架構(gòu))、DDD(領(lǐng)域驅(qū)動設(shè)計)等,目的在于實現(xiàn)高內(nèi)聚、低耦合的思想[5]。
本測試系統(tǒng)采用三層開發(fā)架構(gòu),如圖2 所示分為業(yè)務(wù)層、數(shù)據(jù)層和硬件交互層。業(yè)務(wù)層基于測試需求,完成儀器管理、試驗信息設(shè)置,配置管理和測試執(zhí)行等功能,該層基于C#實現(xiàn)。數(shù)據(jù)層負責(zé)測試參數(shù)和測試數(shù)據(jù)處理,該層基于XML 和C#實現(xiàn)。硬件平臺提供對程控儀器和待測設(shè)備的物理接口,硬件交互層通過DLL 對儀器程控指令進行調(diào)用從而程控儀器,同時與待測設(shè)備進行通信[6]。
圖2 系統(tǒng)軟件架構(gòu)
自動測試軟件實現(xiàn)在不同型號待測設(shè)備之間通用,核心途徑是將測試過程參數(shù)化,設(shè)計合理的數(shù)據(jù)結(jié)構(gòu)表達測試過程并固化為配置文件。本測試系統(tǒng)基于具有結(jié)構(gòu)性的標(biāo)記語言XML 設(shè)計數(shù)據(jù)結(jié)構(gòu)存儲測試參數(shù)。本測試系統(tǒng)以待測設(shè)備型號命名建立文件夾保存配置文件,配置文件數(shù)據(jù)結(jié)構(gòu)以多通道變頻為例,如圖3 所示分為三類:與待測設(shè)備型號強相關(guān)的綜合測試參數(shù)和各通道指標(biāo)參數(shù),以及與測試系統(tǒng)硬件相關(guān)的插損配置文件。綜合測試參數(shù)配置文件中,將測試參數(shù)分為“指標(biāo)儀器配置”、“通道信息”、“開關(guān)信息” 、“電源配置”、“產(chǎn)品信息”和“報表配置”,共6 部分。用戶在使用軟件前,編寫好綜合測試參數(shù)和各通道指標(biāo)參數(shù)配置文件,每次測試時只需選中待測型號即可,以對應(yīng)型號的文件夾為入口,調(diào)用對應(yīng)配置文件。插損配置文件由軟件實測后以“產(chǎn)品序號-TR 屬性-通道號”的方式命名自動保存。
圖3 配置文件數(shù)據(jù)結(jié)構(gòu)
本測試系統(tǒng)軟件劃分功能模塊,不僅遵循高內(nèi)聚低耦合的基本原則,而且還遵循與待測設(shè)備型號有無關(guān)聯(lián)的原則,將如儀器程控、待測設(shè)備通信、通道切換和報表生成等與待測設(shè)備型號無關(guān)的通用功能,和與待測設(shè)備型號強關(guān)聯(lián)的指標(biāo)測試功能剝離。上述原則是實現(xiàn)測試平臺能夠在不同型號待測件之間通用的核心。軟件主要功能模塊包括:
1)硬件程控模塊
包含多型信號源、頻譜儀、示波器和電源等儀器以及多型射頻開關(guān)矩陣的程控驅(qū)動庫。軟件根據(jù)測試需求通過加載程控指令參數(shù),以虛擬設(shè)備的方式實現(xiàn)對儀器和射頻開關(guān)矩陣進行控制[7,8]。
2)配置文件讀取解析模塊
讀取配置文件,解析測試參數(shù),將測試參數(shù)加載至軟件界面和緩存區(qū)。
3)指標(biāo)測試模塊
依據(jù)待測設(shè)備產(chǎn)品規(guī)范,結(jié)合測試參數(shù),按待測設(shè)備類型以DLL 的方式,對待測設(shè)備的頻率、功率、雜波、諧波、相噪等主要指標(biāo)的測試步驟進行封裝,完成指標(biāo)測試,并與軟件界面交互,實時顯示測試數(shù)據(jù)和測試結(jié)果判斷。
4)待測件通信模塊
建立待測設(shè)備和測控計算機之間的通信連接,向待測設(shè)備下發(fā)程控指令,并實時回讀待測設(shè)備的上報信息。
5)報表生成模塊
基于COM 組件技術(shù)調(diào)用Microsoft Office Word,結(jié)合配置參數(shù)自動生成Word 報表。
6)測試過程控制模塊
模擬手動操作,通過程控電源和下發(fā)指令控制待測設(shè)備狀態(tài),并通過調(diào)用指標(biāo)測試模塊完成測試過程,存儲測試數(shù)據(jù)和測試結(jié)果。
測試系統(tǒng)軟件采用模塊化設(shè)計思路,根據(jù)代碼功能封裝成軟件模塊,預(yù)留對外函數(shù)接口便于調(diào)用和二次開發(fā)。
1)硬件驅(qū)動類函數(shù)
public bool Open(int primaryAddr, int secondAddr)、public bool Open(string IPaddr, string Port)儀器初始化函數(shù):分別通過GPIB 和TCP/IP 建立計算機與程控儀器或射頻開關(guān)的通信連接,軟件根據(jù)用戶填寫的地址信息自動識別具體使用哪種方式建立連接。
2)配置文件相關(guān)函數(shù)
private void XML_Load(string test_type)XML 加載解析函數(shù):根據(jù)待測設(shè)備類型和實驗類型讀取XML 配置文件,并將測試參數(shù)解析加載至軟件。
3)測試類函數(shù)
private void testStart()測試過程函數(shù):控制一次全自動測試過程的執(zhí)行。
4)待測設(shè)備通信函數(shù)
public bool PortOpen(string type,string add,string param)端口出初始化函數(shù):用于建立計算機于待測設(shè)備之間的通信鏈路。
5)數(shù)據(jù)類函數(shù)
private void writerThreadStart(object parameter)報表生成函數(shù):將測試數(shù)據(jù),根據(jù)配置文和測試信息生成為指定格式和文件名的Word 報表,保存至指定路徑。
測試軟件執(zhí)行流程如圖4 所示。
圖4 軟件執(zhí)行流程圖
從流程圖可得,軟件從臺套、通道、指標(biāo)、測試頻點4 個層面,以循環(huán)的方式遍歷所有與測試系統(tǒng)相連待測設(shè)備的每個通道,各項指標(biāo)的所有測試頻點。測試完成后,根據(jù)配置文件自動生成Word 報表。軟件執(zhí)行過程邏輯清晰,層次分明,能夠準(zhǔn)確穩(wěn)定高效地完成整個自動測試過程。
測試系統(tǒng)軟件的UI 設(shè)計,遵循了簡約、一致性和易用性的基本原則,對于不同型號待測件,交互方式相同,且交互過程操作簡潔,簡單易學(xué)[9,10]。軟件UI 如圖5 所示,主要包含了:
圖5 軟件UI
1)測試信息填寫窗口:選擇待測件型號,試驗項目,填寫測試地點等測試信息;
2)實驗類型選擇窗口:勾選待測實驗類型;
3)指標(biāo)選擇窗口:勾選待測指標(biāo);
4)通道選擇窗口:勾選待測通道;
5)待測設(shè)備信息窗口:填寫待測設(shè)備編號,勾選待測設(shè)備和選擇報表保存路徑;
6)端口信息窗口:顯示和更改待測設(shè)備通信端口信息;
7)指標(biāo)儀器參數(shù)窗口:顯示待測指標(biāo)的儀器參數(shù);
8)測試信息窗口:實時顯示測試時間、待測設(shè)備編號、指標(biāo)等測試過程信息;
9)測試操作窗口:顯示測試過程執(zhí)行狀態(tài),控制軟件開始、停止和暫停測試。
10)協(xié)議下發(fā)窗口:顯示下發(fā)至待測設(shè)備的通信內(nèi)容。
本測試系統(tǒng)已在頻率源、多通道變頻和前端三種類型的模塊產(chǎn)線上成功應(yīng)用,具體應(yīng)用情況及自動測試系統(tǒng)開發(fā)周期如表1 所示,本文以測試指標(biāo)數(shù)目和開發(fā)周期衡量測試系統(tǒng)開發(fā)效率。在投入產(chǎn)線使用前,自動測試系統(tǒng)的開發(fā)需要經(jīng)歷需求分析、代碼編寫、硬件設(shè)計搭建、測試環(huán)境聯(lián)調(diào)驗證和管理控制流程5 個階段,以往開發(fā)可測2 個指標(biāo)到6 個指標(biāo)的自動測試系統(tǒng),開發(fā)周期為10 天至34 天不等,單個指標(biāo)平均耗時5.5 天。使用本測試系統(tǒng),在基礎(chǔ)通用功能開發(fā)調(diào)試完成的情況下,各型待測模塊自動測試系統(tǒng)的開發(fā)周期如表1 所示,單個指標(biāo)平均耗時1.6 天,由此可得自動測試系統(tǒng)的開發(fā)效率提升了70 %以上。
表1 測試系統(tǒng)應(yīng)用及開發(fā)周期
本文研究了一種多通道射頻模塊可配置通用組批自動測試系統(tǒng)設(shè)計方案。該測試系統(tǒng)采用標(biāo)準(zhǔn)模塊化組件和程控儀器,以自由裝配的方式搭建硬件系統(tǒng);以通用可配置為核心設(shè)計理念,剝離通用和個性化功能模塊,參數(shù)化自動測試過程,并依托具有結(jié)構(gòu)性標(biāo)記語言XML,設(shè)計數(shù)據(jù)結(jié)構(gòu)保存測試參數(shù),以C#為編譯環(huán)境,結(jié)合虛擬儀器、多類型總線通信和COM 組件技術(shù)設(shè)計系統(tǒng)軟件,實現(xiàn)了自動測試系統(tǒng)在不同類型多通道射頻模塊的組批全自動測試過程中通用,將自動測試系統(tǒng)的開發(fā)周期縮短了約70%以上,有效提高了產(chǎn)線自動測試能力建設(shè)效率。