唐小峰
(成都天奧測(cè)控技術(shù)有限公司,成都 611731)
自動(dòng)測(cè)試系統(tǒng)(ATS,automatic test system)是指以計(jì)算機(jī)為控制核心,通過程序控制完成某一測(cè)試任務(wù)的測(cè)試儀器和其他設(shè)備的有機(jī)整體[1]。ATS廣泛應(yīng)用于航空、航天、船舶和電子等領(lǐng)域,是現(xiàn)代化高端裝備的重要保障設(shè)備。ATS一般由自動(dòng)測(cè)試設(shè)備(ATE,automatic test equipment)、測(cè)試程序集(TPS,test program set)和TPS軟件開發(fā)工具(即軟件平臺(tái))三大部分組成[2]。其中TPS是ATS的重要組成部分,TPS的開發(fā)和調(diào)試工作在ATS總成本中占有很大比重。由于通用ATS一般被設(shè)計(jì)為滿足多型被測(cè)設(shè)備(UUT,unit under test)的自動(dòng)化檢測(cè)需要,這些UUT的TPS目前必須在成熟度較低的情況下依次排隊(duì)在緊缺的實(shí)物測(cè)試平臺(tái)上進(jìn)行調(diào)試,形成了嚴(yán)重的資源擠占。此外,ATE本身的設(shè)計(jì)制造也只能通過漫長(zhǎng)的TPS調(diào)試過程來充分驗(yàn)證,因此極大影響了ATS的研制進(jìn)度和交付效率,增加了ATS的研發(fā)成本。
隨著信息技術(shù)的發(fā)展,針對(duì)ATS的離散信號(hào)事件系統(tǒng)特性采用計(jì)算機(jī)建模與仿真手段解決ATS開發(fā)、調(diào)試和驗(yàn)證問題成為一個(gè)值得探索的方向。離散事件系統(tǒng)規(guī)范(DEVS,discrete event system specification)[3]是一種通用的復(fù)雜動(dòng)態(tài)系統(tǒng)建模與仿真范式,近年來獲得了廣泛關(guān)注。唐俊等[4]證明了DEVS模型的封閉特性;林清泉等[5]結(jié)合DEVS和智能體模型描述,提出一種復(fù)雜產(chǎn)品行為模型的多分辨率模型框架。此外,DEVS還被廣泛用于柔性制造系統(tǒng)PLC程序的輔助設(shè)計(jì)[6]、機(jī)械加工過程碳排放過程動(dòng)態(tài)分析、預(yù)測(cè)與定量評(píng)估[7]、構(gòu)建網(wǎng)格世界等環(huán)境中智能體的交互行為和學(xué)習(xí)行為[8]以及電力電子系統(tǒng)的仿真和校正[9]等。
針對(duì)自動(dòng)測(cè)試系統(tǒng),目前還未見采用離散事件建模方法對(duì)其進(jìn)行全要素系統(tǒng)級(jí)仿真驗(yàn)證的報(bào)道。劉宏偉[10]針對(duì)智能電網(wǎng)抄表業(yè)務(wù)設(shè)計(jì)了一種基于半實(shí)物仿真的自動(dòng)測(cè)試平臺(tái);韓偉[11]介紹了變電站的仿真自動(dòng)測(cè)試系統(tǒng),使用軟件程序模擬實(shí)際的報(bào)文數(shù)據(jù);趙昕紅等[12]通過Simulink建模工具為旋翼電動(dòng)折疊系統(tǒng)構(gòu)建了虛擬實(shí)驗(yàn)系統(tǒng)。其他的相關(guān)研究包括基于LabVIEW的虛擬儀器技術(shù)應(yīng)用[13-14]等。
本文基于DEVS基本概念并結(jié)合ATS的特點(diǎn)對(duì)其進(jìn)行了適應(yīng)性改進(jìn),研究了針對(duì)自動(dòng)測(cè)試硬件實(shí)體的多分辨率仿真模型描述,給出了UUT、電纜、適配器、儀器設(shè)備和系統(tǒng)集成的具體建模方法,提出了一種離散信號(hào)事件驅(qū)動(dòng)的仿真調(diào)度算法,給出了一個(gè)C/S架構(gòu)的支持遠(yuǎn)程交互的仿真驗(yàn)證實(shí)現(xiàn)方案,并最終通過兩個(gè)實(shí)驗(yàn)對(duì)所提模型和方法的有效性進(jìn)行了驗(yàn)證。
DEVS中的原子模型表示單分辨率的最小描述單元,其行為具有自治性。耦合模型包含原子模型的組合與連接,根據(jù)嵌套層次的不同又可分為一階耦合模型和高階耦合模型。耦合模型分辨率正比于其階數(shù)。
如圖1所示為離散事件系統(tǒng)的多分辨率模型層次框架示意圖,其中底層的m1、m2和m3方框?yàn)樵幽P蛯?shí)例;m4和m5所示的斜方框表示一階耦合模型實(shí)例,其構(gòu)成元素只含原子模型;m6所在的重疊斜方框表示高階耦合模型實(shí)例,其中至少包含一個(gè)其他耦合模型。
圖1 多分辨率模型層次框架
離散事件系統(tǒng)的原子模型可以定義為一個(gè)九元組結(jié)構(gòu)體:
mA=
(1)
上述原子模型要素中,輸入信號(hào)集X、輸出信號(hào)集Y和端口集P構(gòu)成了模型的接口;狀態(tài)特征集S(包括其初始狀態(tài)s0)和故障模式集F構(gòu)成了模型的屬性;狀態(tài)轉(zhuǎn)移函數(shù)δ、輸出函數(shù)λ和時(shí)間推進(jìn)函數(shù)ta則描述了模型的行為。
原子模型端口是新引入的一個(gè)概念,在后續(xù)的仿真算法實(shí)現(xiàn)過程(詳見第3節(jié)相關(guān)內(nèi)容)中具有重要作用,端口的形式化定義如下所示:
(2)
考慮耦合模型的原子特性,可將其定義為一個(gè)三元組結(jié)構(gòu):
mC=
(3)
綜上所述,可得如圖2所示的耦合模型結(jié)構(gòu),若其中虛線框中的模型要素為空,則該模型即退化為一個(gè)原子模型。
圖2 耦合模型結(jié)構(gòu)
本節(jié)基于上述多分辨率模型描述方法,針對(duì)自動(dòng)測(cè)試系統(tǒng)中的典型硬件實(shí)體構(gòu)建其仿真模型。一個(gè)完整的自動(dòng)測(cè)試系統(tǒng)如圖3所示,其中主要包含UUT、電纜、適配器、儀器設(shè)備以及由這些儀器設(shè)備集成得到的ATE。電纜和適配器的作用是將UUT的接口連接到ATE的外部接口,使得ATE具備測(cè)試多個(gè)不同型號(hào)UUT的通用化能力。ATE中的控制計(jì)算機(jī)通過各類測(cè)控總線(如GPIB、PXI、VXI、LXI和串口等)與儀器設(shè)備的程控端口相連。儀器設(shè)備的功能接口通常通過ATE的外部接口轉(zhuǎn)接實(shí)現(xiàn)互連或與適配器端口相連,從而間接地連接到UUT接口。
圖3 典型自動(dòng)測(cè)試系統(tǒng)組成結(jié)構(gòu)
自動(dòng)測(cè)試系統(tǒng)的基本工作原理為由控制計(jì)算機(jī)運(yùn)行當(dāng)前UUT的TPS,其間通過調(diào)用儀器驅(qū)動(dòng)程序:①控制開關(guān)的閉合和斷開,在UUT和儀器設(shè)備之間建立和切換信號(hào)通路;②控制信號(hào)源輸出激勵(lì)信號(hào)(如供電信號(hào)、通信控制信號(hào)、射頻信號(hào)和離散量信號(hào)等),該信號(hào)通過適配器和電纜傳遞到UUT,從而對(duì)UUT的工作狀態(tài)施加控制和影響;③控制測(cè)量?jī)x讀取UUT輸出信號(hào)的測(cè)量值,然后將結(jié)果逐層返回給驅(qū)動(dòng)程序和TPS,進(jìn)行后續(xù)的判讀或處理。
首先根據(jù)UUT的接口控制文件梳理UUT模型的端口P和信號(hào)(X和Y)。例如由兩個(gè)針腳XS1-DD和XS1-GND構(gòu)成UUT的直流供電輸入端口,輸入信號(hào)類型為DC_POWER,其主要信號(hào)屬性為電壓幅度和電流限,也可包含關(guān)于信號(hào)質(zhì)量的描述,如允許的電壓浮動(dòng)范圍或電壓精度等。在面向信號(hào)的測(cè)試中,上述信息是UUT測(cè)試需求的重要組成部分[15]。
UUT的內(nèi)部狀態(tài)S與其具體的設(shè)計(jì)規(guī)范相關(guān),例如靜態(tài)屬性Ss中包含該設(shè)備的型號(hào)、名稱、序號(hào)等信息;狀態(tài)變量Sd則可能涉及上電狀態(tài)、工作電流、工作模式、工作參數(shù)以及當(dāng)前工況下的性能指標(biāo)等。UUT的故障模式F可參考其故障模式、影響及危害性分析報(bào)告進(jìn)行設(shè)置。
考慮到離散事件模型具有耦合封閉性特點(diǎn),即耦合模型總能轉(zhuǎn)化為一個(gè)等價(jià)的原子模型[4],在進(jìn)行UUT建模時(shí)可根據(jù)掌握資料的詳細(xì)程度確定其模型分辨率以及行為描述的實(shí)現(xiàn)方式(包括δ、λ和ta)。若能獲取較詳細(xì)的內(nèi)部設(shè)計(jì)信息,則采用耦合模型(即M≠φ)將更加清晰和直觀。
電纜和適配器主要用于轉(zhuǎn)接信號(hào),它們的模型特點(diǎn)是:①端口和信號(hào)數(shù)量較多(即|P|和|X|+|Y|的值較大);②動(dòng)態(tài)的狀態(tài)變量為空(Sd=φ);③故障模式F主要涉及接觸不良等連接型故障,這些故障模式直接影響信號(hào)的輸出函數(shù)λ;④行為模式較為單一,通常是簡(jiǎn)單地將一端的輸入信號(hào)從另一端輸出,只有輸出函數(shù)λ(其中可以對(duì)信號(hào)屬性進(jìn)行簡(jiǎn)單處理,如功率衰減等),無狀態(tài)轉(zhuǎn)移函數(shù)δ,信號(hào)傳輸?shù)臅r(shí)間可忽略不計(jì)(即時(shí)間推進(jìn)函數(shù)ta的值恒為0)。電纜和適配器的建模以使用單分辨率的原子模型為主。
儀器設(shè)備主要用于產(chǎn)生激勵(lì)、測(cè)量信號(hào)和切換信號(hào)通路(開關(guān)類儀器)。在自動(dòng)測(cè)試系統(tǒng)中它們通常是可程控的,因此具有與控制計(jì)算機(jī)進(jìn)行通信的端口pctrl∈P。其他端口主要用于輸出激勵(lì)信號(hào)或接收測(cè)量信號(hào)。普通儀器的建模過程與UUT類似,不再贅述。值得注意的是,在描述儀器的控制信號(hào)和行為時(shí)應(yīng)充分參考相關(guān)開發(fā)手冊(cè)或使用說明,增強(qiáng)模型的擬真度。
開關(guān)作為一類比較特殊的儀器,其模型特點(diǎn)是:①由于通道數(shù)一般較多,故端口和信號(hào)數(shù)量較大;②狀態(tài)變量Sd記錄當(dāng)前所有開關(guān)單元的連接和斷開狀態(tài);③故障模式F與電纜和適配器特點(diǎn)相似,主要是連接型故障;④狀態(tài)轉(zhuǎn)移函數(shù)δ主要受程控端口輸入信號(hào)事件觸發(fā),用于更新指定開關(guān)單元的開閉狀態(tài);⑤輸出函數(shù)λ依據(jù)連接關(guān)系傳遞端口上的信號(hào);⑥時(shí)間推進(jìn)函數(shù)ta主要作用于狀態(tài)轉(zhuǎn)移過程,用于模擬開關(guān)動(dòng)作時(shí)延,而信號(hào)在開關(guān)內(nèi)部傳輸?shù)臅r(shí)間可以忽略不計(jì)。
開關(guān)模型中有輸入信號(hào)在開關(guān)單元閉合前和閉合后到達(dá)端口的兩種情況。前者需要將該信號(hào)暫存在端口的緩存p.buff中,開關(guān)閉合后再?gòu)闹腥∮眯盘?hào)并輸出;后者則可以直接從相連的另一端輸出該信號(hào)。開關(guān)模型通常為原子模型,但若開關(guān)是由多個(gè)開關(guān)子模塊拼接而成(例如大型矩陣開關(guān))則更宜采用耦合模型。
自動(dòng)測(cè)試系統(tǒng)模型的集成涉及兩個(gè)層面,一是ATE的集成(即將儀器設(shè)備模型集成到一起,形成一個(gè)ATE耦合模型),二是測(cè)試系統(tǒng)的集成(即UUT+電纜+適配器+ATE)。系統(tǒng)集成的過程就是將相同層次的模型實(shí)例端口相互連接(即內(nèi)部耦合)或連接到高層次模塊的外部端口(即外部輸入或輸出耦合),從而構(gòu)成一個(gè)整體。
集成后的ATE可能是一階耦合模型,也可能是高階耦合模型,這主要取決于其中儀器設(shè)備模型的實(shí)現(xiàn)方式。并且,從通用化的工程經(jīng)驗(yàn)看ATE模型中主要是外部耦合,即儀器設(shè)備模型之間直連的情況較少(除了控制計(jì)算機(jī)與儀器設(shè)備程控端口的連接)。整個(gè)測(cè)試系統(tǒng)則是一個(gè)典型的高階耦合模型,且其中以內(nèi)部耦合為主。
自動(dòng)測(cè)試系統(tǒng)仿真算法實(shí)質(zhì)上是離散信號(hào)件驅(qū)動(dòng)的仿真調(diào)度過程,需要解決端口信號(hào)事件的產(chǎn)生和處理、行為函數(shù)觸發(fā)執(zhí)行以及輸出延時(shí)等問題,既能模擬硬件的并行行為特征,又能高效利用仿真時(shí)鐘。
仿真調(diào)度算法的基本原理如圖4所示,下面結(jié)合該原理圖對(duì)算法過程的詳細(xì)步驟進(jìn)行說明。
圖4 仿真調(diào)度算法基本原理
1)狀態(tài)初始化。加載系統(tǒng)模型時(shí)對(duì)各級(jí)模型實(shí)例的狀態(tài)S進(jìn)行初始化,即S←s0。
2)仿真啟動(dòng)。令X0為原始輸入信號(hào)集,通過將其中的信號(hào)依次施加到原始輸入端口集P0來啟動(dòng)仿真過程。
4)行為函數(shù)觸發(fā)執(zhí)行。受端口上的輸入信號(hào)事件調(diào)度,行為函數(shù)執(zhí)行時(shí)通過狀態(tài)轉(zhuǎn)移函數(shù)δ根據(jù)輸入信號(hào)的屬性值和當(dāng)前狀態(tài)S更新狀態(tài)變量Sd。然后,輸出函數(shù)λ根據(jù)當(dāng)前輸入或狀態(tài)產(chǎn)生輸出信號(hào)。函數(shù)δ和λ需要根據(jù)對(duì)象的行為特點(diǎn)編寫計(jì)算機(jī)代碼實(shí)現(xiàn)。
7)仿真結(jié)束。當(dāng)TE=φ時(shí),仿真結(jié)束,系統(tǒng)進(jìn)入穩(wěn)態(tài)。
自動(dòng)測(cè)試系統(tǒng)仿真驗(yàn)證的目的有三個(gè):1)驗(yàn)證TPS的邏輯是否滿足UUT測(cè)試需求;2)驗(yàn)證儀器驅(qū)動(dòng)程序的調(diào)用是否正確;3)驗(yàn)證ATE的行為是否符合預(yù)期的設(shè)計(jì)規(guī)范。
TPS是一組可執(zhí)行的程序或腳本,通常需要在開發(fā)階段進(jìn)行調(diào)試,因此將TPS的仿真驗(yàn)證與程序調(diào)試進(jìn)行結(jié)合是比較自然的思路。驅(qū)動(dòng)程序是受TPS執(zhí)行過程中調(diào)用的計(jì)算機(jī)程序,可與TPS的調(diào)試同步執(zhí)行,對(duì)傳參和測(cè)量值返回顯示功能進(jìn)行驗(yàn)證;ATE的設(shè)計(jì)驗(yàn)證主要關(guān)注仿真過程中各種信號(hào)是否沿著正確的路徑傳輸并被處理。
為提高實(shí)現(xiàn)方案的靈活性以及滿足遠(yuǎn)程仿真驗(yàn)證等需求,采用了如圖5所示的C/S架構(gòu),其中TPS(及其執(zhí)行器)和驅(qū)動(dòng)程序運(yùn)行于客戶端進(jìn)程,用于模擬圖3中所示的控制計(jì)算機(jī)模型。自動(dòng)測(cè)試系統(tǒng)模型的仿真在服務(wù)端運(yùn)行。前后端通過HTTP協(xié)議經(jīng)仿真服務(wù)接口進(jìn)行交互。表1中所示為主要的通信接口描述。
圖5 自動(dòng)測(cè)試系統(tǒng)仿真驗(yàn)證實(shí)現(xiàn)原理
表1 仿真驗(yàn)證實(shí)現(xiàn)的網(wǎng)絡(luò)通信接口描述
當(dāng)TPS啟動(dòng)執(zhí)行時(shí),向后端發(fā)送模型初始化指令,加載對(duì)應(yīng)的系統(tǒng)模型。TPS執(zhí)行過程中可以通過發(fā)送UUT控制指令并通過仿真服務(wù)接口轉(zhuǎn)入U(xiǎn)UT模型的控制端口,觸發(fā)UUT模型行為執(zhí)行,得到的響應(yīng)數(shù)據(jù)再依次返回給執(zhí)行器和TPS,進(jìn)行判讀、顯示或其他處理。當(dāng)TPS執(zhí)行過程中需要控制儀器設(shè)備時(shí),通過調(diào)用相應(yīng)的驅(qū)動(dòng)程序,結(jié)合傳參內(nèi)容構(gòu)造儀器程控指令(如標(biāo)準(zhǔn)的SCPI指令或模擬的接口函數(shù)調(diào)用等),然后發(fā)送到儀器模型的程控端口,觸發(fā)其產(chǎn)生信號(hào)、進(jìn)行測(cè)量或切換開關(guān)等動(dòng)作,響應(yīng)后的數(shù)據(jù)同理逐層返回到TPS。
仿真驗(yàn)證實(shí)驗(yàn)基于自主研發(fā)的自動(dòng)測(cè)試系統(tǒng)軟件平臺(tái)產(chǎn)品(SCATS V1.0)實(shí)現(xiàn),它具備測(cè)試系統(tǒng)建模、測(cè)試程序開發(fā)/調(diào)試、測(cè)試程序執(zhí)行、儀器驅(qū)動(dòng)輔助開發(fā)和故障診斷等功能,并且能夠在主流的國(guó)產(chǎn)CPU計(jì)算機(jī)和國(guó)產(chǎn)操作系統(tǒng)上進(jìn)行安裝、部署和使用。SCATS為TPS調(diào)試功能提供了一個(gè)“模型仿真”的選項(xiàng),能夠基于本文所提方法對(duì)自動(dòng)測(cè)試系統(tǒng)進(jìn)行全要素的仿真驗(yàn)證[16]。
下面通過兩個(gè)實(shí)驗(yàn)演示本文所研自動(dòng)測(cè)試系統(tǒng)仿真驗(yàn)證方法和實(shí)現(xiàn)的效果。實(shí)驗(yàn)一是一個(gè)較為簡(jiǎn)單的示例,主要用于對(duì)所提方法進(jìn)行進(jìn)一步的舉例說明;實(shí)驗(yàn)二是針對(duì)一個(gè)真實(shí)的航空機(jī)載設(shè)備UUT開展的應(yīng)用驗(yàn)證,用于證明本文研究的實(shí)用性。
本實(shí)驗(yàn)以如圖6所示的自動(dòng)測(cè)試系統(tǒng)為例(簡(jiǎn)潔起見其中省略了測(cè)試電纜),其測(cè)試需求為通過局域網(wǎng)控制UUT先后產(chǎn)生一個(gè)正弦波信號(hào)x1和方波信號(hào)x2,然后通過射頻開關(guān)的切換,分別將兩個(gè)信號(hào)輸入到頻譜儀和示波器測(cè)量它們的幅值。
圖6 自動(dòng)測(cè)試系統(tǒng)實(shí)例
圖6中的UUT、適配器、頻譜儀、示波器和射頻開關(guān)均為原子模型。以射頻開關(guān)為例,它的輸入和輸出信號(hào)為圖中所示的正弦波和方波信號(hào),即X,Y={x1,x2};該模型有7個(gè)端口P={IN1,IN2,OP1, ,OP4,COM},其中IN1和IN2為輸入端口,OP1~OP4為輸出端口,COM為串口控制端口;主要靜態(tài)屬性Ss=
表2 射頻開關(guān)模型中的故障模式
射頻開關(guān)的射頻信號(hào)輸入端口IN1(IN2同理)關(guān)聯(lián)一個(gè)名為“sig_handle”的行為函數(shù)(即IN1.func=“sig_handle”)。信號(hào)輸入時(shí),該函數(shù)通過判斷當(dāng)前K1和K2的狀態(tài),調(diào)用λ從正確的端口輸出該信號(hào),同時(shí)令其他端口輸出一個(gè)空信號(hào)(模擬信號(hào)被斷開的情況)。程控端口COM關(guān)聯(lián)一個(gè)名為“write”的行為函數(shù)(即COM.func=“write”),該函數(shù)對(duì)程控指令進(jìn)行解析,從而調(diào)用δ更新開關(guān)單元的狀態(tài)。例如程控指令為“INIT”(初始化)或“RST”(復(fù)位)時(shí),則分別置k1←1和k2←1。同時(shí),該函數(shù)還檢查IN1.buff是否有緩存的信號(hào),若有則調(diào)用λ輸出信號(hào),實(shí)現(xiàn)與真實(shí)射頻開關(guān)行為的一致。
圖6中的ATE是一個(gè)一階耦合模型,它的端口J1-1和J1-3是入口,J1-2是出口;組件集M={頻譜儀,示波器,射頻開關(guān)};連接集CP={(ATE.J1-3,射頻開關(guān).IN1),(射頻開關(guān).OP4,ATE.J1-2), ,(射頻開關(guān).OP1,示波器.IN1), },其中所列元素分別表示外部輸入耦合、外部輸出耦合和內(nèi)部耦合。
基于該自動(dòng)測(cè)試系統(tǒng)開發(fā)的TPS中包含20個(gè)測(cè)試步驟。以“模型仿真”模式啟動(dòng)TPS調(diào)試,在測(cè)試程序執(zhí)行到第4行時(shí),經(jīng)信號(hào)路由搜索算法計(jì)算得到需要閉合K1的第1擲和K2的第4擲才能將正弦波信號(hào)輸入到頻譜儀測(cè)量。假設(shè)控制K2的指令內(nèi)容為“CON K2 4”,通過TPS執(zhí)行器調(diào)用射頻開關(guān)的驅(qū)動(dòng)程序?qū)⒃撝噶畎l(fā)送到服務(wù)端的射頻開關(guān)程控端口COM,調(diào)用上述“write”函數(shù)對(duì)其進(jìn)行解析后置狀態(tài)k2←4。執(zhí)行TPS第5行時(shí)執(zhí)行器向UUT模型發(fā)送指令,控制它從端口X1-1輸出一個(gè)中心頻率為100 MHz,功率為-35 dBm的正弦波信號(hào)x1。該信號(hào)分別通過端口TA1-1和入口J1-3到達(dá)射頻開關(guān)的IN1端口,觸發(fā)上述“sig_handle”函數(shù)執(zhí)行(當(dāng)前仿真時(shí)刻t=6 T),完畢后時(shí)鐘事件列表TE中包含一個(gè)事件e=<7 T,{射頻開關(guān).OP4},x1>。根據(jù)仿真算法,下一個(gè)仿真時(shí)刻t=7 T時(shí)(即延時(shí)Δt=1 T),將從射頻開關(guān)的端口OP4輸出x1,進(jìn)入與OP4相連的端口J1-2觸發(fā)新的輸入信號(hào)事件和行為,直到TE=φ,系統(tǒng)進(jìn)入穩(wěn)態(tài)。
在TPS的第10行和第20行設(shè)置兩個(gè)斷點(diǎn)。正常情況下在第一個(gè)斷點(diǎn)處,開關(guān)狀態(tài)為k1=1和k2=4,頻譜儀接收到UUT端口X1-1輸出的有效正弦波信號(hào),因此x1幅度測(cè)量值正常(≈-35 dBm);由于該信號(hào)不能通過開關(guān)到達(dá)示波器的兩個(gè)端口,因此示波器返回的幅值為零。在第二個(gè)斷點(diǎn)處,UUT端口X1-4輸出方波信號(hào),開關(guān)狀態(tài)被切換到了k1=2和k2=1,因此示波器端口IN1(通道1)接收到有效的信號(hào)x2,返回正常的測(cè)量值(≈5 V);而頻譜儀沒有接收到信號(hào),返回一個(gè)很低的噪聲幅值(假定為-120 dBm)。
表3所示為模擬各種正常和故障狀態(tài)下TPS執(zhí)行到兩個(gè)斷點(diǎn)處在調(diào)試面板界面上觀察到的測(cè)試結(jié)果數(shù)據(jù)(粗體表示當(dāng)前時(shí)機(jī)下的異常值)。表中數(shù)據(jù)在標(biāo)稱值附近隨機(jī)小幅變化是因?yàn)樵陬l譜儀和示波器模型的行為函數(shù)中增加了一個(gè)隨機(jī)擾動(dòng)來近似模擬測(cè)量誤差。
表3 TPS仿真驗(yàn)證實(shí)驗(yàn)結(jié)果
分析表3中的數(shù)據(jù),當(dāng)故障代碼為“0001”(K1固定在CH1)時(shí),在第一個(gè)斷點(diǎn)處與正常情況所需的狀態(tài)k1=1相同,因此不會(huì)產(chǎn)生影響;在第二個(gè)斷點(diǎn)處k1的值本應(yīng)為2但仍然保持為1,導(dǎo)致示波器IN1端口接收到的不是方波信號(hào),而是從UUT端口X1-1輸出的正弦波信號(hào),測(cè)得其幅值為3.98 mV(假定阻抗為50 Ω條件下-35 dBm的轉(zhuǎn)換值),與正常的5 V有明顯差異。
再如當(dāng)故障代碼為“0008”(控制電路故障)時(shí),不能通過程控指令改變射頻開關(guān)的狀態(tài),即始終保持在初始狀態(tài)k1=1和k2=1,從而導(dǎo)致兩個(gè)斷點(diǎn)處的測(cè)量值完全相同。
最后,模擬了適配器中接線錯(cuò)誤的情形。使用SCATS的適配器建模工具將內(nèi)部連線修改為TA1-1連接到J1-4和TA1-2連接到J1-3。在斷點(diǎn)1處由于K1的狀態(tài)為k1=1,故信號(hào)x1無法到達(dá)頻譜儀端口;斷點(diǎn)2處示波器IN1實(shí)際收到的是信號(hào)x1,而不是預(yù)期的x2,表3中最末一項(xiàng)測(cè)試數(shù)據(jù)正確地反映了上述結(jié)果。
采用類似的方法分析其他狀態(tài)情況,可見仿真驗(yàn)證的結(jié)果與預(yù)期均一致,意味著在這種“模型仿真”模式下調(diào)試TPS能夠感知測(cè)試系統(tǒng)設(shè)計(jì)或狀態(tài)的變化,是對(duì)當(dāng)前TPS調(diào)試驗(yàn)證手段的重要改進(jìn)[15]。
本實(shí)驗(yàn)針對(duì)的是一個(gè)真實(shí)的航空直流發(fā)電機(jī)控制器UUT,并且在一個(gè)實(shí)物ATE驗(yàn)證平臺(tái)上對(duì)其進(jìn)行了實(shí)際測(cè)試。表4中所示為該UUT自動(dòng)測(cè)試所需的儀器資源,基于Python 3.6.5編程語言分別構(gòu)建了這些儀器資源的原子模型和耦合模型(其中的矩陣開關(guān)由四個(gè)模塊拼接而成),并集成得到了整個(gè)測(cè)試系統(tǒng)的模型。
表4 儀器資源列表
根據(jù)UUT的實(shí)際測(cè)試需求,使用SCATS軟件平臺(tái)開發(fā)了它的TPS,其中包含電壓調(diào)節(jié)測(cè)試、過壓保護(hù)測(cè)試和啟動(dòng)維護(hù)BIT等7個(gè)測(cè)試項(xiàng)目,共計(jì)301個(gè)測(cè)試步驟,37個(gè)功能和性能指標(biāo)。
本實(shí)驗(yàn)中ATE的控制計(jì)算機(jī)采用了國(guó)產(chǎn)飛騰CPU(FT-2000/4@2.6 GHz)和統(tǒng)信UOS20操作系統(tǒng)。底層儀器驅(qū)動(dòng)程序采用了自研的國(guó)產(chǎn)VISA IO庫(kù)和IVI-C接口規(guī)范。基于上述特點(diǎn),在仿真驗(yàn)證的網(wǎng)絡(luò)通信接口中(參見表1)將儀器/開關(guān)的程控指令內(nèi)容格式設(shè)計(jì)為對(duì)底層標(biāo)準(zhǔn)化驅(qū)動(dòng)函數(shù)接口調(diào)用相關(guān)的信息,例如{“funcname”:“viScanf”,“params”:{“vi” :1,“viString”:“%[^ ]”,“buf”:“ ”* 256},“ret”:“params/buf”}是一個(gè)獲取測(cè)量值的指令,其中的“vi”為儀器資源的虛擬標(biāo)識(shí);由儀器模型返回的虛擬測(cè)量值保存在“buf”中;“ret”屬性為解析返回的測(cè)量值提供了路徑信息。這種設(shè)計(jì)的好處是使得仿真模式下驅(qū)動(dòng)程序的實(shí)現(xiàn)代碼與真實(shí)物理測(cè)試下的儀器驅(qū)動(dòng)代碼具有較高的相似性和對(duì)應(yīng)關(guān)系,進(jìn)一步提高了仿真驗(yàn)證的擬真度。
如圖7所示為在“模型仿真”模式下運(yùn)行TPS產(chǎn)生的部分日志內(nèi)容,其中記錄了各個(gè)模型實(shí)例的行為動(dòng)作以及信號(hào)在系統(tǒng)中的轉(zhuǎn)接流動(dòng)等信息。通過將這些信息(包括各個(gè)指標(biāo)的測(cè)試結(jié)果)按測(cè)試步驟逐條與實(shí)測(cè)情況進(jìn)行對(duì)比,結(jié)果表明模型行為與實(shí)際系統(tǒng)一致性較高,仿真驗(yàn)證的可信度滿足工程應(yīng)用要求。
圖7 部分仿真驗(yàn)證日志信息
此外,由于仿真模式下可以忽略等待物理設(shè)備狀態(tài)或信號(hào)穩(wěn)定的時(shí)間,因此能夠大幅提升TPS驗(yàn)證的執(zhí)行效率。本實(shí)驗(yàn)在無軟件界面參與條件下(僅使用TPS執(zhí)行器程序)對(duì)“模型仿真”模式下的TPS執(zhí)行時(shí)間和實(shí)際物理測(cè)試時(shí)間進(jìn)行了對(duì)比,前者用時(shí)約為4.6秒,后者用時(shí)為3分41秒,前者僅為后者的2.1%。在UUT測(cè)試需求更復(fù)雜的情況下(例如有的UUT完整測(cè)試時(shí)間長(zhǎng)達(dá)數(shù)十分鐘),效率提升效果將更加明顯。
全要素的自動(dòng)測(cè)試系統(tǒng)仿真驗(yàn)證對(duì)于提高系統(tǒng)的研發(fā)效率、降低成本具有重要意義。本文系統(tǒng)地研究了自動(dòng)測(cè)試系統(tǒng)的多分辨率模型定義、建模方法、仿真算法和實(shí)現(xiàn)方案,通過實(shí)驗(yàn)證明了仿真驗(yàn)證的一致性、高效性和實(shí)用性,為進(jìn)一步在未來復(fù)雜自動(dòng)測(cè)試系統(tǒng)型號(hào)上的推廣應(yīng)用奠定了基礎(chǔ)。決定仿真驗(yàn)證應(yīng)用效果的關(guān)鍵是模型的精確性,高質(zhì)量模型的構(gòu)建是一個(gè)較為費(fèi)時(shí)的工作。為更好在自動(dòng)測(cè)試行業(yè)中實(shí)現(xiàn)所研成果的產(chǎn)業(yè)化,模型的標(biāo)準(zhǔn)化研究和參考模型庫(kù)(如儀器模型庫(kù))的構(gòu)建是下一步的主要工作方向。