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