(凱邁(洛陽)測控有限公司,河南 洛陽 471000)
隨著通用自動化測試技術的廣泛應用,發現原有技術在程序可移植性和互操作性方面表現不佳。而新一代自動測試系統(ATS,automatic test sysytem)體系結構的核心是信息的共享和交互。因此,一個標準化的軟件平臺成為新一代自動測試系統的重要內容和核心內容。
ATML標準是美國國防部提出的自動測試系統技術框架的一部分,該框架的目標是建立一種測試信息交換的工業化標準。這種標準規定了易于人機理解的測試信息交換格式,允許了測試程序和測試資源的可互換。其中還包含了被測對象、測試數據等在不同系統之間的可互換性,同時具有較好的可擴展性[1-3]。
本文基于ATML標準,運用XML等易于人機理解的測試信息交換格式,實現了基于ATML標準的ATS軟件平臺。實現了測試程序和測試資源的可互換,以及被測對象、測試數據在不同系統之間可互換。該軟件平臺的研究和實現能夠大大地縮短測試程序的開發周期,降低人力成本和開發成本,能夠快速適應復雜多變的測試需求,并且能夠跟上不斷增長的技術要求。對該軟件平臺進行硬件擴展及軟件擴展便可完成多種不同UUT的測試任務。該軟件平臺的開發可以有效地解決維修保障領域故障診斷效率低、測試費用高、測試信息交換不暢等眾多問題。
ATML標準包含了IEEE1641信號和測試定義標準和IEEE1671基于XML的自動測試設備和信息交換的自動測試標記語言標準,是實現ATE(ATE,automatic test equipment)測試程序可移植性和互操作性的重要標準[4]。
ATML標準規定了一種信息交換格式,這種信息交換格式是基于XML標準的[5]。其中包含了測試配置、測試描述、適配器、測試站、儀器描述、UUT描述和測試結果描述等ATS所需信息。它以XML文件格式為交換媒介,將以上列舉的各種測試所需信息進行格式化定義。這種表達方式有助于測試信息的傳達、共享和重用[6]。該標準可以提高ATS軟件的通用性和開放性,以及ATS軟件與硬件的無關性,該ATML標準的體系結構圖如圖1所示。

圖1 ATML標準體系結構圖
IEEE1641包含了兩方面內容信號定義和測試定義。信號定義是用來描述信號組件屬性。信號庫主要包含基本信號組件(basic signal component,BSC)和測試信號框架(test signal framwork,TSF)。TSF可以對更加復雜的信號進行定義,包含了信號的可編程接口,程序員可以根據測試特性對已有的BSC和TSF進行操作建立新的復雜的信號[10]。測試定義規定了測試流程中涉及的所有信號測試相關信息。他在Action實體中通過操作和一定流程的操作的組合來確定測試方法。ATML定義了信號操作、流程操作、數據操作等操作,ATML定義了Setup、Reset、Read、Compare、Connect、Disconnect、MessageOut和Waitfor等8個操作,不同的測試方式采用不同的操作組合,平臺開發中也可以對操作進行擴展[3]。
經過分析ATML標準是基于信號的測試標準,一個完整的測試程序開發要涉及到整個信號通路的描述,其中依次需要完成信號定義、儀器描述(InstrumentDescription)、工作站描述(TestStationDescription)、適配器描述(TestAdapterDescription)、UUT描述(UUTDescription)。在此基礎上按照測試流程組成的信號操作的集合組成了測試描述(TestDescription)。測試配置(TestConfiguration)和測試結果描述(TestResult)分別負責了測試配置和測試結果的描述準則。該平臺在此分析的基礎上增加了電纜描述(CableDescription)擴展,作為信號通路中的一個重要環節。
本文研究一種基于ATML的軟件平臺,該軟件平臺為測試軟件開發人員提供一種測試軟件的開發環境,該開發環境完全實現了面向信號的測試程序開發,為開發人員提供一種圖形化的軟件開發界面,軟件平臺可以將開發人員的輸入轉換為符合ATML標準的XML文件格式代碼。軟件平臺提供XML解析功能,通過對各個生成的描述文件進行匹配、轉換等工作實現對測試儀器的控制,自動匹配測試通路完成UUT的測試。通過對軟件平臺的功能進行分析和研究,獲取軟件平臺結構如圖2所示。

圖2 軟件平臺架構
其中,用戶可視化界面為用戶提供了一系列風格一致操作簡便的可視化界面,測試程序集TPS(Test Program Sets)開發人員可以根據測試需求對可視化界面進行操作,編輯與測試相關的業務層描述文件,包含了工作站描述、儀器描述、適配器描述、電纜描述、UUT描述、測試配置描述、測試描述、測試結果描述、故障診斷等信息。
ATML標準是一種面向信號的標準,在1641標準中提供了標準現有的STD信號庫,包括BSC、TSF等庫,標準同時指出該信號并未覆蓋測試所需的所有信號,因此,該軟件平臺為用戶提供了信號庫的編輯接口,TPS開發人員可以根據測試需要在原有信號庫的基礎上進行信號擴展。
特定UUT的測試采用平臺加專用測試程序的方法實現,形成專用測試系統。平臺描述和專用測試程序描述均符合ATML標準,將平臺和專用測試程序的XML文件導出后可以在其它基于ATML標準的系統上進行移植。若采用同一硬件平臺進行不同UUT的測試,僅需要重新編制專用測試程序即可。
經過對軟件平臺需求和結構的分析,將軟件平臺分為3個獨立的程序,3個程序分別對不同的描述信息進行編輯,3個程序分為軟件管理平臺、軟件開發平臺及軟件運行平臺,平臺結構如圖3所示。

圖3 平臺結構圖
由圖3可以看出,對TPS的開發也是基于通用資源+專用資源的方式開展軟件設計工作的,平臺負責將開發人員對圖形化界面的設置轉換成對應的XML文件,在運行平臺中進行解析、調用、編譯、運行。
圖1中投影平面上的六邊形A′B′C′DEF構成長方體的投影輪廓,其中點A′、B′、C′、G′分別是長方體頂點A、B、C、G的投影點,S為相機光心OC在該平面上的垂直投影點。
2.2.1 軟件管理平臺
軟件管理平臺是構成ATML軟件平臺的重要組成部分之一,用于完成信號類型的查詢與擴展、測試站管理、測試儀器描述、開關矩陣描述、儀器驅動程序開發、用戶管理系統維護和開發工作。
測試站描述提供測試站基本信息、接口信息、測試資源和連線信息的管理功能;測試儀器/開關矩陣描述提供對測試儀器和開關矩陣的建模功能,完成連接器、端口、資源、信號能力和開關能力的映射,根據測試儀器/開關矩陣的儀器描述文檔自動生成面向信號的儀器驅動程序框架,用戶基于該框架完成驅動程序的開發;信號描述提供了信號類型查詢與擴展工具,用于查詢、查看本系統支持的信號類型和信號參數。用戶管理提供用戶和用戶權限的管理功能,根據用戶類型設置不同的用戶權限。
ATS管理平臺的組成結構和模塊間的相互關系如圖4所示,其中ATS工程是管理平臺的直接工作對象,各個功能模塊獨立地實現各自的功能,最終以“主框架+插件”的模式集成到平臺中,提高了平臺的可維護性和擴展性。所有的功能模塊都能夠生成滿足標準的ATML描述文檔,也支持從這些ATML文檔中創建一個描述項目,能夠方便地在不同ATS間互換測試信息。

圖4 ATS管理平臺
2.2.2 軟件開發平臺
軟件開發平臺是構成ATML軟件平臺的基礎平臺,是進行被測對象(UUT)描述、測試描述、TP開發和調試的繼承環境,平臺以符合IEEE ATML系統標準為目標,采用面向信號的測試需求描述方法,可實現TPS的測試資源無關性,使其能在不同自動測試系統平臺上相互移植和重用,提高了資源的利用效率和測試程序的開發效率,降低了UUT的測試成本。
開發平臺主要提供了UUT描述、測試描述、適配器描述、電纜描述、診斷模型描述等功能。UUT描述描述一個UUT的標識信息、硬件識別信息、接口信息等與實際測試緊密相關的內容。測試描述描述一個具體的可執行的測試過程,包括測試項目的定義、具體信號操作細節、測試流程的組織,以及與測試控制相關的全局和局部變量或參數、測試結果等,是構成TPS測試需求的核心部分;適配器描述描述與當前UUT測試相關的適配器信息,主要包括接口上針腳定義信息,同時支持適配器內部測試資源的描述。電纜描述與適配器描述相似,描述將UUT接口與適配器接口對接的連線信息,支持多根電纜的描述。診斷模型描述,基于依賴矩陣(D-矩陣)診斷模型,提供一個方便、友好的用戶界面,編輯故障與測試、測試與測試的關聯關系,支持故障的在線和離線診斷。
開發平臺的組成結構和模塊間的相互關系如圖5所示。其中:TPS工程是TPS開發平臺的直接工作對象,是具體項目的容器。一個TPS工程可以包括一個或多個具體項目。用戶可以方便的開發、編輯任一個具體項目。各個功能模塊獨立地實現各自的功能,最終以“主框架+插件”的模式集成到平臺中,提高了平臺的可維護性和可擴展性所有的功能模塊都能夠生成滿足標準的ATML描述文檔,也支持從這些ATML文檔中創建一個描述項目,能夠方便的在不同ATS間互換操作信息。

圖5 TPS開發平臺
2.2.3 軟件運行平臺
軟件運行平臺是構成軟件平臺的最終人機交互接口,測試程序集運行平臺提供TPS的運行管理和運行時服務功能,包括運行環境管理、TPS安裝和卸載、運行時資源管理、測試結果管理、故障診斷推理等功能。
運行平臺主要提供了運行環境管理、TPS運行控制、ATML測試程序調試、測試結果管理、故障診斷等功能。運行環境管理主要實現TPS的安裝、卸載和更新,選擇并運行TPS。根據TPS的類型自動調用運行環境引擎進行測試。TPS運行控制根據TPS的測試配置信息,調用相應的運行環境引擎,完成測試任務。支持TPS運行過程中的暫停、繼續、停止運行等控制。顯示有意義的測試過程信息,如當前步驟、實時測試結果、儀器資源狀態等。ATML測試程序調試支持斷電的設置、取消。調試狀態下程序的單步執行、繼續執行和停止運行。調試過程中能夠方便的查看內部變量的值,并且支持對標數值的動態修改。測試結果管理對測試結果按UUT及其所屬的專業和機構有條理的管理,可以查看一條測試結果項的索引信息,也可通過Excel插件打開測試結果文件,查看詳細信息,并可根據自定義個模板格式對結果進行打印。故障診斷根據已有的測試結果和事先在TPS開發平臺中編輯的診斷模型,對UUT進行故障診斷。
TPS運行平臺的組成結構和模塊間的相互關系如圖6所示,其中:運行環境管理器根據特定的TPS自動調用ATML運行引擎。ATML運行引擎主要由低層的運行時資源管理器支持,該管理器進一步向下調用面向信號的一起驅動程序。測試過程中產生的結果將以符合IEEE std 1636.1的格式保存,在此基礎上診斷推理機可以根據已有的診斷模型實現UUT的故障診斷。

圖6 TPS運行平臺
基于以上設計思路,在ATML標準的基礎上自主研發了基于ATML的ATS軟件平臺。通過持續進行ATML標準適用性迭代分析,掌握了其體系架構、信號定義方法和開發運行流程,實現了該平臺在某型機載武器測試中的實際應用,其中包含了硬件平臺全面自檢、該型機載武器適配器自檢、該型機載武器測試等功能的TPS。
在運用過程中,開發人員根據需要在管理平臺擴展定義了若干路新的信號描述,之后在管理平臺上進行了與硬件平臺資源相對應的儀器描述和開關描述,開發人員利用平臺生成的驅動程序框架編寫了儀器驅動,儀器驅動完成了信號操作到儀器操作的映射,真正實現了面向信號的測試。開發人員將儀器加載入測試站同時完成了測試站端口與儀器能力的映射,最終完成了測試站的描述。測試站描述的完成預示著通用硬件平臺資源描述的完成,基于該硬件平臺的測試也就是基于該測試站描述的測試。根據不同的測試對象搭配不同的適配器、電纜、UUT。同樣,針對不同的測試對象和測試目標,開發人員在開發平臺完成適配器描述、UUT描述、電纜描述等專用測試程序相關的描述。最后,開發人員根據不同的測試流程和測試需求將信號操作序列進行有機組合完成測試描述,為了對測試數據進行標準化的描述開發人員需要進行測試結果描述并對診斷模型進行編輯。經過編譯的測試描述文件加載入運行平臺進行調試運行,測試結果進行故障診斷。運行平臺依序執行測試描述文件的語句,信號通路通過對各個階段定義的描述文件(XML文件)進行編譯、解析獲得,儀器操作通過對驅動程序的調用完成。真正達到面向信號的測試目的。測試程序集最終是一個XML文件的集合,對于其他基于ATML標準定義的軟件平臺具有很好的可移植性,這種移植可以簡單的考慮為XML文件的移植,獨立于程序開發語言。
該平臺在應用過程中,人機界面友好,運行穩定可靠。從論述和實際應用中都不難看出在該平臺中構建的ATS,可以真正實現測試程序與實際測量儀器的無關性,使得硬件可互換性得到了根本解決。所有的描述文件都是生成ATML文件形式后被運行引擎解析調用的,這就使得ATS的通用性、可移植性得到了根本的提高。
綜上所述,該基于ATML的ATS軟件平臺有效的解決了維修保障領域故障診斷效率低、測試費用高、測試信息交換不暢等眾多問題。