戴豪民 牛雙誠 張光軼 武恒州
摘 要:面向信號測試技術(shù)可以為自動測試系統(tǒng)提供更好的測試程序集可移植性和測試儀器可互換性。IEEE1641標(biāo)準(zhǔn)規(guī)范了信號定義和描述模型,但并未提出具體實現(xiàn)方法。為從技術(shù)上解決信號參數(shù)傳遞和需求存儲問題,分析了IEEE1641標(biāo)準(zhǔn),并根據(jù)該標(biāo)準(zhǔn)和工程實踐對信號進(jìn)行設(shè)計,給出了信號模板,提出了面向信號自動測試系統(tǒng)信號組件的設(shè)計方案,并進(jìn)行了驗證。實驗結(jié)果表明該設(shè)計方案先進(jìn)可行,可為該領(lǐng)域的研究提供參考。
關(guān)鍵詞:面向信號;信號組件;自動測試系統(tǒng);COM組件
中圖分類號:TP23文獻(xiàn)標(biāo)識碼:B
文章編號:1004-373X(2009)05-060-03
Design of Signal Components for Signal-oriented Automatic Test System
DAI Haomin1,NIU Shuangcheng1,ZHANG Guangyi1,WU Hengzhou2
(1.Naval Aeronautical Engineering Institute,Yantai,264001,China;2.Naval Aeronautical Military Representative Office in Shenyang,Shenyang,110034,China)
Abstract:Better portability of test program set and interchangeability of test instruments can be provided for automatic test system by the signal-oriented test technology.IEEE Std 1641 regulates signal definition and the description model,but does not put forward the concrete realization methods.For solving signal parameter transmission and storage,this article analyzes IEEE Std 1641,designs the signals according to the standard and engineering practice,gives out the signals templates,puts forward the design proposal of the signal components for signal-oriented automatic test system,and verifies it.The experiment result indicates that the design proposal of this article is advanced and feasible,and it can provide the reference for the research domain.
Keywords:signal-oriented;signal component;automatic test system;COM component
0 引 言
IEEE1641是關(guān)于測試和信號定義的技術(shù)標(biāo)準(zhǔn)。它為用戶提供了描述和控制信號的能力[1],并允許用戶選用自己的操作系統(tǒng)和編程語言。用戶可以通過信號定義來描述測試需求和測試資源,而不必考慮使用哪一種編程語言。IEEE1641標(biāo)準(zhǔn)是一種層結(jié)構(gòu)模型[2],在模型中對每個層和它的功能進(jìn)行了描述,每一個層都建立在前一層的基礎(chǔ)之上。這種層結(jié)構(gòu)要求每一層必須根據(jù)它的前一層進(jìn)行全面定義。它包括信號建模語言層、基本信號組件層、測試信號框架層和測試過程語言層。對信號進(jìn)行描述的過程中IEEE1641標(biāo)準(zhǔn)分別從信號名稱、定義、角色、端口、參數(shù)對信號進(jìn)行說明,其中信號參數(shù)部分分別從參數(shù)名稱、定義、數(shù)據(jù)類
型、單位、復(fù)位值、范圍、角色、限定詞對信號參數(shù)進(jìn)行說明。
1 信號設(shè)計
面向信號自動測試系統(tǒng)信號組件的開發(fā)與信號類型定義息息相關(guān),信號類型定義參考了IEEE1641標(biāo)準(zhǔn)和工程實踐。信號組件的開發(fā)過程中信號是信號角色和信號類型的結(jié)合體,其中信號角色與儀器相關(guān),信號類型與信號本身特征有關(guān)。一個信號是至少由一個信號參數(shù)組成,信號參數(shù)內(nèi)部劃分為信號參數(shù)定義、信號參數(shù)角色和信號參數(shù)限定詞。
在IVI-3.11:IviSig Class Specification規(guī)范中主要定義了以下信號角色[3]:Source,適用于“源”類儀器的信號,包括信號發(fā)生器類、電源類儀器等;Sensor和Monitor,適用于“測量”類儀器的信號,包括傳感器類、示波器類、萬用表類儀器等;Switch,適用于“通路”類儀器,包括開關(guān)、矩陣等。
信號參數(shù)角色是指信號參數(shù)針對某個儀器的信號能力。其中Controllable是指該信號參數(shù)可以被儀器控制,如電源輸出的電壓等;Measurable是指該信號參數(shù)可以被儀器測量,如數(shù)字萬用表測量直流電壓;Capability是指不能被儀器測量或控制的信號能力,該能力對于某個信號類型必不可少,如輸入電阻等。
信號參數(shù)限定詞是指同一個信號參數(shù)的不同信號描述,它分為電壓和電流信號的限定詞、功率信號的限定詞以及頻率信號的限定詞。例如對于電壓來說其描述方式包括:峰峰值電壓、RMS電壓、平均電壓等。
本文定義的信號是根據(jù)IEEE1641劃分的[4-7],在使用時可以根據(jù)實際情況修改信號類型定義。下面定義的信號類型實際上是一個信號模板,包含了一個或多個信號類型。例如:AC_SIGNAL包含了3種信號AC Voltage,AC Current,AC Power,對應(yīng)到源(Source)就是交流電壓源、交流電流源、交流功率源,對應(yīng)到傳感器(Sensor)就是交流電壓表、交流電流表、交流功率計?,F(xiàn)以交流信號為例,對信號定義進(jìn)行說明。
Name:AC_SIGNAL<type:Voltage‖Current‖ Power>
Roles: Source,Sensor,Monitor
Parameters:見表1。
2 信號組件的設(shè)計與開發(fā)
信號組件的本質(zhì)是COM組件[8],該類型組件的主要功能在于存儲信號參數(shù)信息,測試程序?qū)⑺栊盘栃畔鬟f給信號組件,數(shù)據(jù)將被暫存在緩存中,當(dāng)程序調(diào)用具體儀器驅(qū)動時這些信號參數(shù)將被具體儀器驅(qū)動所讀取,儀器動作到相應(yīng)的狀態(tài)。每個信號組件對應(yīng)一種信號,該組件為客戶程序提供了信號信息的公共存儲區(qū),同時測試返回的結(jié)果也在該組件下存儲。下面以ACVolt信號組件為例,描述信號組件的原理。對于ACVolt信號來說,其信號參數(shù)包括Ac_ampl,Freq,Dc_offset三種,信號組件中每個信號參數(shù)分別對應(yīng)4組方法,這些方法是:Setxx,ComGetxx,ComSetxx,Getxx,方法的功能見表2。客戶程序和具體儀器驅(qū)動之間通過資源分配器交互,雙方的數(shù)據(jù)不能直接傳遞,因此信號組件成為兩者數(shù)據(jù)交互的橋梁。
面向信號自動測試系統(tǒng)信號組件采用LabWindows/CVI 8.0作為開發(fā)環(huán)境[9,10],通過創(chuàng)建ActiveX服務(wù)器來完成信號組件的開發(fā)。現(xiàn)以ACVolt信號為例進(jìn)行說明。首先創(chuàng)建ActiveX服務(wù)器。啟動CVI 8.0,創(chuàng)建新工程,命名為“AtpACVoltParam”;選擇菜單欄“tools”-“create ActiveX server”項,CVI向?qū)詣訌棾?,將服?wù)器名稱命名為“AtpACVoltParam”,COM組件生成方式為動態(tài)鏈接庫形式“dll”,其他設(shè)置不變。然后添加接口和接口方法。對于ACVolt信號來說其接口為“IAtpACVoltParam”,它的3個參數(shù)分別是幅值(Ampl)、頻率(Freq)、直流偏移量(Dc_offset),接口方法和接口參數(shù)如下:
HRESULT SetAcAmpl/SetFreq/SetDc_offset ([in]BSTR Qualifier,[in]double Value,[in]double RangeMax,[in]double RangeMin,[in]double Resolution);
HRESULT COMGetAcAmpl/COMGetFreq/COMGetDc_offset([out]BSTR*Qualifier,[out]double*Value,[out]double*RangeMax,[out]double* RangeMin,[out]double* Resolution);
HRESULT COMSetAcAmpl/COMSetFreq/ COMSetDc_offset ([in]BSTR Qualifier,[in] double Value);
HRESULT GetAcAmpl/GetFreq/GetDc_offset ([out] BSTR* Qualifier,[out] double* Value);
其次要創(chuàng)建接口對象。選擇“Edit Objects”按鈕,創(chuàng)建“coAtpACVoltParam”對象并將其與接口“IAtpACVoltParam”相關(guān)聯(lián),并創(chuàng)建回調(diào)函數(shù)“coAtpACVoltParam_Callback ”。最后編輯接口方法實現(xiàn)代碼。將“.h”文件中的內(nèi)容拷貝到自己創(chuàng)建的文件 “AtpACVoltParamImp.c”中,激活綠色標(biāo)注區(qū)內(nèi)容,并將接口方法的回調(diào)函數(shù)編輯為默認(rèn)的返回S_OK,刪除帶有“Tag”標(biāo)志的結(jié)構(gòu)。Idl文件不需要修改。
3 信號組件的驗證
采用LabWindows/CVI 8.0作為開發(fā)環(huán)境,通過SetAcAmpl函數(shù)存儲客戶程序輸入的幅值信息,然后用COMGetAcAmpl函數(shù)讀取客戶程序輸入的幅值信息,驗證界面如圖1所示。這兩個函數(shù)完成了存儲信號參數(shù)信息的功能。通過COMSetAcAmpl函數(shù)存儲測試結(jié)果,最后用GetAcAmpl函數(shù)讀取測試結(jié)果,驗證界面如圖2所示。通過以上驗證說明ACVolt信號組件可以實現(xiàn)對信號信息的存儲,為下一步面向信號自動測試系統(tǒng)的實現(xiàn)提供參考。
參考文獻(xiàn)
[1]嚴(yán)英強(qiáng),楊鎖昌.IEEE1641標(biāo)準(zhǔn)及發(fā)展[J].儀表技術(shù),2007(7):25-28.
[2]IEEE Std 1641-2004.Standard for Signal and Test Definition[S].
[3]IVI-3.11.IviSig Class Specification[S].
[4]李行善,左毅,孫杰.自動測試系統(tǒng)集成技術(shù)[M].北京:電子工業(yè)出版社,2004.
[5]劉金寧.自動測試系統(tǒng)軟件模型與關(guān)鍵實現(xiàn)技術(shù)研究[D].石家莊:軍械工程學(xué)院,2007.
[6]李毓輝,郭群山.一種自動測試系統(tǒng)軟件平臺的設(shè)計[J].微計算機(jī)信息,2005,21(5):28-30.
[7]田雨.ATE測試平臺通用性與故障診斷的研究與實現(xiàn)[D].成都:電子科技大學(xué),2005.
[8]潘愛民.COM原理與應(yīng)用[M].北京:清華大學(xué)出版社,2005.
[9]張毅剛,喬立言.虛擬儀器軟件開發(fā)環(huán)境LabWindows/CVI 6.0 [M].北京:機(jī)械工業(yè)出版社,2002.
[10]張強(qiáng),吳慶明.ActiveX在LabWindows/CVI中的創(chuàng)建與應(yīng)用[J].機(jī)電工程技術(shù),2006(5):13-15.
作者簡介 戴豪民 男,1982年出生,碩士。研究方向為自動測試系統(tǒng)研究。
牛雙誠 男,1974年出生,博士。研究方向為自動測試系統(tǒng)研究。