閻 俊 費月玲 張敏芳
(西安電子工程研究所 西安 710100)
軟件自動化測試是相對于手工測試而存在的,由測試人員根據(jù)測試項目調(diào)試細則中描述的規(guī)程一步一步執(zhí)行測試,得到實際結(jié)果與期望結(jié)果的比較。在此過程中,節(jié)省人力、時間或硬件資源,提高測試效率。近年來,越來越多的軟件自動化測試方法應用于電子系統(tǒng)測試領域。例如,文獻[1]基于關鍵字驅(qū)動的Linux-GUI自動化測試是建立在Linux自動化測試開源軟件的基礎之上,通過其獨有的分層結(jié)構(gòu)框架,以中低層向高層提供服務的模式,達到高效化自動測試目的;文獻[2]中利用遠程端口將用戶與網(wǎng)絡設備有效連接的Python-CLI自動化測試,通過鍵盤輸入相應測試命令,進而實現(xiàn)自動化測試過程;文獻[3]通過USB-6211數(shù)據(jù)采集卡結(jié)合LabVIEW軟件設計多路模擬數(shù)據(jù)采集與控制測試平臺,實現(xiàn)多路信號采集和多路數(shù)字信號輸出的功能。
本文以某毫米波探測組件測試系統(tǒng)繁瑣、重復的手動測試為原型,基于LabVIEW[4]“數(shù)據(jù)流”框圖式編程模式,設計了自動化測試控制系統(tǒng)。該測試系統(tǒng)改變了以往繁瑣的手動測試過程,實現(xiàn)了測量的自動化、測試數(shù)據(jù)的可視化、以及數(shù)據(jù)管理的有序化。既節(jié)省了測試測量時間,又提高了測試測量的精確度。
某毫米波探測組件外場測試工作原理如圖1所示。當告警天線1~天線n截獲到目標威脅信號時,毫米波探測組件(虛線框)中檢波模塊接收信號后對其進行對數(shù)放大,將視頻信號輸出給信號處理單元。信號處理單元中的 A/D 模塊對視頻信號進行采樣量化后,得到各通道信號幅度的量化值,在信號處理單元中進行脈沖描述字的形成和信號分選,并通過方位解算模塊對相鄰波束輸出的幅度值進行比較、計算,最終得到輻射源的方位碼。信號處理模塊將輻射源方位碼通過USBCANII接口卡[5]上傳給PC終端,完成整個毫米波探測組件的測試功能。
與圖1相對應的實驗室模擬測試系統(tǒng)如圖2所示。其中,虛線框所示探測組件主要由毫米波檢波模塊的預警接收單元(接收模塊1~4,共包括8個接收通道)和包含 A/D 量化模塊、信號分選模塊、方位解算模塊等部分的信號處理模塊兩大部分組成;信號源模擬目標威脅信號,為測試系統(tǒng)提供穩(wěn)定的頻率、功率輸出源;PC作為主控計算機,運行基于Lab-view的輻射源方位碼測試程序,同時通過USBCANII接口卡[5]與毫米波探測組件之間建立通訊渠道, 把方位碼測試數(shù)據(jù)上傳給PC終端,同時收集方位碼測試數(shù)據(jù)并通過USBCANII接口卡[5]回傳給CAN通訊總線。
圖2 實驗室模擬測試系統(tǒng)組成框圖
USBCANII高性能CAN接口卡[1]是與USB2.0總線全速規(guī)范兼容的,集成2路CAN接口的高性能型CAN總線通訊接口卡。主控計算機通過USB總線連接至CAN網(wǎng)絡,CAN接口連接至信處模塊數(shù)據(jù)端口,構(gòu)成毫米波探測組件輻射源方位碼數(shù)據(jù)收發(fā)的CAN網(wǎng)絡控制節(jié)點,如圖3所示。
圖3 CAN接口卡網(wǎng)絡控制節(jié)點
USBCANII接口卡[5]在主控計算機和兩路CAN控制節(jié)點之間建立通信渠道,把CAN協(xié)議轉(zhuǎn)換為USB協(xié)議,并把輻射源方位碼測試數(shù)據(jù)上傳給主控計算機;CAN控制子節(jié)點把從探測組件收集到的數(shù)據(jù)通過CAN協(xié)議回傳給USBCANII接口卡;CAN通信實現(xiàn)了輻射源方位碼的數(shù)據(jù)收發(fā),USB通信完成和主控計算機之間的數(shù)據(jù)交換任務。
實驗室搭建毫米波探測組件自動化測試系統(tǒng)基于Lab-view“數(shù)據(jù)流”框圖式編程[4]模式。硬件受控部分主要包括主控終端計算機、毫米波信號源E8257D和USBCANII接口卡[5];軟件部分主要包括同一臺PC終端同時運行自動化測試系統(tǒng)主程序和動態(tài)調(diào)用“輻射源方位碼”測試子程序;自動化測試平臺搭建連接框圖如圖4所示。
圖4 自動化測試平臺連接框圖
“輻射源方位碼”測試子程序接收到的每一幀測試數(shù)據(jù)最終以多列列表框控件顯示在VI前面板。每一列顯示所要獲取的參數(shù)類別。自動化程序?qū)⑿枰{(diào)用的列參數(shù)數(shù)據(jù)通過“獲取控件值方法”最終實現(xiàn)兩個測試終端之間的數(shù)據(jù)交換。
主控計算機是整個測試系統(tǒng)的核心,主要完成數(shù)據(jù)的接收、顯示、存取等功能以及控制參數(shù)的設定。PC計算機同時運行“輻射源方位碼”測試程序和整個系統(tǒng)自動化控制程序兩個終端界面。在自動化測試程序運行的過程中,“輻射源方位碼”測試程序作為子VI被自動化控制主VI程序動態(tài)調(diào)用,主VI和子VI并行運行、動態(tài)加載,自動化主VI從“輻射源方位碼”子VI中獲取所需參數(shù)數(shù)據(jù),同時返回自動化主VI中進行運算、比較,完成整個自動化測試過程。
動態(tài)調(diào)用的關鍵步驟是獲得被調(diào)用的VI句柄,通過VI屬性和方法,實現(xiàn)對被調(diào)用VI的動態(tài)操控。動態(tài)調(diào)用“輻射源方位碼”子VI的程序流向如圖5所示。自動化控制主VI通過“打開前面板”方法節(jié)點加載“輻射源方位碼”VI,通過VI的“運行”方法運行“輻射源方位碼”VI,再通過“關閉引用”函數(shù)關閉引用句柄。
圖5 動態(tài)調(diào)用基本過程
利用“獲取控件[變體]”的方法取得“輻射源方位碼”子VI多列列表框控件中某列參數(shù)的值。圖6為獲取多列列表框控件中P、PW、接收通道等參數(shù)的程序流程。
圖6 通過“獲取控件[變體]”法獲取“輻射源方位碼”VI中控件值
動態(tài)調(diào)用完成后,需要對獲取的控件參數(shù)數(shù)據(jù)進行讀取。為了保證多個線程之間數(shù)據(jù)交換的同步,本文選擇事件結(jié)構(gòu)的“超時”分支,對動態(tài)調(diào)用子VI線程每隔3500 ms讀取一次調(diào)用控件的參數(shù)值,程序流程如圖7所示。
圖7 讀取“輻射源方位碼”VI中參數(shù)控件值
程控儀器在整個自動化測試系統(tǒng)中擔負著實際測量的任務。本文主控計算機通過以太網(wǎng)卡與信號源E8257D建立TCP數(shù)據(jù)通信。程控信號源E8257D的軟件實現(xiàn)線程如圖8所示。
圖8 程控E8257D線程
首先,主控計算機通過主機名或IP地址與端口號建立偵聽,信號源E8257D根據(jù)主控計算機IP地址或端口號發(fā)出連接請求,等待計算機與E8257D建立連接后,在VISA資源控件下拉列表中選取所要連接的硬件資源;其次,查閱E8257D儀器使用手冊[6],找到所需的儀器命令字符,用NI-VISA Write.vi向儀器發(fā)送該指令,如*RCL0,0命令字符串表示直接調(diào)用名為0,0的儀表存儲波形文件;最后,依據(jù)測試要求按照1 dB步進量變換信號源輸出功率值,待“輻射源方位碼”測試終端響應后回讀滿足技術條件要求的功率輸出值。
搭建如圖9自動化測試系統(tǒng)硬件平臺,選擇E825-7D作為信號源提供高頻毫米波輸出信號,與待測設備連接后運行自動化測試軟件程序。圖9對自動化測試平臺的系統(tǒng)功能進行定義,形成對系統(tǒng)軟件功能的總體要求。
圖9 自動化測試平臺軟件功能總體框圖
首先,設置程控儀器線程。針對不同測試項對信號源E8257D信號產(chǎn)生及功能參數(shù)進行設置,包括以太網(wǎng)口的連接、儀表參數(shù)的設置以及信號輸出的控制等,設置完成后以波形文件的形式存儲,以備控制程序運行時直接調(diào)用。
其次,設置動態(tài)調(diào)用子VI線程。對“輻射源方位碼”測試程序啟用動態(tài)調(diào)用,設置CAN數(shù)據(jù)幀匹配參數(shù),打開并啟動USBCANII接口卡設備,同時對應多列列表框控件方位碼參數(shù)分類,獲取所需列參數(shù)值。
最后,設置自動化測試系統(tǒng)終端顯示界面。匹配好程控儀器線程與動態(tài)調(diào)用子VI線程之間的時間延遲關系。同時,對自動化測試數(shù)據(jù)進行讀取、計算、整合,隨后自動填充word版測試記錄表格并自動存儲至對應文件夾。
上述自動化測試功能在主控軟件集成,并提供前面板的使用界面。自動化程序運行后,程控信號源E8257D線程與動態(tài)調(diào)用“輻射源方位碼”子VI線程并行運行。信號源E8257D各種功能參數(shù)預先設置完成后存儲成波形文件以便啟用程控信號源線程時通過VISA寫入命令字符串被直接調(diào)用?!拜椛湓捶轿淮a”測試終端程序作為子VI被自動化控制主VI程序動態(tài)調(diào)用,接收來自信號源發(fā)射的信號。自動化控制主VI程序通過“獲取控件[變體]”的方法得到“輻射源方位碼”子VI傳遞過來的符合測試技術指標要求的方位碼參數(shù)值,之后反饋給信號源輸出功率,從而實現(xiàn)兩個VI線程之間的通訊并進行數(shù)據(jù)交換。
設計實現(xiàn)的集成有信號源和“輻射源方位碼”測試終端的自動化測試控制軟件主控界面如圖10所示。
圖10 自動化測試終端界面
主控界面的左側(cè)區(qū)域為信號源E8257D測試時需要設置輸入的5個頻點以及測試數(shù)據(jù)的運算與記錄等布爾控件引用類觸發(fā)事件源;右側(cè)區(qū)域分布測試前需要預先設置的常量類輸入控件值,以便整個測試過程中隨時引用;中間選項卡控件區(qū)域顯示5個頻點對應的每次測試各個參數(shù)的實時測量值,逐步運行完成所有測試項后,數(shù)據(jù)填滿選項卡內(nèi)置各數(shù)組控件,單擊Record布爾控件后數(shù)據(jù)自動填充動態(tài)測試數(shù)據(jù)記錄表對應位置,完成最后測試數(shù)據(jù)的記錄與保存工作。
啟用自動化測試軟件程序之前,需先確認主控計算機通過以太網(wǎng)卡與信號源E8257D建立TCP數(shù)據(jù)通信是否完好。主控計算機上的自動化控制程序能夠?qū)Α拜椛湓捶轿淮a”子VI終端測試程序主界面進行可視化操控,兩個界面同時運行且相互獨立,實時觀測數(shù)據(jù)變化,保證自動化控制線程與“輻射源方位碼”子VI線程之間正常通訊與準確傳輸、交換數(shù)據(jù)。具體的自動測試步驟流程如圖11所示。
圖11 自動化測試程序流程圖
單擊自動化程序運行按鈕,程控信號源線程發(fā)送模擬毫米波測試信號,動態(tài)調(diào)用子VI線程同步運行。待子VI運行5分鐘左右,開始正式對測試頻點進行測試。本文測試系統(tǒng)信號源輸出頻率共設置32G、34G、36G、38G、40G五個測試頻點,脈沖PRI設置100μs,脈寬設置10μs.主控程序前面板5個頻點布爾測試鍵依次按下,由于探測組件每一個接收模塊存在2路接收通道,每套系統(tǒng)共計8個通道,因此每個頻點測試次數(shù)n至少運行8次。待每次測試完成后,點擊Record控件,數(shù)據(jù)自動填充預先編輯好的Word版測試記錄表格,最終存儲至對應文件夾。至此,整個自動化測試程序運行完畢。
基于LabVIEW的某毫米波探測組件自動化測試系統(tǒng)針對實際調(diào)試交驗過程中人工測試效率提出問題,構(gòu)建自動測試模塊的思路,利用主控計算機和程控儀器搭建自動化測試平臺。結(jié)論如下:
1)實現(xiàn)了程控儀器的“命令式”TCP數(shù)據(jù)通信,無需儀表驅(qū)動程序方可輕松建立控制關系。
2)證實了動態(tài)調(diào)用子VI測試系統(tǒng)的可行性與便捷性,實現(xiàn)了兩個終端界面并行運行且相互獨立,完成了多個線程之間實時的數(shù)據(jù)交換。
3)測試結(jié)果驗證了軟件功能的正確性,實現(xiàn)了測量的自動化、測試數(shù)據(jù)的可視化、以及數(shù)據(jù)記錄的有序管理。
4)自動化測試控制平臺改變了以往繁瑣的手動測試過程,既節(jié)省了測試測量時間,又提高了測試測量的精確度,具有一定的通用性。