牛雙誠,文天柱,許愛強
(海軍航空大學(xué) 戰(zhàn)勤學(xué)院,山東 煙臺 264001)
在自動測試系統(tǒng)(ATS, automatic test system)中,計算機、測試儀器、測試總線、開關(guān)系統(tǒng)等硬件平臺是系統(tǒng)的基礎(chǔ),軟件平臺則是系統(tǒng)的靈魂。與面向儀器的軟件平臺相比,面向信號軟件平臺的優(yōu)勢在于只需了解被測對象(UUT, unit under test)的信號需求,測試過程僅描述對信號的能力需求和控制,而無需指定使用哪臺特定儀器進行激勵、測量或監(jiān)控,無需指定信號所經(jīng)過的開關(guān)路徑,因而能夠最大程度上支持測試儀器的可互換和測試程序集(TPS, test program set)的可移植。
面向信號軟件標(biāo)準(zhǔn)從最初的ATLAS語言標(biāo)準(zhǔn)發(fā)展到現(xiàn)在的ATML標(biāo)準(zhǔn)族[1-2],其內(nèi)容和體系結(jié)構(gòu)不斷豐富和發(fā)展完善,涵蓋了測試、診斷和維修的各個方面。目前ATML標(biāo)準(zhǔn)族包括信號和測試定義標(biāo)準(zhǔn)(IEEE 1641 STD)、通過XML文件交換自動測試設(shè)備和測試信息的自動測試標(biāo)記語言標(biāo)準(zhǔn)(IEEE 1671 ATML)、用于維修信息收集和分析的軟件接口標(biāo)準(zhǔn)(IEEE 1636 SIMICA)和適用于所有測試環(huán)境的人工智能交換和服務(wù)標(biāo)準(zhǔn)(IEEE 1232 AI-ESTATE)[3-6]。
由于ATML標(biāo)準(zhǔn)族采用了擴展標(biāo)記語言(XML,extensible markup language)作為標(biāo)準(zhǔn)化電子文檔和信息交換的格式,更適合于信息交換和網(wǎng)絡(luò)傳輸,進一步提升了自動測試設(shè)備(ATE,automatic test equipment)之間的信息交互能力,因而具有強大的應(yīng)用前景。
目前國內(nèi)外在面向信號技術(shù)領(lǐng)域進行了大量研究,取得了豐碩的成果[7-13]。也有一些單位設(shè)計開發(fā)了支持ATML標(biāo)準(zhǔn)的面向信號軟件,如Astronics Test Systems公司的信號編輯工具SigBase[14],Reston Software公司的測試描述開發(fā)工具ATML Pad[15]等,但這些軟件大多只涉及面向信號軟件平臺中的某些功能模塊,未能涵蓋整個ATML標(biāo)準(zhǔn)族。
本文對ATML標(biāo)準(zhǔn)族進行了深入研究,針對工程實際對標(biāo)準(zhǔn)內(nèi)容進行了適當(dāng)擴展以增強其功能和擴展能力,并自主開發(fā)了具有完整功能的CATS(common automatic test system)面向信號軟件平臺。該軟件平臺在實際自動測試系統(tǒng)中進行了工程應(yīng)用,有效證明了軟件的有效性、正確性和可靠性。
ATML標(biāo)準(zhǔn)族以ATML語言標(biāo)準(zhǔn)為主包括4大標(biāo)準(zhǔn):
1)IEEE Std1641 信號和測試定義標(biāo)準(zhǔn)(STD),采用數(shù)學(xué)語言嚴(yán)格定義了信號類型以及測試過程語言[3],為面向信號測試技術(shù)提供了技術(shù)支撐;
2)IEEE Std1671 通過XML文件交換自動測試設(shè)備和測試信息的自動測試標(biāo)記語言(ATML),則通過XML語言定義了自動測試系統(tǒng)的各個要素,包括:測試需求(IEEE 1671.1)、儀器和開關(guān)能力描述(IEEE 1671.2)、UUT描述(IEEE 1671.3)、測試配置信息(IEEE 1671.4)、測試適配器/電纜描述(IEEE 1671.5)、測試站描述(IEEE 1671.6)[4],每個要素都有XML Schema進行嚴(yán)格定義;
3)IEEE Std1636用于維修信息收集和分析的軟件接口(SIMICA),定義了測試結(jié)果(IEEE 1636.1)、維修信息(IEEE 1636.2)等要素[5];
4)IEEE Std1232 適用于所有測試環(huán)境的人工智能交換和服務(wù)(AI-ESTATE),定義了故障診斷軟件接口以及故障樹、貝葉斯網(wǎng)絡(luò)、D矩陣、診斷邏輯等故障診斷模型[6]。
圖1描述了ATML標(biāo)準(zhǔn)族與自動測試系統(tǒng)各部分之間的對應(yīng)關(guān)系。從圖中可見ATML標(biāo)準(zhǔn)族有效覆蓋了自動測試系統(tǒng)的各個要素。
圖1 ATML標(biāo)準(zhǔn)族與ATS各部分間的關(guān)系
然而ATML標(biāo)準(zhǔn)族也存在一些工程應(yīng)用上的缺陷,如:
1)擴展信號類型的能力不強;
2)IEEE 1671.2測試描述缺少對數(shù)值計算、信號處理的描述方法;
3)缺少對面向信號儀器驅(qū)動程序的定義和規(guī)范。
本節(jié)描述了CATS面向信號軟件平臺的功能組成和工作原理。
CATS面向信號軟件平臺按照功能被劃分為TPS開發(fā)平臺、ATS管理平臺和TPS運行平臺3個子系統(tǒng),組成框圖如圖2所示。
圖2 CATS軟件系統(tǒng)組成框圖
1)TPS開發(fā)平臺:提供TPS相關(guān)內(nèi)容的新建、編輯、保存等管理功能,包括UUT描述、測試描述、測試適配器/電纜描述、診斷模型、測試配置描述等項目。TPS開發(fā)平臺提供TPS測試程序生成、TPS移植管理功能,支持TPS在不同系統(tǒng)平臺間的快速移植。
2)ATS管理平臺:提供測試設(shè)備的管理功能,包括信號類型的查看與擴展、測試站管理、測試儀器和開關(guān)矩陣管理、儀器驅(qū)動程序管理、儀器描述建模與驅(qū)動開發(fā)、開關(guān)描述建模與驅(qū)動開發(fā)和用戶管理功能。
3)TPS運行平臺:支持運行符合ATML標(biāo)準(zhǔn)的測試程序,提供TPS的運行管理和運行時服務(wù)功能,包括運行環(huán)境管理、TPS安裝和卸載、運行時資源管理、測試程序斷點調(diào)試、測試結(jié)果管理、故障診斷、歷史日志查看等功能。
CATS軟件系統(tǒng)的工作原理如圖3所示。
圖3 CATS軟件系統(tǒng)原理框圖
首先,用戶使用TPS開發(fā)平臺和ATS管理平臺提供的建模工具,建立測試和診斷過程中需要的各種信息描述模型,并產(chǎn)生相應(yīng)的XML文件,供TPS運行平臺調(diào)用;
然后,測試程序生成工具將與TPS相關(guān)的描述文件轉(zhuǎn)換為更易于執(zhí)行的二進制工程文件,同時驅(qū)動程序開發(fā)工具根據(jù)測試儀器/開關(guān)描述模型創(chuàng)建面向信號的驅(qū)動程序框架(標(biāo)準(zhǔn)C語言),通過對廠家驅(qū)動程序的二次封裝,得到面向信號儀器驅(qū)動程序,供運行時資源管理器調(diào)度和管理;
在測試程序運行時,運行環(huán)境管理器調(diào)用ATML運行環(huán)境引擎,加載和啟動二進制測試程序,通過面向信號儀器驅(qū)動程序驅(qū)動測試儀器和開關(guān)矩陣進行測試[16-17],并將測試結(jié)果數(shù)據(jù)輸入到診斷推理機,根據(jù)預(yù)先建立的故障診斷模型實現(xiàn)UUT的故障診斷。
為便于對測試程序的管理,CATS軟件平臺定義了“測試工程”。一個測試工程對應(yīng)一個UUT,其內(nèi)容包括:
1)UUT描述,在IEEE 1671.3-2007標(biāo)準(zhǔn)框架下,實現(xiàn)UUT相關(guān)信息的描述,包括UUT的識別信息、接口定義、圖片信息等;
2)測試描述,在IEEE 1671.1-2009標(biāo)準(zhǔn)框架下,實現(xiàn)測試需求和過程的描述,包括全局信號、狀態(tài)變量、測試項目和測試流程等,其中測試項目又包含測試參數(shù)、局部信號、測試行為、測試結(jié)果和輸出等內(nèi)容,測試流程又可分為串行流程、序貫流程、并行流程和診斷驅(qū)動的測試流程等;
3)測試適配器/電纜描述,在IEEE 1671.5-2015標(biāo)準(zhǔn)框架下,實現(xiàn)測試適配器/電纜模型的描述,包括基本信息、接口定義和連線信息等;
4)診斷模型描述,在IEEE 1232-2012標(biāo)準(zhǔn)框架下,實現(xiàn)診斷模型(具體為D-矩陣模型)的描述,包括基本信息、故障模式信息、故障-測試關(guān)聯(lián)關(guān)系、測試-測試關(guān)聯(lián)關(guān)系等;
5)測試配置信息,在IEEE 1671.4-2016標(biāo)準(zhǔn)框架下,定義UUT描述、測試描述、適配器/電纜描述等信息的關(guān)聯(lián)關(guān)系。
TPS開發(fā)平臺包括測試工程管理工具、UUT描述工具、測試描述工具、測試適配器/電纜描述工具、診斷模型描述工具和測試配置生成器等功能模塊,用于新建、編輯、修改、保存測試工程。TPS開發(fā)平臺對完成的測試工程首先進行標(biāo)準(zhǔn)符合性檢查,然后進行信息一致性檢查,檢查無誤的文件被保存為二進制工程文件“*.tps”。
TPS開發(fā)平臺通過對工程文件的導(dǎo)入和導(dǎo)出實現(xiàn)TPS可移植,提供如下TPS移植管理功能:
1)校驗ATML文檔格式,導(dǎo)入、導(dǎo)出符合標(biāo)準(zhǔn)的ATML描述文檔;
2)對ATML描述文檔實施信息一致性檢驗,確定當(dāng)前測試系統(tǒng)的陣列接口定義是否與原有系統(tǒng)相同,如果不同則提示用戶重新編輯;
3)檢查被移植TPS工程文件的工作目錄是否正確,若不正確則自動更正;
4)檢查測試配置信息,確定當(dāng)前測試系統(tǒng)的軟硬件資源是否能夠滿足UUT測試需求,若不滿足則給出測試配置修改建議。
TPS開發(fā)平臺針對IEEE 1671.2測試描述缺少對數(shù)值計算、信號處理描述方法的問題,增加了調(diào)用外部DLL、COM組件以及執(zhí)行簡單計算函數(shù)的測試動作類型,如圖4所示。
圖4 外部調(diào)用DLL測試動作類型擴展
為便于對測試設(shè)備的管理,CATS軟件平臺定義了ATS工程。一個ATS工程對應(yīng)一臺/套自動測試系統(tǒng),其內(nèi)容包括:
1)信號類型定義,在IEEE 1641-2010標(biāo)準(zhǔn)框架下,描述標(biāo)準(zhǔn)信號、系統(tǒng)擴展信號、用戶自定義擴展信號;
2)測試站描述,在IEEE 1671.6-2015標(biāo)準(zhǔn)框架下,對測試站的基本信息、包含的儀器資源、陣列接口定義以及其內(nèi)部連線進行描述和建模;
3)儀器/開關(guān)描述,在IEEE 1671.2-2012標(biāo)準(zhǔn)框架下,實現(xiàn)測試儀器/開關(guān)接口定義、測量資源、信號能力和資源映射等內(nèi)容的描述;
4)儀器驅(qū)動程序,根據(jù)儀器/開關(guān)描述定義的信號能力,為測試儀器/開關(guān)提供對應(yīng)的信號控制接口和信號屬性接口,實現(xiàn)對原有廠商儀器驅(qū)動程序的二次封裝。
ATS管理平臺主要由信號查詢與擴展工具、測試站描述工具、測試儀器/開關(guān)描述工具、驅(qū)動程序開發(fā)工具等模塊組成,提供上述ATS工程文件的新建、編輯、修改和保存,完成的ATS工程被保存為便于運行的二進制工程文件。ATS管理平臺還提供用戶管理工具,對CATS軟件系統(tǒng)用戶進行分類管理,不同類別的用戶具有不同的訪問和使用權(quán)限。
針對IEEE 1641擴展信號能力不強的問題,提供了動態(tài)擴展信號的能力[18]。
TPS運行平臺為用戶提供一個完備的TPS管理和運行環(huán)境,為以ATML語言開發(fā)的測試程序提供運行支持,包括TPS(含診斷模型)的管理、運行環(huán)境引擎的管理、測試結(jié)果的管理,以及TPS的運行控制。
TPS運行平臺包括運行環(huán)境管理器、ATML運行引擎、運行時資源管理器和故障診斷推理機四個主要功能模塊,其結(jié)構(gòu)和功能組成如圖5所示。TPS運行平臺采用了開放式體系架構(gòu),可以插入不同的測試程序運行引擎。
圖5 TPS運行平臺功能組成圖
1)運行環(huán)境管理器是TPS運行平臺的控制核心,向上接受用戶輸入,向下對運行引擎進行調(diào)用和控制,提供運行環(huán)境引擎管理和測試/診斷結(jié)果管理等功能;
2)ATML運行引擎用于運行以ATML語言開發(fā)的測試程序,執(zhí)行滿足IEEE 1671.1-2009標(biāo)準(zhǔn)的測試流程,接受運行環(huán)境管理器的調(diào)用,提供TPS安裝和卸載、TPS運行控制、測試結(jié)果保存、運行時資源管理和運行歷程記錄等功能;
3)運行時資源管理器用于動態(tài)分配測試過程中的信號資源和開關(guān)路徑,負(fù)責(zé)測試系統(tǒng)內(nèi)部所有信號資源、信號路由的管理,向下調(diào)用面向信號的儀器驅(qū)動程序,向上為測試程序提供面向信號的儀器控制接口,最終實現(xiàn)測試程序?qū)ξ锢韮x器的控制。
4)故障診斷推理機,按照IEEE 1232-2012標(biāo)準(zhǔn)要求的編程接口,提供故障診斷推理服務(wù)。接受運行環(huán)境管理器或運行環(huán)境引擎的調(diào)用,根據(jù)UUT的診斷模型和測試結(jié)果,給出診斷結(jié)論和維修建議。
TPS運行平臺支持串行和并行測試流程,在執(zhí)行并行測試流程時,測試流程調(diào)度模塊的主線程根據(jù)測試資源的豐裕程度啟動一個或多個工作線程,完成測試任務(wù)。
TPS運行平臺提供圖形化的測試流程自動控制能力和測試程序調(diào)試能力。在運行時,用戶可以實時觀察測試過程中的測試執(zhí)行流程,通過系統(tǒng)運行日志實時查看信號資源、信號路徑的分配情況。在調(diào)試時,用戶能夠設(shè)置、清除、查看斷點,查看和修改內(nèi)存變量,查看和修改信號資源、信號路徑的分配情況。
測試結(jié)果被保存為符合IEEE 1636.1-2007標(biāo)準(zhǔn)的文件。用戶可以檢索、查看、打印測試結(jié)果,并采用TPS工程中的故障診斷模型實現(xiàn)對被測設(shè)備的故障診斷。TPS運行平臺支持基于故障樹模型和D-矩陣模型的故障推理。
在CATS軟件系統(tǒng)中,每個測試資源(測試儀器或開關(guān))對應(yīng)一個儀器能力描述文件和一個面向信號的儀器驅(qū)動程序。儀器能力描述文件,用于描述測試儀器所擁有的信號能力、資源、端口、連接器及相互間的映射關(guān)系。面向信號的儀器驅(qū)動程序為TPS運行平臺的資源管理器中間件提供符合標(biāo)準(zhǔn)接口的測試儀器控制函數(shù)。
CATS軟件系統(tǒng)將信號角色類型共分為6種:信號源(Source)、傳感器(Sensor)、事件(Event)、通用開關(guān)(Switch)和矩陣開關(guān)(Matrix)。每種角色類型定義了標(biāo)準(zhǔn)的驅(qū)動程序編程接口,如表1所示。
表1 面向信號儀器驅(qū)動程序編程接口
根據(jù)測試儀器描述文件,由ATS管理平臺工具生成符合上述接口標(biāo)準(zhǔn)的測試儀器驅(qū)動程序框架??蚣苤邪藴y試資源初始化、關(guān)閉、復(fù)位、自檢函數(shù)接口,其它函數(shù)接口與儀器能力中所對應(yīng)資源的函數(shù)接口相對應(yīng)。
面向信號的儀器驅(qū)動程序是對原有面向儀器驅(qū)動程序的一個二次封裝,可以是廠商的符合VPP規(guī)范[19]的儀器驅(qū)動程序,也可以是符合IVI規(guī)范[20]的儀器驅(qū)動程序。將廠商提供的驅(qū)動函數(shù)添加到驅(qū)動程序工程中,通過編譯調(diào)試就形成了面向信號的儀器驅(qū)動程序。
面向信號儀器驅(qū)動的開發(fā)流程是,首先采用儀器/開關(guān)描述工具建立儀器描述模型,得到儀器描述文件,同時產(chǎn)生儀器驅(qū)動程序框架,再將儀器底層的控制指令程序添加到儀器驅(qū)動程序框架中對應(yīng)的接口函數(shù)內(nèi),編譯產(chǎn)生動態(tài)鏈接庫,即面向信號的儀器驅(qū)動程序,供運行引擎調(diào)用。
CATS軟件系統(tǒng)是依據(jù)IEEE 1641、IEEE 1671、IEEE 1636和IEEE 1232等最新國際標(biāo)準(zhǔn)設(shè)計和開發(fā)的面向信號自動測試軟件平臺。它采用ATML語言建模和面向信號的測試描述設(shè)計,不依賴于某一特定的被測設(shè)備,與硬件平臺無關(guān),是一個通用的自動測試軟件系統(tǒng)。
CATS軟件系統(tǒng)采用開放式體系結(jié)構(gòu),按照通用化、系列化、標(biāo)準(zhǔn)化、組合化原則設(shè)計,能夠有效滿足航空電子設(shè)備的內(nèi)場測試和診斷需求。具有良好的信號擴展能力,用戶能夠方便地增加自定義信號類型,并根據(jù)軟件接口規(guī)范,自行開發(fā)面向信號的儀器驅(qū)動程序,擴展系統(tǒng)的測試能力。
圖6 儀器驅(qū)動開發(fā)界面
CATS軟件系統(tǒng)采用Microsoft Visual Studio C#實現(xiàn)。為兼容廠家的儀器驅(qū)動程序,面向信號儀器驅(qū)動程序則采用了NI Labwindows/CVI實現(xiàn)。
CATS軟件系統(tǒng)在某型自動測試系統(tǒng)上得到了工程應(yīng)用,應(yīng)用結(jié)果表明CATS軟件平臺符合ATML標(biāo)準(zhǔn)族,證明了軟件的有效性、正確性和可靠性。