摘 要:介紹基于GPIB技術的可靠性試驗自動測試系統的設計,詳細闡述了該系統的硬件組成和軟件編程。該自動測試系統不僅具有很高的測試效率和測試精度,而且操作簡單,具有良好的擴展性,適用于通用雷達裝備板級可靠性試驗的評估與驗證。經過長時間的試驗測試以及獲得的大量數據表明,該可靠性試驗測試系統運行穩定可靠,數據采集、存儲、分析方便,滿足通用雷達可靠性試驗的測試要求。
關鍵詞:可靠性試驗; GPIB; 自動測試系統; 雷達
中圖分類號:TP23 文獻標識碼:A
文章編號:1004-373X(2010)11-0007-03
Design of Automatic Test System for Reliability Testing
ZHANG Guo-long, LIANG Yu-ying,BA Ning
(Department of Optics and Electrics Engineering, Ordnance Engineering College, Shijiazhuang 050003, China)
Abstract: The design of GPIB-based automatic test system for reliability testing is presented. The hardware composition and software programming of the system are elaborated. The automatic test system not only has high test efficiency and test accuracy, but also has good scalability, is easy to operate and suitable for general radar equipment board-level reliability test evaluation and verification. The long term testing and the obtained mass data show that the reliability test system has the follow characteristics: stable and reliable operation, convenient data acquisition, storage and analysis. The system can meet the requirements of the common radar reliability testing.
Keywords: reliability testing; GPIB; automatic test system; radar
0 引 言
隨著電子裝備的復雜程度越來越高,高技術條件下現代戰爭所具有的復雜的戰場環境和超快節奏對裝備的可靠性的要求也愈來愈高,可靠性試驗技術的先進程度直接影響著可靠性的研究,目前國內研究可靠性試驗的科研單位大多采用傳統的臺式儀器單臺手工測量、試驗及后期的數據處理存在很多缺點。基于GPIB的自動測試系統是計算機技術和自動技術相結合的產物,目前仍廣泛應用于眾多領域,將其應用于可靠性試驗領域已是必然的趨勢。
本文提到的可靠性試驗自動測試系統,是針對在不同應力條件下進行的可靠性試驗可能存在的各種實際情況,自行開發的一套電子裝備可靠性試驗自動測試系統。通過GPIB接口把計算機與Agilent34970A多通道數據采集/開關單元相連,通過Visual C++6.0開發的軟件對Agilent34970A進行控制,可自動進行可靠性試驗的數據采集、存儲及數據處理。
1 可靠性試驗測試系統需求分析
可靠性試驗自動測試系統是在傳統的試驗測試方法基礎之上,采用目前比較先進的自動測試技術[1]的設計理念,從硬件和軟件兩個方面入手,實現以硬件為支撐,軟件控制硬件的可靠性試驗自動測試系統,不僅提高了試驗的效率,也節約試驗的成本。
本系統主要是針對通用雷達裝備的加速壽命試驗等多應力條件下可靠性試驗的測試要求而設計,需要根據可靠性試驗技術指標及設計參數確定試驗方案,然后選擇環境試驗控制設備及測試設備,篩選受試設備,由于加速壽命試驗和環境試驗要求受試設備在強應力環境下進行試驗,因此所選用的元器件或樣板電路必須按規定的技術條件能夠通過高低溫,濕熱,振動等多項試驗。國內外研發的環境試驗控制設備比較先進,能夠施加溫度、振動、濕度等超高應力環境[2],并且可靠性試驗方案及理論的研究也比較廣泛,然而針對可靠性試驗的測試系統的研究較少,因此設計可靠性試驗自動測試系統具有一定的實用價值和理論意義。系統設計是根據可靠性試驗的技術指標要求,選擇合適的測試儀器、接口以及施加電應力的激勵源等硬件設備,基于GPIB接口技術[3]來設計自動測試系統。
以某型雷達的信號發生板為研究對象,進行加速壽命試驗[4]。測試技術指標要求如下:
(1) 對于該信號板,需要提供3路外加電源,分別為+48 V和±12 V直流電源。
(2) 所選電路板主要功能是產生20 kHz的正弦信號,其頻率、周期以及幅度作為監測的特征量。要求測試系統能夠對以上特征參數自動提取。
(3) 可靠性試驗周期長,為防止采樣時間過短時電路板的突變等突發情況對數據的采集處理影響過大,將采樣間隔確定為24 h。
2 可靠性試驗自動測試系統的設計
2.1 系統硬件構成
該系統硬件部分主要由計算機、測試儀器模塊、激勵源模塊、USB-GPIB控制器、GPIB電纜組成,如圖1所示。其中主控計算機是作為連接GPIB接口的測試儀器及實現軟件控制硬件的平臺;測試儀器模塊采用Agilent公司的34970A數據采集儀器[5],該儀器功能強大,是一種高性能、低價位的數據采集和開關主機;USB-GPIB控制器是一個USB-GPIB接口的轉換控制器。激勵源模塊主要是給試驗對象提供電應力的直流線性電源。
圖1 可靠性試驗系統硬件組成
2.2 系統軟件的開發
本測試系統的核心部分是軟件開發方面,軟件采用Visual C++ 6.0作為開發工具,系統的軟件設計以數據的采集、傳輸、處理、存儲為核心,以簡明、友好的用戶操作界面為人機交互接口。軟件部分由6個模塊組成,其中,數據的采集、傳輸由GPIB通信控制模塊和UDP通信模塊來完成;數據處理由數據處理模塊來完成。各模塊關系如圖2所示。
圖2 系統軟件模塊
軟件結構:根據層次化的軟件設計思想,該綜合測試系統的軟件結構由上自下分為三層:人機交互層、測試功能層和硬件驅動層。
硬件驅動層 硬件設備的驅動設計包括硬件接口、儀器驅動程序等與資源相關的所有軟件驅動,主要完成軟件平臺與硬件之間接口驅動。主要包括以下幾種功能模塊:硬件初始化功能模塊、硬件操作功能模塊、關閉硬件功能模塊和硬件設置、校準功能模塊。
測試功能層 測試功能層實現激勵信號輸出、測試數據處理和Excel表格填表功能。
人機交互層 人機交互層為系統的頂層控制部分,通過用戶界面接受用戶的操作信息,再來調度測試功能層完成相應的測試項目。
2.3 系統關鍵技術的實現
2.3.1 儀器底層控制
本系統的開發是應用了HPVISA儀器I/O控制軟件。儀器I/O控制軟件[6]是處理計算機與儀器間通過物理連接進行通信的問題,也就是處理計算機與儀器間傳送命令與數據的問題而使用的。
VISA[7]就是用于儀器編程的標準I/O函數庫及其相關規范的總稱,一般稱這個I/O函數庫為VISA庫。VISA庫駐留于計算機系統中,使計算機與儀器之間的軟件層連接,用以實現對儀器的程控。作為儀器I/O函數庫,軟件中對VISA函數的調用與傳統的I/O軟件編程基本相同,主要通過對設備I/O端口函數、讀寫操作控制函數、事件處理函數的調用來實現。
VC++6.0程序在調用VISA庫函數時,必須在頭文件中加入“#include visa.h”和“#include visatype.h”兩條語句,然后可在具體軟件中對各VISA庫函數進行調用。
下面以設置測試儀器34970A為例來說明怎樣通過發命令形式對儀器進行控制的。
viSession videfaultRM,vi34970A;
viOpenDefaultRM(videfaultRM);
vi0pen(videfaultRM,″GP1B::3::1NSTR″,V1_NULL,V1_NULL,vi34970A);//設置電源邏輯地址為3
viPrntf(vi34970A,″:OUTPOFF\\\″); //關閉電源輸出
viPrntf(vi34970A,″VOLT220\\\″); //設置電壓
viPrntf(vi34970A,″:FREQ50\\\″); //設置頻率
viPrntf(vi34970A,″:OUTPON\\\″); //打開電源輸出
floatfValueV,fValueHz;
viQueryf(vi34970A,″:MEAS:V0LT:AC\\\″,″of″,fValueV);//回讀電壓
viQueryf(vi34970A,″:MEAS:FREQ\\\″,″%f″,fValueHz);//回讀頻率
…
viClose(vi34970A);
viClose(videfaultRM);
2.3.2 儀器類的設計
利用面向對象技術實現儀器操作的模塊化,對于自動測試軟件的通用性及功能模塊的重復利用性的提高具有現實意義。在自動測試系統中,各種儀器在連接、數據傳輸等方面都存在著共同點,因此從功能需求中挖掘出各個儀器的共同點,實現對儀器操作的模塊化,減少代碼的重復性,做到操作風格的統一,便于系統的擴展和維護,是設計儀器類[8]的主要目標。計算機對各種不同的儀器進行操作,實現自動測試,基本的流程如圖3所示。
圖3 儀器控制基本流程
根據以上分析,針對不同儀器在測試系統中的共同點,在進行儀器抽象類的設計時,定義并實現了針對各儀器通用功能模塊的函數和記錄通用信息的變量。
2.3.3 數據庫的設計[9]
本系統軟件平臺的數據庫使用Access 2000系統開發,測量結果實現入庫的程序編制流程步驟如下:
(1) 建立數據庫表,并設置ODBC連接:
首先,在Access 2000中建立SignalTest數據庫,然后選取“設置”→“控制面板”→“數據源(ODBC)”→“用戶DSN”選項,選中所建立的signal表,使這個數據表與ODBC系統關聯起來,這樣可以通過在VC程序中設立相應的類指向ODBC系統,實現對數據表的訪問操作。
(2) 在VC程序中對相應的類進行定義,建立起指向signal數據表的指針:首先,在VC中建立一個CRecordset類CDATASET,使其指向ODBC系統中剛剛定義的signal表,這樣signal表中的每個字段都與CDATASET類關聯起來;接著,在VC的Doc類中定義了一個CDATASET類的具體對象m_dataset,并在全局變量中定義一個指向CDATASET類的指針(CDATASET*)m_pset。
(3) 通過控制指針的位置指向,將準備入庫的各信號特征參數值寫入signal數據表:m_pset指針始終是
指向signal表中的某一行記錄的,可隨時通過定位它
的指向記錄行來控制對各字段的操作。
2.3.4 線程控制
系統使用多線程控制技術[10]。線程是操作系統分配處理器時間的基本單元,并且該進程中可以有多個線程同時執行代碼。每個線程都維護異常處理程序、調度優先級和一組系統用于在調度該線程前保存線程上下文的結構。線程上下文使線程在線程的宿主進程地址空間中無縫地繼續執行所需的所有信息,包括線程的CPU寄存器組和堆棧。系統在多線程測量同時使用主窗體中的部分相同控件。這部分控件需要進行資源托管和控件申明,以避免在多線程狀態下出現多線程沖突。
3 結 語
根據GPIB接口總線技術組建的計算機輔助測試系統可以實現自動測量、實時數據處理等功能;結合Visual C++編程技術構建滿足系統要求的儀器類,靈活的實現可靠性試驗自動測試的要求。本文所設計的可靠性試驗自動測試系統經過系統的軟硬件設計和實際調試,該系統已經投入使用,運行穩定可靠、數據采集、存儲、分析方便,滿足通用雷達裝備板級可靠性試驗的測試要求。
參考文獻
[1]杜里,張其善.電子裝備自動測試系統發展綜述[J].計算機測量與控制,2009,17(6):1019-1021.
[2]中國人民解放軍總裝備部軍事訓練教材編輯工作委員會.可靠性試驗技術[M].北京:國防工業出版社,2003.
[3]楊會民,田秋成,邢建功,等.基于GPIB接口的自動測試系統[J].微計算機信息,2005,21(1):93-94.
[4]賈占強.通用雷達裝備板級可靠性評估與試驗研究[D].石家莊:軍械工程學院,2008.
[5]Agilent.示波器、分析儀、儀表[EB/OL].\\.http://www.home.agilent.comagilen.
[6]黃璐璐,李志華,李訓銘,等.VC++6.0環境下GPIB虛擬儀器的設計[J].微計算機信息,2004,20(5):75-77.
[7]顧志強.基于GPIB的自動測試系統的研究與實現[D].南京:南京理工大學,2007.
[8]盧成武,種蘭祥,張曉博.基于GPIB接口的數字存儲示波器功能擴展[J].微計算機信息,2005,21(5):157-158.
[9]王維玉.Visual C++6.0高級編程技術精粹[M].北京:科學出版社,2008.
[10]曹瑞基,汪心妍.基于GPIB總線結構的數字多用表自動控制系統[J].中國測試技術,2005(5):81-82.