蔡保海,劉靜,趙澤生,袁媛,閆菲,張雷,常素強
(1.天津電氣科學研究院有限公司,天津300180;2.電氣傳動國家工程研究中心,天津300180;3.優美科催化劑(天津)有限公司,天津300280;4.中國機械設備工程股份有限公司,北京100073)
TestStand是美國國家儀器公司(National Instruments)推出的一款全英文自動化測試流程執行管理軟件,可根據復雜的自動測試流程和測試資源的需要進行測試環境的管理,其人機界面友好、穩定性高、二次開發時間短,并且可以按照要求存儲結果或生成固定格式的測試報告。通過TestStand軟件平臺,研發工程師可將主要精力聚焦于更重要的測試需求規劃上,更加細化產品的測試需求內容。TestStand可以兼容 .NET,LabVIEW,LabWindows/CVI,Visual Ba-sic和Visual C等多種主流測試編程環境,還能與其它編程環境生成的動態鏈接庫、Activex插件和應用執行程序相銜接,通過TestStand良好的兼容性,可以便捷地將傳統的和現有的測試編程環境相結合[1-3]。
本文基于TestStand開發了電路板卡的自動測試程序,闡述了TestStand驅動程序的設計思想和原則,是測試系統中最靈活、最核心的部分。TestStand軟件應用于通用板卡測試系統平臺后,使人機交互界面操作簡捷,能快速有效地對硬件系統進行控制,還能對測試數據進行存儲,以便后續調用及分析處理。本測試系統平臺克服了測試人員的主觀性對測試結果的影響,克服了測試人員對專業技術的依賴性,也克服了測試效率低下等問題。
本測試程序系統已經應用于通用板卡自動測試平臺的板卡批量測試,通用板卡自動測試平臺系統內部結構如圖1所示,它由彈性探針針床平臺、數據采集、處理、顯示、存儲幾部分組成。被測電路板上設計有若干個測試點,測試時使被測電路板通過測試夾具(即彈性探針針床)與測試組合柜相接觸建立電信號通路連接,實物圖如圖2所示。本測試平臺系統可用于輸出電路板卡測試點所需的激勵信號,如模擬量信號、數字量信號、PWM波脈沖信號等,也可用于對電路板卡響應信號(如相位、幅值、頻率等)的數據采集、實時顯示、數據處理和數據存儲的全部過程,為電路板卡的自動測試提供了一個良好的平臺。操作人員手動按下“測試開始”按鈕則啟動測試程序,通過人機交互界面向測試系統輸入被測試板卡的激勵信號命令,由彈性探針針床傳導到板卡中,測試系統再對板卡的輸出信號進行采集分析處理,最后與程序中設定的判定范圍進行比較得出測試結論,并將測試結果自動保存到測試報告中[4-5]。

圖1 本測試系統內部結構Fig.1 Internal structure of the test system

圖2 本測試系統實物圖Fig.2 Physical map of the test system
在板卡批量測試之前,首先要了解設計方案中被測試板卡的功能及性能參數,并根據這些參數編寫與之對應的測試系統的測試方案(包含測試項目、誤差標準和測試資源配置),然后按照編寫的測試方案中測試流程的步驟再編寫自動測試程序,最后調試調用這些程序。電路板卡所需測試的項目有:電源阻抗檢測、電源電壓檢測、采樣電阻檢測、霍耳傳感器電壓輸出檢測、通訊地址檢測、運算放大器功能檢測、觸發電路檢測、功率管狀態檢測、開關量檢測、模擬量檢測、PWM波脈沖檢測等不同的功能測試項。如圖3所示,首先對待測板卡的電源阻抗進行測試,檢驗合格后再對電源電壓進行測試,檢驗合格后再對板卡的特殊性能進行測試,將測試結果反饋后與理論值范圍做判定對比。若測試結果在合理的誤差范圍內,則測試通過,即此板卡為測試合格;否則測試不通過,即此板卡為測試不合格,此時測試系統將會彈出故障和故障序列,等待操作人員進行處理[6]。

圖3 軟件流程圖Fig.3 The flow chart of software
測試程序中巧妙地設計了一個“檢測到板卡故障時,是否向下繼續執行測試”的選項。當檢測到板卡出現故障有反饋值時,可以根據反饋值是“1”還是“0”來判斷程序是否繼續向下執行。若反饋值為“1”,則定義為輕故障(例如:電源阻抗異常、電源電壓異常、通訊故障等),程序可向下繼續執行對其他項目的測試,最后再顯示故障位置及測試不通過;若反饋值為“0”,則定義為重故障,測試系統顯示測試不通過并應立即停機,等待操作人員處理,最后測試系統會顯示重故障位置,以提示維修人員做好記錄,以便對該板卡進行維修。
一個測試序列(.seq文件)由許多測試項目組成,被測試板卡的每一項功能測試都可以對應地編寫一個測試序列,操作人員可以調整測試序列文件中測試項目的前后順序,用以實現不同的測試方案要求[7]。圖4所示為已測試完畢的某一型號板卡的全部測試序列文件,這些測試序列在圖5所示的主序列中作為一個步驟進行逐一調用,用以完成對板卡的測試。如果在測試過程或是產品自身出現質量問題,測試序列也能夠很好地復現現象,這也是TestStand測試程序的一個突出優點。

圖4 測試序列文件夾Fig.4 Test sequence folder

圖5 TestStand測試程序界面Fig.5 The interface of TestStand test program
考慮到使用測試平臺人員的不同應用權限,所以在軟件系統設計時,把使用人員分為管理員和操作員兩類,二者有著不同的操作權限。管理員既具有操作員的權限,也具有添加、刪除用戶信息、修改用戶密碼、系統流程配置等多種權限,但操作員只能對平臺進行測試操作。相對而言,對于本測試本臺,操作員更容易上手,技術水平要求不高。
待所有的測試程序序列測試完后,TestStand會自動生成這一批電路板卡的測試報告。測試報告不但可以顯示測試的最終結果,也可以提供測試過程中間的結果用于抽查,測試結果可以用數字形式表示,也可以拷貝或打印出來。Test-Stand的自動存儲是通過數據庫來完成的,測試平臺通過調用數據庫里數據對測試結果進行整體的對比分析[8-9]。
圖6所示為公司生產的某一型號電路板第4個序列(PWM波脈沖功能測試)自動存儲的測試報告。在測試報告中Name列為測試項的名稱,Target Min和Target Max為規定的誤差范圍,Actual為測試的實際值。如果測試的實際值在合理的誤差范圍內,則測試結果為Passed(測試通過),否則為Failed(測試不通過)。

圖6 測試報告(局部)Fig.6 Test report(local)
將測試系統平臺生成報告的測試結果與人工測試的結果進行比較,最終結果基本一致,但自動測試平臺的總花費時間卻從人工測試的30 min縮短為6 min,并且測試的結果可以圖形與數據相結合,便于后期對數據的分析與處理,提高了公司的測試與研發效率[10]。
本文介紹了測試管理環境TestStand軟件的基本概念和開發測試流程,并通過在測試平臺上應用TestStand軟件的案例來展示整個測試平臺的測試結果。測試結果說明TestStand軟件實現了公司生產板卡的自動一體化測試,同時使測試系統平臺具有了實時分析、邏輯判斷、記憶的能力。實際測試時操作人員可以靈活地調整測試序列的前后順序進行測試,本測試系統平臺會將測試的最終結果自動存儲起來,有利于日后對測試結果進行分析查驗。通過對測試結果的分析,驗證了此程序的可行性,將此軟件程序引入到公司產品生產線測試后,提升了公司板卡類產品的測試效率與測試精度。
綜上所述,在電路板卡類產品的測試周期內應用本測試程序大幅度地提高了測試的精確度和可靠性,不管是測試過程的操作還是測試結果的記錄都減少了人為主觀因素對測試結果的影響[11],對提升公司品牌形象及公司產品的核心競爭力都起到了至關重要的作用。