(凱邁(洛陽)測控有限公司,河南 洛陽 471000)
隨著通用自動(dòng)化測試技術(shù)的廣泛應(yīng)用,發(fā)現(xiàn)原有技術(shù)在程序可移植性和互操作性方面表現(xiàn)不佳。而新一代自動(dòng)測試系統(tǒng)(ATS,automatic test sysytem)體系結(jié)構(gòu)的核心是信息的共享和交互。因此,一個(gè)標(biāo)準(zhǔn)化的軟件平臺(tái)成為新一代自動(dòng)測試系統(tǒng)的重要內(nèi)容和核心內(nèi)容。
ATML標(biāo)準(zhǔn)是美國國防部提出的自動(dòng)測試系統(tǒng)技術(shù)框架的一部分,該框架的目標(biāo)是建立一種測試信息交換的工業(yè)化標(biāo)準(zhǔn)。這種標(biāo)準(zhǔn)規(guī)定了易于人機(jī)理解的測試信息交換格式,允許了測試程序和測試資源的可互換。其中還包含了被測對(duì)象、測試數(shù)據(jù)等在不同系統(tǒng)之間的可互換性,同時(shí)具有較好的可擴(kuò)展性[1-3]。
本文基于ATML標(biāo)準(zhǔn),運(yùn)用XML等易于人機(jī)理解的測試信息交換格式,實(shí)現(xiàn)了基于ATML標(biāo)準(zhǔn)的ATS軟件平臺(tái)。實(shí)現(xiàn)了測試程序和測試資源的可互換,以及被測對(duì)象、測試數(shù)據(jù)在不同系統(tǒng)之間可互換。該軟件平臺(tái)的研究和實(shí)現(xiàn)能夠大大地縮短測試程序的開發(fā)周期,降低人力成本和開發(fā)成本,能夠快速適應(yīng)復(fù)雜多變的測試需求,并且能夠跟上不斷增長的技術(shù)要求。對(duì)該軟件平臺(tái)進(jìn)行硬件擴(kuò)展及軟件擴(kuò)展便可完成多種不同UUT的測試任務(wù)。該軟件平臺(tái)的開發(fā)可以有效地解決維修保障領(lǐng)域故障診斷效率低、測試費(fèi)用高、測試信息交換不暢等眾多問題。
ATML標(biāo)準(zhǔn)包含了IEEE1641信號(hào)和測試定義標(biāo)準(zhǔn)和IEEE1671基于XML的自動(dòng)測試設(shè)備和信息交換的自動(dòng)測試標(biāo)記語言標(biāo)準(zhǔn),是實(shí)現(xiàn)ATE(ATE,automatic test equipment)測試程序可移植性和互操作性的重要標(biāo)準(zhǔn)[4]。
ATML標(biāo)準(zhǔn)規(guī)定了一種信息交換格式,這種信息交換格式是基于XML標(biāo)準(zhǔn)的[5]。其中包含了測試配置、測試描述、適配器、測試站、儀器描述、UUT描述和測試結(jié)果描述等ATS所需信息。它以XML文件格式為交換媒介,將以上列舉的各種測試所需信息進(jìn)行格式化定義。這種表達(dá)方式有助于測試信息的傳達(dá)、共享和重用[6]。該標(biāo)準(zhǔn)可以提高ATS軟件的通用性和開放性,以及ATS軟件與硬件的無關(guān)性,該ATML標(biāo)準(zhǔn)的體系結(jié)構(gòu)圖如圖1所示。
圖1 ATML標(biāo)準(zhǔn)體系結(jié)構(gòu)圖
IEEE1641包含了兩方面內(nèi)容信號(hào)定義和測試定義。信號(hào)定義是用來描述信號(hào)組件屬性。信號(hào)庫主要包含基本信號(hào)組件(basic signal component,BSC)和測試信號(hào)框架(test signal framwork,TSF)。TSF可以對(duì)更加復(fù)雜的信號(hào)進(jìn)行定義,包含了信號(hào)的可編程接口,程序員可以根據(jù)測試特性對(duì)已有的BSC和TSF進(jìn)行操作建立新的復(fù)雜的信號(hào)[10]。測試定義規(guī)定了測試流程中涉及的所有信號(hào)測試相關(guān)信息。他在Action實(shí)體中通過操作和一定流程的操作的組合來確定測試方法。ATML定義了信號(hào)操作、流程操作、數(shù)據(jù)操作等操作,ATML定義了Setup、Reset、Read、Compare、Connect、Disconnect、MessageOut和Waitfor等8個(gè)操作,不同的測試方式采用不同的操作組合,平臺(tái)開發(fā)中也可以對(duì)操作進(jìn)行擴(kuò)展[3]。
經(jīng)過分析ATML標(biāo)準(zhǔn)是基于信號(hào)的測試標(biāo)準(zhǔn),一個(gè)完整的測試程序開發(fā)要涉及到整個(gè)信號(hào)通路的描述,其中依次需要完成信號(hào)定義、儀器描述(InstrumentDescription)、工作站描述(TestStationDescription)、適配器描述(TestAdapterDescription)、UUT描述(UUTDescription)。在此基礎(chǔ)上按照測試流程組成的信號(hào)操作的集合組成了測試描述(TestDescription)。測試配置(TestConfiguration)和測試結(jié)果描述(TestResult)分別負(fù)責(zé)了測試配置和測試結(jié)果的描述準(zhǔn)則。該平臺(tái)在此分析的基礎(chǔ)上增加了電纜描述(CableDescription)擴(kuò)展,作為信號(hào)通路中的一個(gè)重要環(huán)節(jié)。
本文研究一種基于ATML的軟件平臺(tái),該軟件平臺(tái)為測試軟件開發(fā)人員提供一種測試軟件的開發(fā)環(huán)境,該開發(fā)環(huán)境完全實(shí)現(xiàn)了面向信號(hào)的測試程序開發(fā),為開發(fā)人員提供一種圖形化的軟件開發(fā)界面,軟件平臺(tái)可以將開發(fā)人員的輸入轉(zhuǎn)換為符合ATML標(biāo)準(zhǔn)的XML文件格式代碼。軟件平臺(tái)提供XML解析功能,通過對(duì)各個(gè)生成的描述文件進(jìn)行匹配、轉(zhuǎn)換等工作實(shí)現(xiàn)對(duì)測試儀器的控制,自動(dòng)匹配測試通路完成UUT的測試。通過對(duì)軟件平臺(tái)的功能進(jìn)行分析和研究,獲取軟件平臺(tái)結(jié)構(gòu)如圖2所示。
圖2 軟件平臺(tái)架構(gòu)
其中,用戶可視化界面為用戶提供了一系列風(fēng)格一致操作簡便的可視化界面,測試程序集TPS(Test Program Sets)開發(fā)人員可以根據(jù)測試需求對(duì)可視化界面進(jìn)行操作,編輯與測試相關(guān)的業(yè)務(wù)層描述文件,包含了工作站描述、儀器描述、適配器描述、電纜描述、UUT描述、測試配置描述、測試描述、測試結(jié)果描述、故障診斷等信息。
ATML標(biāo)準(zhǔn)是一種面向信號(hào)的標(biāo)準(zhǔn),在1641標(biāo)準(zhǔn)中提供了標(biāo)準(zhǔn)現(xiàn)有的STD信號(hào)庫,包括BSC、TSF等庫,標(biāo)準(zhǔn)同時(shí)指出該信號(hào)并未覆蓋測試所需的所有信號(hào),因此,該軟件平臺(tái)為用戶提供了信號(hào)庫的編輯接口,TPS開發(fā)人員可以根據(jù)測試需要在原有信號(hào)庫的基礎(chǔ)上進(jìn)行信號(hào)擴(kuò)展。
特定UUT的測試采用平臺(tái)加專用測試程序的方法實(shí)現(xiàn),形成專用測試系統(tǒng)。平臺(tái)描述和專用測試程序描述均符合ATML標(biāo)準(zhǔn),將平臺(tái)和專用測試程序的XML文件導(dǎo)出后可以在其它基于ATML標(biāo)準(zhǔn)的系統(tǒng)上進(jìn)行移植。若采用同一硬件平臺(tái)進(jìn)行不同UUT的測試,僅需要重新編制專用測試程序即可。
經(jīng)過對(duì)軟件平臺(tái)需求和結(jié)構(gòu)的分析,將軟件平臺(tái)分為3個(gè)獨(dú)立的程序,3個(gè)程序分別對(duì)不同的描述信息進(jìn)行編輯,3個(gè)程序分為軟件管理平臺(tái)、軟件開發(fā)平臺(tái)及軟件運(yùn)行平臺(tái),平臺(tái)結(jié)構(gòu)如圖3所示。
圖3 平臺(tái)結(jié)構(gòu)圖
由圖3可以看出,對(duì)TPS的開發(fā)也是基于通用資源+專用資源的方式開展軟件設(shè)計(jì)工作的,平臺(tái)負(fù)責(zé)將開發(fā)人員對(duì)圖形化界面的設(shè)置轉(zhuǎn)換成對(duì)應(yīng)的XML文件,在運(yùn)行平臺(tái)中進(jìn)行解析、調(diào)用、編譯、運(yùn)行。
圖1中投影平面上的六邊形A′B′C′DEF構(gòu)成長方體的投影輪廓,其中點(diǎn)A′、B′、C′、G′分別是長方體頂點(diǎn)A、B、C、G的投影點(diǎn),S為相機(jī)光心OC在該平面上的垂直投影點(diǎn)。
2.2.1 軟件管理平臺(tái)
軟件管理平臺(tái)是構(gòu)成ATML軟件平臺(tái)的重要組成部分之一,用于完成信號(hào)類型的查詢與擴(kuò)展、測試站管理、測試儀器描述、開關(guān)矩陣描述、儀器驅(qū)動(dòng)程序開發(fā)、用戶管理系統(tǒng)維護(hù)和開發(fā)工作。
測試站描述提供測試站基本信息、接口信息、測試資源和連線信息的管理功能;測試儀器/開關(guān)矩陣描述提供對(duì)測試儀器和開關(guān)矩陣的建模功能,完成連接器、端口、資源、信號(hào)能力和開關(guān)能力的映射,根據(jù)測試儀器/開關(guān)矩陣的儀器描述文檔自動(dòng)生成面向信號(hào)的儀器驅(qū)動(dòng)程序框架,用戶基于該框架完成驅(qū)動(dòng)程序的開發(fā);信號(hào)描述提供了信號(hào)類型查詢與擴(kuò)展工具,用于查詢、查看本系統(tǒng)支持的信號(hào)類型和信號(hào)參數(shù)。用戶管理提供用戶和用戶權(quán)限的管理功能,根據(jù)用戶類型設(shè)置不同的用戶權(quán)限。
ATS管理平臺(tái)的組成結(jié)構(gòu)和模塊間的相互關(guān)系如圖4所示,其中ATS工程是管理平臺(tái)的直接工作對(duì)象,各個(gè)功能模塊獨(dú)立地實(shí)現(xiàn)各自的功能,最終以“主框架+插件”的模式集成到平臺(tái)中,提高了平臺(tái)的可維護(hù)性和擴(kuò)展性。所有的功能模塊都能夠生成滿足標(biāo)準(zhǔn)的ATML描述文檔,也支持從這些ATML文檔中創(chuàng)建一個(gè)描述項(xiàng)目,能夠方便地在不同ATS間互換測試信息。
圖4 ATS管理平臺(tái)
2.2.2 軟件開發(fā)平臺(tái)
軟件開發(fā)平臺(tái)是構(gòu)成ATML軟件平臺(tái)的基礎(chǔ)平臺(tái),是進(jìn)行被測對(duì)象(UUT)描述、測試描述、TP開發(fā)和調(diào)試的繼承環(huán)境,平臺(tái)以符合IEEE ATML系統(tǒng)標(biāo)準(zhǔn)為目標(biāo),采用面向信號(hào)的測試需求描述方法,可實(shí)現(xiàn)TPS的測試資源無關(guān)性,使其能在不同自動(dòng)測試系統(tǒng)平臺(tái)上相互移植和重用,提高了資源的利用效率和測試程序的開發(fā)效率,降低了UUT的測試成本。
開發(fā)平臺(tái)主要提供了UUT描述、測試描述、適配器描述、電纜描述、診斷模型描述等功能。UUT描述描述一個(gè)UUT的標(biāo)識(shí)信息、硬件識(shí)別信息、接口信息等與實(shí)際測試緊密相關(guān)的內(nèi)容。測試描述描述一個(gè)具體的可執(zhí)行的測試過程,包括測試項(xiàng)目的定義、具體信號(hào)操作細(xì)節(jié)、測試流程的組織,以及與測試控制相關(guān)的全局和局部變量或參數(shù)、測試結(jié)果等,是構(gòu)成TPS測試需求的核心部分;適配器描述描述與當(dāng)前UUT測試相關(guān)的適配器信息,主要包括接口上針腳定義信息,同時(shí)支持適配器內(nèi)部測試資源的描述。電纜描述與適配器描述相似,描述將UUT接口與適配器接口對(duì)接的連線信息,支持多根電纜的描述。診斷模型描述,基于依賴矩陣(D-矩陣)診斷模型,提供一個(gè)方便、友好的用戶界面,編輯故障與測試、測試與測試的關(guān)聯(lián)關(guān)系,支持故障的在線和離線診斷。
開發(fā)平臺(tái)的組成結(jié)構(gòu)和模塊間的相互關(guān)系如圖5所示。其中:TPS工程是TPS開發(fā)平臺(tái)的直接工作對(duì)象,是具體項(xiàng)目的容器。一個(gè)TPS工程可以包括一個(gè)或多個(gè)具體項(xiàng)目。用戶可以方便的開發(fā)、編輯任一個(gè)具體項(xiàng)目。各個(gè)功能模塊獨(dú)立地實(shí)現(xiàn)各自的功能,最終以“主框架+插件”的模式集成到平臺(tái)中,提高了平臺(tái)的可維護(hù)性和可擴(kuò)展性所有的功能模塊都能夠生成滿足標(biāo)準(zhǔn)的ATML描述文檔,也支持從這些ATML文檔中創(chuàng)建一個(gè)描述項(xiàng)目,能夠方便的在不同ATS間互換操作信息。
圖5 TPS開發(fā)平臺(tái)
2.2.3 軟件運(yùn)行平臺(tái)
軟件運(yùn)行平臺(tái)是構(gòu)成軟件平臺(tái)的最終人機(jī)交互接口,測試程序集運(yùn)行平臺(tái)提供TPS的運(yùn)行管理和運(yùn)行時(shí)服務(wù)功能,包括運(yùn)行環(huán)境管理、TPS安裝和卸載、運(yùn)行時(shí)資源管理、測試結(jié)果管理、故障診斷推理等功能。
運(yùn)行平臺(tái)主要提供了運(yùn)行環(huán)境管理、TPS運(yùn)行控制、ATML測試程序調(diào)試、測試結(jié)果管理、故障診斷等功能。運(yùn)行環(huán)境管理主要實(shí)現(xiàn)TPS的安裝、卸載和更新,選擇并運(yùn)行TPS。根據(jù)TPS的類型自動(dòng)調(diào)用運(yùn)行環(huán)境引擎進(jìn)行測試。TPS運(yùn)行控制根據(jù)TPS的測試配置信息,調(diào)用相應(yīng)的運(yùn)行環(huán)境引擎,完成測試任務(wù)。支持TPS運(yùn)行過程中的暫停、繼續(xù)、停止運(yùn)行等控制。顯示有意義的測試過程信息,如當(dāng)前步驟、實(shí)時(shí)測試結(jié)果、儀器資源狀態(tài)等。ATML測試程序調(diào)試支持?jǐn)嚯姷脑O(shè)置、取消。調(diào)試狀態(tài)下程序的單步執(zhí)行、繼續(xù)執(zhí)行和停止運(yùn)行。調(diào)試過程中能夠方便的查看內(nèi)部變量的值,并且支持對(duì)標(biāo)數(shù)值的動(dòng)態(tài)修改。測試結(jié)果管理對(duì)測試結(jié)果按UUT及其所屬的專業(yè)和機(jī)構(gòu)有條理的管理,可以查看一條測試結(jié)果項(xiàng)的索引信息,也可通過Excel插件打開測試結(jié)果文件,查看詳細(xì)信息,并可根據(jù)自定義個(gè)模板格式對(duì)結(jié)果進(jìn)行打印。故障診斷根據(jù)已有的測試結(jié)果和事先在TPS開發(fā)平臺(tái)中編輯的診斷模型,對(duì)UUT進(jìn)行故障診斷。
TPS運(yùn)行平臺(tái)的組成結(jié)構(gòu)和模塊間的相互關(guān)系如圖6所示,其中:運(yùn)行環(huán)境管理器根據(jù)特定的TPS自動(dòng)調(diào)用ATML運(yùn)行引擎。ATML運(yùn)行引擎主要由低層的運(yùn)行時(shí)資源管理器支持,該管理器進(jìn)一步向下調(diào)用面向信號(hào)的一起驅(qū)動(dòng)程序。測試過程中產(chǎn)生的結(jié)果將以符合IEEE std 1636.1的格式保存,在此基礎(chǔ)上診斷推理機(jī)可以根據(jù)已有的診斷模型實(shí)現(xiàn)UUT的故障診斷。
圖6 TPS運(yùn)行平臺(tái)
基于以上設(shè)計(jì)思路,在ATML標(biāo)準(zhǔn)的基礎(chǔ)上自主研發(fā)了基于ATML的ATS軟件平臺(tái)。通過持續(xù)進(jìn)行ATML標(biāo)準(zhǔn)適用性迭代分析,掌握了其體系架構(gòu)、信號(hào)定義方法和開發(fā)運(yùn)行流程,實(shí)現(xiàn)了該平臺(tái)在某型機(jī)載武器測試中的實(shí)際應(yīng)用,其中包含了硬件平臺(tái)全面自檢、該型機(jī)載武器適配器自檢、該型機(jī)載武器測試等功能的TPS。
在運(yùn)用過程中,開發(fā)人員根據(jù)需要在管理平臺(tái)擴(kuò)展定義了若干路新的信號(hào)描述,之后在管理平臺(tái)上進(jìn)行了與硬件平臺(tái)資源相對(duì)應(yīng)的儀器描述和開關(guān)描述,開發(fā)人員利用平臺(tái)生成的驅(qū)動(dòng)程序框架編寫了儀器驅(qū)動(dòng),儀器驅(qū)動(dòng)完成了信號(hào)操作到儀器操作的映射,真正實(shí)現(xiàn)了面向信號(hào)的測試。開發(fā)人員將儀器加載入測試站同時(shí)完成了測試站端口與儀器能力的映射,最終完成了測試站的描述。測試站描述的完成預(yù)示著通用硬件平臺(tái)資源描述的完成,基于該硬件平臺(tái)的測試也就是基于該測試站描述的測試。根據(jù)不同的測試對(duì)象搭配不同的適配器、電纜、UUT。同樣,針對(duì)不同的測試對(duì)象和測試目標(biāo),開發(fā)人員在開發(fā)平臺(tái)完成適配器描述、UUT描述、電纜描述等專用測試程序相關(guān)的描述。最后,開發(fā)人員根據(jù)不同的測試流程和測試需求將信號(hào)操作序列進(jìn)行有機(jī)組合完成測試描述,為了對(duì)測試數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化的描述開發(fā)人員需要進(jìn)行測試結(jié)果描述并對(duì)診斷模型進(jìn)行編輯。經(jīng)過編譯的測試描述文件加載入運(yùn)行平臺(tái)進(jìn)行調(diào)試運(yùn)行,測試結(jié)果進(jìn)行故障診斷。運(yùn)行平臺(tái)依序執(zhí)行測試描述文件的語句,信號(hào)通路通過對(duì)各個(gè)階段定義的描述文件(XML文件)進(jìn)行編譯、解析獲得,儀器操作通過對(duì)驅(qū)動(dòng)程序的調(diào)用完成。真正達(dá)到面向信號(hào)的測試目的。測試程序集最終是一個(gè)XML文件的集合,對(duì)于其他基于ATML標(biāo)準(zhǔn)定義的軟件平臺(tái)具有很好的可移植性,這種移植可以簡單的考慮為XML文件的移植,獨(dú)立于程序開發(fā)語言。
該平臺(tái)在應(yīng)用過程中,人機(jī)界面友好,運(yùn)行穩(wěn)定可靠。從論述和實(shí)際應(yīng)用中都不難看出在該平臺(tái)中構(gòu)建的ATS,可以真正實(shí)現(xiàn)測試程序與實(shí)際測量儀器的無關(guān)性,使得硬件可互換性得到了根本解決。所有的描述文件都是生成ATML文件形式后被運(yùn)行引擎解析調(diào)用的,這就使得ATS的通用性、可移植性得到了根本的提高。
綜上所述,該基于ATML的ATS軟件平臺(tái)有效的解決了維修保障領(lǐng)域故障診斷效率低、測試費(fèi)用高、測試信息交換不暢等眾多問題。