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