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