周洋洋,林海,趙昶宇
基于GPTS的通用自動測試技術研究
周洋洋1,林海1,趙昶宇2
(1.海軍裝備部駐天津地區第二軍事代表室,天津 300308;2.天津津航計算技術研究所,天津 300308)
GPTS軟件是一套以ATLAS716-95標準編譯器及IVI驅動技術為核心的通用自動測試系統軟件平臺,它由自動測試系統集成、測試程序開發、調試及運行等多種功能及環境組成,主要實現驅動程序配置、系統配置管理、測試程序集(TPS)的開發、測試程序的運行/調試以及測試程序和測試結果的管理。利用GPTS自動測試系統軟件集成開發環境,實現了對智能I/O模塊和智能串口模塊的測試。
通用自動測試;系統測試;測試儀器;GPTS
GPTS自動測試系統的基本目的是構造一個軟件系統,完成測試儀器的管理,信號的產生、測試,測試程序運行控制,測試結果的處理、保存等所有測試系統都必須完成的基本工作。將系統的通用功能和與被測對象有關的測試程序區分開來。系統通過一組定義良好的測試程序接口提供所有的系統功能,測試程序開發者使用該接口開發針對不同被測對象的測試程序,使測試程序的開發者可以不必了解具體儀器的操作方法、復雜的測試系統軟件配置而專注于對被測對象的研究。
GPTS開發環境采用ATLAS為主開發語言,ATLAS語言不直接設置儀器進行測量,描述信號的特性而不是儀器設置,避免了在程序中直接調用儀器驅動的函數的情況下更換系統儀器時需要重新編寫測試代碼。
自動測試系統硬件包括安裝在機箱中的各種標準接口儀器以及儀器之間或儀器與ICA之間的連接電纜、適配器接口和若干適配器。適配器的作用是將UUT與系統連接在一起,測試所需的負載及特殊電路網絡,如特殊信號產生電路,調理電路等也安排在適配器中。
測試系統軟件分為系統軟件、驅動軟件和TPS軟件三部分。系統軟件負責ATLAS信號的編譯連接、執行控制、界面交互、虛擬資源分配、系統及適配器連線描述、虛擬資源初始化和狀態維護、連接查詢處理,還有系統連線表、系統配置文件等。驅動軟件以IVI可互換的虛擬儀器為基礎構建儀器控制層代碼,同時兼顧類儀器和單個儀器訪問儀器的能力。TPS軟件是測試系統之外為了特定UUT開發的,每個UUT都有其測試程序及適配器,在實際應用中不同的UUT也可以共用適配器。
TPS軟件包括以下幾部分:ATLAS測試程序是依據測試需求文件遵循ATLAS語言規范開發的源程序,包括ATLAS模塊測試程序和非ATLAS模塊測試程序;適配器連線表中定義了在適配器中建立的系統資源、UUT插釘及適配器資源間的鏈接關系;虛擬資源分配文件負責將ATLAS測試程序中的虛擬資源對應到實際儀器中去;數據文件中存儲著測試程序運行中所需的各類數據。
GPTS自動測試系統的開發流程如圖1所示。
驅動能力描述文件(Driver Capability Document,以下簡稱“DCD文件”)主要用于說明驅動安裝的基本信息(如驅動名稱、版本、所屬儀器類型、廠家等)、擴展信號參數信息以及驅動所對應儀器的信號能力信息等內容。本文主要闡述具體儀器虛擬資源驅動文件的編寫。
DCD文件主要由三部分組成:驅動信息、擴展信息和信號能力描述。驅動信息是為了描述驅動的基本信息,包括所需文件、前綴等。擴展信息是為了增加信號能力信息中那些ATLAS中沒有規定的名詞、修飾符、量綱和連接描述符,每個文件的擴展信息只用于檢查和分析本文件內的信息內容。信號能力描述的是每個實際的物理儀器所具有的功能,測量、產生或監控信號的能力。
編寫智能I/O模塊和智能串口模塊的驅動程序,最終目標為生成相應的DLL程序。
打開VC++開發環境,新建GptsSpecResWizard Appwizard項,在“工程名稱”編輯框中填入將要創建的具體儀器虛擬資源驅動模塊名稱,輸入用于生成框架代碼的能描述文件的路徑,設置Source型信號對象和Sensor型信號對象,VC++會自動建立一個驅動工程文件,需在該工程文件中編寫相應的驅動程序。
3.2.1 智能I/O模塊驅動代碼編寫
在VC++中開始編寫智能I/O模塊驅動代碼之前,VC++工程中會自動生成三個文件:GppioDriver.cpp、GppioSensorLogicData.cpp和GppioSourceLogicData.cpp,GppioDriver.cpp完成對智能I/O模塊的初始化工作,GppioSourceLogicData.cpp用于提供數字信號,GppioSensorLogicData.cpp用于測量數字信號。
3.2.2 智能串口模塊驅動代碼編寫
在VC++中開始編寫智能串口模塊驅動代碼之前,VC++工程中會自動生成三個文件:GpGcom5Driver.cpp、GpGcom5SourceRs422.cpp和GpGcom5SensorRs422.cpp,GpGcom5Driver.cpp完成對智能串口模塊的初始化工作,GpGcom5SourceRs422.cpp使用Serial輸出RS422信號,GpGcom5SensorRs422.cpp使用Serial測試RS422信號。
TPS軟件采用ATLAS語言進行編碼。ATLAS(Abbreviated Test Language for All Systems,for IEEE;and Abbreviated Test Language for Avionics /eivi'οniks/ 電子設備/ Systems,for ARINC)是一種專門用于執行測試任務的面向信號的高級語言,可用于對被測對象的測試流程(測試需求)進行一般性描述。
該部分代碼可實現對智能I/O模塊的讀和寫操作,數字IO的信號類型為LOGIC DATA,相關參數如表1所示。
表1 LOGIC DATA類型的信號參數
信號參數必用可選可用范圍描述單位 TYPE√ PARALELL VOLTAGE-ONE√ VALUE,MAX,RANGEmV,V,kV VOLTAGE-ZERO √VALUE,MAX,RANGEmV,V,kV WORD-LENGTH√ VALUEBITS WORD-RATE√ VALUEWORDS/SEC VALUE√ 位串
該部分代碼可實現對智能串口模塊的讀和寫操作,Serial類儀器用于測量或者提供一個串口上的串行信號。使用Serial輸出和測量信號的參數如表2所示。
表2 Serial類儀器的信號參數
信號參數必用可選可用范圍描述單位 DATA-WORDS√ ARRAYNONE DATA-CHARS√ STRINGNONE PARITY-MODE√ MDNONE BIT-RATE√ VALUEBITS/SEC DATA-BITS √VALUEBITS STOP-BITS √VALUEBITS
經過對系統所有目前和將來可能的測試需求進行總的分析以后,選定測試儀器與設備,接下來的工作是進行系統集成,在GPTS中對測試系統的集成分為硬件和軟件兩個部分,硬件集成是將測試儀器和設備按照預定的安排進行安裝、設置和互連。軟件方面則需要在GPTS的開發環境中反映出儀器的設置和互連關系,硬件儀器的設置在GPTS集成
開發環境中叫做系統配置,儀器的互連在GPTS集成開發環境中采用系統連線表文件進行反映。
測試系統接口ICA用來提供測試適配器和ATE之間的快速機械連接、卸除和電氣連接,用戶將系統中所有的測試設備都先連接到該接口上,再由UUT各自的測試適配器將測試設備提供的信號或者測量通道連接到最終的UUT插釘上。
使用鼠標右鍵點擊“ICA定義”編輯項目,選擇“增加一個ICA模塊”;在ICA模塊的編輯項目上點擊鼠標右鍵,在菜單中選擇“增加一組ICA釘”;在系統連線表中定義系統儀器、系統開關模塊和ICA插釘之間的連接關系,使用鼠標的左鍵拖動連接節點實現連接的定義。
建立系統連線表。系統連線表中包含了系統中儀器的連接釘名稱信息、之間的互相連接線的信息、開關切換信息等,它是TPS程序實現正常開關閉合的基礎。它定義了系統物理開關模塊、系統儀器與ICA模塊上的連接關系。
本系統中增加了兩個ICA模塊,一個是PIO模塊,還有一個是COMM模塊。其中,PIO模塊定義了48個ICA釘,對應48路I/O,COMM模塊定義了5個ICA釘,對應5路串口。
首先創建一個UUT適配器連線表,該文件被保存在擴展名為.twb的文件中,測試程序發布時隨著執行代碼一起提交給最終用戶;在對TPS項目進行編輯之前,指定系統ITA的端口定義和待測試件UUT的端口定義,ITA端口定義和系統ICA的端口定義是一一對應的,無需在適配器連線表中額外定義ITA端口,定義出指定數目的ICA的端口和名稱后,在TPS開發環境中刷新ITA端口,如果在創建UUT連線表之后更改了系統內儀器的連線或者ICA定義,需要重新刷新ITA定義;根據UUT的插頭名稱定義出一個插頭,右擊“UUT”選取“增加一個UUT端口”或“增加一組UUT端口”,定義UUT端口名稱以后,右擊該插頭名稱,選取“增加一個UUT釘”或“增加一組UUT釘”。
本系統中,PIO模塊定義了48個UUT釘,COMM模塊定義了5個UUT釘,然后將這些UUT釘分別與ICA釘一一連接起來。
每個虛擬資源都有一個由用戶定義的名稱,TPS測試程序中使用該名稱訪問該虛擬資源。每個虛擬資源都有一組約束條件描述該虛擬資源所提供信號的參數。在某個特定系統上使用虛擬資源時應為該虛擬資源指定一個儀器,該過程稱為虛擬資源分配。
虛擬資源分配文件是以.vri為擴展名的文件,虛擬資源分配文件記錄了ATLAS源代碼中每一個虛擬資源所使用的實際對應的儀器資源,是ATLAS程序正確運行的必要文件,如果分配錯誤可能出現用戶不期望的結果。
[1]邱靜,劉冠軍,楊鵬,等.裝備測試性建模與設計技術[M].北京:科學出版社,2012.
[2]許輝,梁力.基于多信號模型的測試性分析方法研究[J].計算機測量與控制,2012,20(4):914-916.
V242
A
10.15913/j.cnki.kjycx.2020.13.028
2095-6835(2020)13-0075-02
周洋洋(1991—),男,工程本科學歷,海軍裝備部駐天津地區第二軍事代表室工程師,主要從事裝備質量監督與檢驗驗收方面的工作。
〔編輯:嚴麗琴〕