閻 俊 費月玲 張敏芳
(西安電子工程研究所 西安 710100)
軟件自動化測試是相對于手工測試而存在的,由測試人員根據測試項目調試細則中描述的規程一步一步執行測試,得到實際結果與期望結果的比較。在此過程中,節省人力、時間或硬件資源,提高測試效率。近年來,越來越多的軟件自動化測試方法應用于電子系統測試領域。例如,文獻[1]基于關鍵字驅動的Linux-GUI自動化測試是建立在Linux自動化測試開源軟件的基礎之上,通過其獨有的分層結構框架,以中低層向高層提供服務的模式,達到高效化自動測試目的;文獻[2]中利用遠程端口將用戶與網絡設備有效連接的Python-CLI自動化測試,通過鍵盤輸入相應測試命令,進而實現自動化測試過程;文獻[3]通過USB-6211數據采集卡結合LabVIEW軟件設計多路模擬數據采集與控制測試平臺,實現多路信號采集和多路數字信號輸出的功能。
本文以某毫米波探測組件測試系統繁瑣、重復的手動測試為原型,基于LabVIEW[4]“數據流”框圖式編程模式,設計了自動化測試控制系統。該測試系統改變了以往繁瑣的手動測試過程,實現了測量的自動化、測試數據的可視化、以及數據管理的有序化。既節省了測試測量時間,又提高了測試測量的精確度。
某毫米波探測組件外場測試工作原理如圖1所示。當告警天線1~天線n截獲到目標威脅信號時,毫米波探測組件(虛線框)中檢波模塊接收信號后對其進行對數放大,將視頻信號輸出給信號處理單元。信號處理單元中的 A/D 模塊對視頻信號進行采樣量化后,得到各通道信號幅度的量化值,在信號處理單元中進行脈沖描述字的形成和信號分選,并通過方位解算模塊對相鄰波束輸出的幅度值進行比較、計算,最終得到輻射源的方位碼。信號處理模塊將輻射源方位碼通過USBCANII接口卡[5]上傳給PC終端,完成整個毫米波探測組件的測試功能。
與圖1相對應的實驗室模擬測試系統如圖2所示。其中,虛線框所示探測組件主要由毫米波檢波模塊的預警接收單元(接收模塊1~4,共包括8個接收通道)和包含 A/D 量化模塊、信號分選模塊、方位解算模塊等部分的信號處理模塊兩大部分組成;信號源模擬目標威脅信號,為測試系統提供穩定的頻率、功率輸出源;PC作為主控計算機,運行基于Lab-view的輻射源方位碼測試程序,同時通過USBCANII接口卡[5]與毫米波探測組件之間建立通訊渠道, 把方位碼測試數據上傳給PC終端,同時收集方位碼測試數據并通過USBCANII接口卡[5]回傳給CAN通訊總線。

圖2 實驗室模擬測試系統組成框圖
USBCANII高性能CAN接口卡[1]是與USB2.0總線全速規范兼容的,集成2路CAN接口的高性能型CAN總線通訊接口卡。主控計算機通過USB總線連接至CAN網絡,CAN接口連接至信處模塊數據端口,構成毫米波探測組件輻射源方位碼數據收發的CAN網絡控制節點,如圖3所示。

圖3 CAN接口卡網絡控制節點
USBCANII接口卡[5]在主控計算機和兩路CAN控制節點之間建立通信渠道,把CAN協議轉換為USB協議,并把輻射源方位碼測試數據上傳給主控計算機;CAN控制子節點把從探測組件收集到的數據通過CAN協議回傳給USBCANII接口卡;CAN通信實現了輻射源方位碼的數據收發,USB通信完成和主控計算機之間的數據交換任務。
實驗室搭建毫米波探測組件自動化測試系統基于Lab-view“數據流”框圖式編程[4]模式。硬件受控部分主要包括主控終端計算機、毫米波信號源E8257D和USBCANII接口卡[5];軟件部分主要包括同一臺PC終端同時運行自動化測試系統主程序和動態調用“輻射源方位碼”測試子程序;自動化測試平臺搭建連接框圖如圖4所示。

圖4 自動化測試平臺連接框圖
“輻射源方位碼”測試子程序接收到的每一幀測試數據最終以多列列表框控件顯示在VI前面板。每一列顯示所要獲取的參數類別。自動化程序將需要調用的列參數數據通過“獲取控件值方法”最終實現兩個測試終端之間的數據交換。
主控計算機是整個測試系統的核心,主要完成數據的接收、顯示、存取等功能以及控制參數的設定。PC計算機同時運行“輻射源方位碼”測試程序和整個系統自動化控制程序兩個終端界面。在自動化測試程序運行的過程中,“輻射源方位碼”測試程序作為子VI被自動化控制主VI程序動態調用,主VI和子VI并行運行、動態加載,自動化主VI從“輻射源方位碼”子VI中獲取所需參數數據,同時返回自動化主VI中進行運算、比較,完成整個自動化測試過程。
動態調用的關鍵步驟是獲得被調用的VI句柄,通過VI屬性和方法,實現對被調用VI的動態操控。動態調用“輻射源方位碼”子VI的程序流向如圖5所示。自動化控制主VI通過“打開前面板”方法節點加載“輻射源方位碼”VI,通過VI的“運行”方法運行“輻射源方位碼”VI,再通過“關閉引用”函數關閉引用句柄。

圖5 動態調用基本過程
利用“獲取控件[變體]”的方法取得“輻射源方位碼”子VI多列列表框控件中某列參數的值。圖6為獲取多列列表框控件中P、PW、接收通道等參數的程序流程。

圖6 通過“獲取控件[變體]”法獲取“輻射源方位碼”VI中控件值
動態調用完成后,需要對獲取的控件參數數據進行讀取。為了保證多個線程之間數據交換的同步,本文選擇事件結構的“超時”分支,對動態調用子VI線程每隔3500 ms讀取一次調用控件的參數值,程序流程如圖7所示。

圖7 讀取“輻射源方位碼”VI中參數控件值
程控儀器在整個自動化測試系統中擔負著實際測量的任務。本文主控計算機通過以太網卡與信號源E8257D建立TCP數據通信。程控信號源E8257D的軟件實現線程如圖8所示。

圖8 程控E8257D線程
首先,主控計算機通過主機名或IP地址與端口號建立偵聽,信號源E8257D根據主控計算機IP地址或端口號發出連接請求,等待計算機與E8257D建立連接后,在VISA資源控件下拉列表中選取所要連接的硬件資源;其次,查閱E8257D儀器使用手冊[6],找到所需的儀器命令字符,用NI-VISA Write.vi向儀器發送該指令,如*RCL0,0命令字符串表示直接調用名為0,0的儀表存儲波形文件;最后,依據測試要求按照1 dB步進量變換信號源輸出功率值,待“輻射源方位碼”測試終端響應后回讀滿足技術條件要求的功率輸出值。
搭建如圖9自動化測試系統硬件平臺,選擇E825-7D作為信號源提供高頻毫米波輸出信號,與待測設備連接后運行自動化測試軟件程序。圖9對自動化測試平臺的系統功能進行定義,形成對系統軟件功能的總體要求。

圖9 自動化測試平臺軟件功能總體框圖
首先,設置程控儀器線程。針對不同測試項對信號源E8257D信號產生及功能參數進行設置,包括以太網口的連接、儀表參數的設置以及信號輸出的控制等,設置完成后以波形文件的形式存儲,以備控制程序運行時直接調用。
其次,設置動態調用子VI線程。對“輻射源方位碼”測試程序啟用動態調用,設置CAN數據幀匹配參數,打開并啟動USBCANII接口卡設備,同時對應多列列表框控件方位碼參數分類,獲取所需列參數值。
最后,設置自動化測試系統終端顯示界面。匹配好程控儀器線程與動態調用子VI線程之間的時間延遲關系。同時,對自動化測試數據進行讀取、計算、整合,隨后自動填充word版測試記錄表格并自動存儲至對應文件夾。
上述自動化測試功能在主控軟件集成,并提供前面板的使用界面。自動化程序運行后,程控信號源E8257D線程與動態調用“輻射源方位碼”子VI線程并行運行。信號源E8257D各種功能參數預先設置完成后存儲成波形文件以便啟用程控信號源線程時通過VISA寫入命令字符串被直接調用。“輻射源方位碼”測試終端程序作為子VI被自動化控制主VI程序動態調用,接收來自信號源發射的信號。自動化控制主VI程序通過“獲取控件[變體]”的方法得到“輻射源方位碼”子VI傳遞過來的符合測試技術指標要求的方位碼參數值,之后反饋給信號源輸出功率,從而實現兩個VI線程之間的通訊并進行數據交換。
設計實現的集成有信號源和“輻射源方位碼”測試終端的自動化測試控制軟件主控界面如圖10所示。

圖10 自動化測試終端界面
主控界面的左側區域為信號源E8257D測試時需要設置輸入的5個頻點以及測試數據的運算與記錄等布爾控件引用類觸發事件源;右側區域分布測試前需要預先設置的常量類輸入控件值,以便整個測試過程中隨時引用;中間選項卡控件區域顯示5個頻點對應的每次測試各個參數的實時測量值,逐步運行完成所有測試項后,數據填滿選項卡內置各數組控件,單擊Record布爾控件后數據自動填充動態測試數據記錄表對應位置,完成最后測試數據的記錄與保存工作。
啟用自動化測試軟件程序之前,需先確認主控計算機通過以太網卡與信號源E8257D建立TCP數據通信是否完好。主控計算機上的自動化控制程序能夠對“輻射源方位碼”子VI終端測試程序主界面進行可視化操控,兩個界面同時運行且相互獨立,實時觀測數據變化,保證自動化控制線程與“輻射源方位碼”子VI線程之間正常通訊與準確傳輸、交換數據。具體的自動測試步驟流程如圖11所示。

圖11 自動化測試程序流程圖
單擊自動化程序運行按鈕,程控信號源線程發送模擬毫米波測試信號,動態調用子VI線程同步運行。待子VI運行5分鐘左右,開始正式對測試頻點進行測試。本文測試系統信號源輸出頻率共設置32G、34G、36G、38G、40G五個測試頻點,脈沖PRI設置100μs,脈寬設置10μs.主控程序前面板5個頻點布爾測試鍵依次按下,由于探測組件每一個接收模塊存在2路接收通道,每套系統共計8個通道,因此每個頻點測試次數n至少運行8次。待每次測試完成后,點擊Record控件,數據自動填充預先編輯好的Word版測試記錄表格,最終存儲至對應文件夾。至此,整個自動化測試程序運行完畢。
基于LabVIEW的某毫米波探測組件自動化測試系統針對實際調試交驗過程中人工測試效率提出問題,構建自動測試模塊的思路,利用主控計算機和程控儀器搭建自動化測試平臺。結論如下:
1)實現了程控儀器的“命令式”TCP數據通信,無需儀表驅動程序方可輕松建立控制關系。
2)證實了動態調用子VI測試系統的可行性與便捷性,實現了兩個終端界面并行運行且相互獨立,完成了多個線程之間實時的數據交換。
3)測試結果驗證了軟件功能的正確性,實現了測量的自動化、測試數據的可視化、以及數據記錄的有序管理。
4)自動化測試控制平臺改變了以往繁瑣的手動測試過程,既節省了測試測量時間,又提高了測試測量的精確度,具有一定的通用性。