基于信號(hào)接口的自動(dòng)測試系統(tǒng)軟件的設(shè)計(jì)與實(shí)現(xiàn)
摘要:實(shí)現(xiàn)儀器可互換性和TPS重用性、可移植性是通用自動(dòng)測試系統(tǒng)(ATS)的發(fā)展方向。論述了ATLAS 2K語言和IVI-Signal Interface標(biāo)準(zhǔn)的特點(diǎn)、結(jié)構(gòu)和技術(shù)實(shí)現(xiàn)。給出了一種基于信號(hào)接口的自動(dòng)測試系統(tǒng)軟件的設(shè)計(jì)方法。這一方案融合了當(dāng)前正在發(fā)展的各種測試系統(tǒng)軟件的設(shè)計(jì)技術(shù),為通用ATS設(shè)計(jì)提供了技術(shù)實(shí)現(xiàn)途徑。
自動(dòng)測試系統(tǒng)(ATS,Automatic Test System)是裝備形成戰(zhàn)斗力的重要保證,儀器的可互換性和測試程序集(TPS,Test Program Set)的重用性、可移植性是通用ATS的重要指標(biāo)。當(dāng)前,ATS軟件的開發(fā)方式有“面向儀器”和“面向信號(hào)”兩種,面向儀器的TPS開發(fā)基于儀器,很難從本質(zhì)上反映被測設(shè)備測試需求,加上儀器種類繁多,功能各異,因此很難實(shí)現(xiàn)互換,軟件通和性差;面向信號(hào)的開發(fā)方式基于被測對象(UUT,Unit Under Test)的測試需求和測試資源的測試/激勵(lì)能力,解決了需求與供應(yīng)之間的矛盾,通用性強(qiáng)。應(yīng)用在ATS中的軟件技術(shù)經(jīng)歷了過程編程語言(如C)、Windows DLL、面向?qū)ο缶幊蹋∣O)、組件對象模型(COM)的漫長發(fā)展過程。COM采用面向?qū)ο蟮能浖O(shè)計(jì)思想,以標(biāo)準(zhǔn)接口提供功能調(diào)用,實(shí)現(xiàn)了程序的模塊化、通用性設(shè)計(jì)。近期出現(xiàn)的ATLAS 2K(Abbreviated Test Language for All System 2000版本)語言和IVI-Signal Interface標(biāo)準(zhǔn)均基于COM技術(shù),二者結(jié)合,給通用ATS軟件設(shè)計(jì)提供了解決方案。
1 ATLAS 2K
1962年,為了描述UUT的測試需求,美國的ARINC(Aeronautical Radio Incorporation)公司開始發(fā)展ATLAS(Abbreviated Test Language for Avionics System)語言,并于1968年定下ARINC Std 416-1標(biāo)準(zhǔn)。ATLAS獨(dú)立于測試設(shè)備,提供了一種在UUT工程師、TPS開發(fā)人員和TPS最終用戶之間明確傳送信息的方式。ATLAS用標(biāo)準(zhǔn)信號(hào)和基于事件的表達(dá)方式描述UUT的測試需求,通過編譯器,這些描述代碼可在指定的ATS上執(zhí)行。
進(jìn)入20世紀(jì)90年代以來,隨著技術(shù)更新的加快和測試需求的增長,ATLAS暴露出了很多問題,比如:更新速度慢;開發(fā)工具昂貴;ATLAS體系龐大、模糊等。這一切限制了ATLAS的進(jìn)一步發(fā)展。ATLAS 2K是由Test Description Sub-Committee of SCC 20在ATLAS的基礎(chǔ)上制訂的新標(biāo)準(zhǔn),它采用SMML(Signal and Method Modeling Language)語言和面向?qū)ο蠹夹g(shù),給ATLAS語言減了肥,優(yōu)化了程序結(jié)構(gòu),增強(qiáng)了對UUT測試需求描述的準(zhǔn)確性;并且可在任何支持COM技術(shù)的平臺(tái)上使用圖形工具進(jìn)行編程,簡化了程序設(shè)計(jì)。
1.1 ATLAS 2K模型
ATLAS 2K模型建立在層狀信號(hào)組件模型之上,由信號(hào)基類、基本信號(hào)組件和復(fù)合信號(hào)組件三層組成。
圖1給出了用SMML語言構(gòu)建的類名為SignalFunction的信號(hào)基類模型。SMML源于Haskell Function Language,提供了用于描述信號(hào)屬性和方法的機(jī)制,通過制定語法規(guī)則和大量預(yù)定義動(dòng)作來實(shí)現(xiàn)對信號(hào)類的定義。通常情況下,信號(hào)基類包括信號(hào)輸入端(In)、事件輸入端(Sync)、信號(hào)輸出端(Out)、控制參數(shù)輸入端(屬性)、被測信號(hào)輸出端(Value)等功能接口。當(dāng)然,不同類型的信號(hào)也可以包括不同的接口,如激勵(lì)信號(hào)類可以沒有In接口、Value只對傳器信號(hào)有效等。
信號(hào)(Signal)和事件(Event)是標(biāo)準(zhǔn)化的信號(hào)類接口,組成元素包括屬性和方法。屬性標(biāo)志著信號(hào)對象的當(dāng)前狀態(tài),如運(yùn)行、暫停、停止等;方法則實(shí)現(xiàn)在狀態(tài)之間切換。
信號(hào)基類模型提供了消息(連續(xù)的為信號(hào),離散的為事件)傳送機(jī)制,用來改變信號(hào)對象的狀態(tài)和行為。信號(hào)對象可以通過In/Sync接口接收其它對象送來的消息,也可以把消息通過Out接口傳遞給其它對象。例如,一個(gè)Ready事件可把信號(hào)對象由停止(Stop)狀態(tài)變?yōu)檫\(yùn)行(Run)狀態(tài);一個(gè)Active事件可以讓傳感器信號(hào)對象執(zhí)行數(shù)據(jù)采集操作等。
信號(hào)類經(jīng)例化后,可以仿真某些角色信號(hào)(如激勵(lì)信號(hào)、測試信號(hào)、事件調(diào)節(jié)器信號(hào)、信號(hào)調(diào)節(jié)器信息等)、UUT節(jié)點(diǎn)等。
ATLAS 2K模型的基本信號(hào)組件層提供了可重用、經(jīng)格式化描述的基本信號(hào)(底層信號(hào)),它們是基于COM技術(shù)的對信號(hào)類繼承、封裝并進(jìn)一步標(biāo)準(zhǔn)化的產(chǎn)物。每個(gè)基本信號(hào)組合件都存在一個(gè)靜態(tài)SMML描述和一個(gè)抽象的運(yùn)行期控制模型,前者定義信號(hào)特片,后者在某一特定ATS中定義信號(hào)的行為。通過這些基本信號(hào)組件可以定義所有較高層的信號(hào)。
ATLAS 2K模型的復(fù)合信號(hào)組件庫與ATLAS的EXTEND功能類似,通過定義基本信號(hào)組件產(chǎn)生的復(fù)合信號(hào)和使用這些信號(hào)的規(guī)則,實(shí)現(xiàn)了對信號(hào)的擴(kuò)展。圖2給出了由基本信號(hào)組件1和2實(shí)現(xiàn)復(fù)合信號(hào)n的示意圖。復(fù)合信號(hào)組件可以仿真復(fù)雜信號(hào),如射頻(RF)信號(hào)、數(shù)據(jù)總線信號(hào)等。
1.2 ATLAS 2K的工程應(yīng)用
在支持COM組件開發(fā)的編程平臺(tái)(如VC++、VB等和相應(yīng)開發(fā)工具的支持下,ATLAS 2K可應(yīng)用在“面向信號(hào)”的ATS設(shè)計(jì)中。具體應(yīng)用如下:裝配信號(hào)組件實(shí)現(xiàn)對UUT的測試需求描述,生成ATLAS 2K TPS;通過編譯器編譯后,轉(zhuǎn)變成能在ATS上執(zhí)行的代碼;在充分考慮自身時(shí)序要求和儀器功能限制的前提下,實(shí)現(xiàn)與特定ATS的集成。
下面的VB代碼給出了應(yīng)用信號(hào)組件在某一測試節(jié)點(diǎn)PL-1上建立和撤銷一個(gè)振幅為0.5V、頻率為1000Hz的信號(hào)的全過程。
Dim mySig as Source
Set mySig=A2K.Require("SinusoidalVoltage") //建立信號(hào)
mySig.Amp.Units=V
mySig.Amp=0.5
mySig.Freq="1000Hz"
Set cnx=A2K.Require("OneWire") //建立節(jié)點(diǎn)
Cnx="PL-1"
Set cnx.in=mySig.out //連接節(jié)點(diǎn)
Set cnx=Nothing //節(jié)點(diǎn)初始化
mySig.out.Run //產(chǎn)生信號(hào)
mySig.out.Stop //撤銷信號(hào)
mySig.in=Nothing
mySig=Nothing
ATLAS 2K作為測試標(biāo)準(zhǔn)信號(hào),實(shí)現(xiàn)了代碼重用和移植。對于新ATS,只要結(jié)合新測試資源信息,對ATLAS 2K代碼重新編譯就可在新系統(tǒng)中運(yùn)行。
2 IVI-Signal Interface標(biāo)準(zhǔn)
IVI-Signal Interface標(biāo)準(zhǔn)是IVI基金會(huì)在IVI-MSS模型的基礎(chǔ)上進(jìn)一步發(fā)展起來的,它對IVI-MSS的RCM進(jìn)一步封裝,以信號(hào)接口的形式對外提供測試服務(wù)。
2.1 IVI-Signal Interface模型
IVI-Signal Interface模型的體系結(jié)構(gòu)如圖3所示。
IVI信號(hào)組件是帶有標(biāo)準(zhǔn)信號(hào)接口的IVI-MSS角色組件,通過這些接口可用一系列方法執(zhí)行信號(hào)操作,如初始化、建立、連結(jié)、更改等。它允許客戶應(yīng)用程序控制儀器設(shè)備上的物理信號(hào),如初始化、切換等操作。下面的VB代碼給出了在地址為1的某GPIB儀器上產(chǎn)生振幅為0.5V、頻率為1000Hz的正弦信號(hào)的全過程。
Dim mySigSource as IviSignalSource
MySigSource.Init("GPIB:1:INSTR") //初始化
Dim control as ParamValSet
control.Add("Amp",0.5) //指定信號(hào)電流參數(shù)
control.Add("Freq",1.0E6,2.0) //指定信號(hào)頻率參數(shù)
評論