1 引言
隨著測試儀器從模擬化到數(shù)字化,從單臺儀器到總線插卡式儀器的發(fā)展歷程,軟件的發(fā)展占據(jù)了極其重要的地位。用于軟件的研制與開發(fā)費用比例,在整個系統(tǒng)研制費用中成上升的趨勢。怎樣最大程度地降低開發(fā)、使用軟件的費用,保證軟件的易用性、通用性、可維護性、可擴充性、可移植性,已成為測試系統(tǒng)設(shè)計的最重要的一環(huán)。
在傳統(tǒng)的測試系統(tǒng)軟件編制過程中,程序是按照測試任務(wù)要求,一步一步排下來的。如果測試點很多,測試參數(shù)復(fù)雜,測試程序量就非常大,且很難實現(xiàn)結(jié)構(gòu)化、模塊化設(shè)計。此外,由于檢測領(lǐng)域的不斷擴大,檢測參數(shù)范圍不斷延伸,這一過程反映在程序設(shè)計中,就是不斷地隨之修改,整個系統(tǒng)的維護也變得越來越困難。同時,測試對象稍作改變,程序的可用性幾近于零。因此,傳統(tǒng)測試軟件的通用性、可維護性、可移植性很差。
根據(jù)測試軟件傳統(tǒng)設(shè)計上的不足,本文提出了一種框架式的結(jié)構(gòu)設(shè)計方法,并應(yīng)用在我國某新型導(dǎo)彈的綜合測試系統(tǒng)中,其易用性、通用性、可維護性、可擴充性、可移植性得到極大改善。下面我們就具體闡述設(shè)計思路和系統(tǒng)的具體應(yīng)用情況。
2 總體結(jié)構(gòu)設(shè)計思路
系統(tǒng)以某型號導(dǎo)彈作為被測對象,測量任務(wù)繁重,全面衡量導(dǎo)彈的技術(shù)性能,需要從靜態(tài)測試到動態(tài)測試,從無源測試到有源測試,從分解測試到整體測試一項一項地逐項測試,要測試測量的參數(shù)很多,分析處理的難度也很大。分析其靜態(tài)測試參數(shù)和動態(tài)測試參數(shù),與設(shè)計的性能指標進行比較,發(fā)現(xiàn)問題,從而確保導(dǎo)彈的質(zhì)量。綜合考慮系統(tǒng)的體積、電磁干擾,電源以及系統(tǒng)的可靠性、測試速度等一系列問題,我們選擇了VXI總線測控系統(tǒng)的方案。
整個導(dǎo)彈測試系統(tǒng)采用網(wǎng)絡(luò)測控模式,主計算機選用VXI內(nèi)嵌式計算機提高測試速度,完成對VXI儀器模塊的控制和通過網(wǎng)卡控制前臺計算機。前臺計算機選擇高性能微型計算機,驅(qū)動RS-422接口、RS-485接口和GPIB接口,完成對導(dǎo)彈的實時通信控制功能。VXI測試儀器模塊有HP E6234A嵌入式計算機、HP E1410A數(shù)字多用表、HP E1416A功率計、HP E1458A高速 I/O模塊、AMC2300繼電器采樣和控制開關(guān)、AMC2620八通道并行A/D變換器和Tek Tvc641A四通道數(shù)字存儲示波器。系統(tǒng)硬件結(jié)構(gòu)見圖1。

[align=center]圖1 系統(tǒng)硬件結(jié)構(gòu)
[/align]
測試系統(tǒng)的軟件平臺采用WINDOWS NT和WINDOWS 95,主測試計算機采用安全性能較高的 Windows NT Workstation操作系統(tǒng),前臺計算機采用Windows 95操作系統(tǒng),系統(tǒng)開發(fā)平臺則采用NI公司的LabWindows CVI。LabWindows CVI將功能強大、使用靈活的C語言開發(fā)平臺與用于數(shù)據(jù)獲得、分析和顯示的測控專業(yè)工具函數(shù)庫和各種VXI接口資源庫函數(shù)有機地結(jié)合起來,對于熟悉C語言編程的測試系統(tǒng)人員,LabWindows CVI是系統(tǒng)軟件開發(fā)的首選平臺。本系統(tǒng)的測試程序就是采用LabWindows CVI 5.0開發(fā)完成的。根據(jù)任務(wù)要求,系統(tǒng)程序主要有測試、數(shù)據(jù)管理、模擬顯示、打印、儀器管理、通信控制、系統(tǒng)幫助等功能。
測試系統(tǒng)最主要的功能是把被測對象的被測參數(shù)采集回來,以往的測試程序,把所有的測試參數(shù)、儀器程控指令、測試結(jié)果和分析處理結(jié)果統(tǒng)統(tǒng)放在程序中,程序的易用性、可靠性、通用性、可維護性、可擴充性、可移植性很差。為了克服這些缺點,我們嘗試把數(shù)據(jù)和測試流程分開,數(shù)據(jù)信息包括測試儀器配置參數(shù)和測試結(jié)果數(shù)據(jù),由關(guān)系型數(shù)據(jù)庫管理系統(tǒng)管理這些數(shù)據(jù),而測試流程的任務(wù)就是讀取配置數(shù)據(jù)庫的數(shù)據(jù),配置測試儀器,進行相應(yīng)地數(shù)據(jù)采集、分析計算,并把結(jié)果寫回到測試結(jié)果數(shù)據(jù)庫中。測試系統(tǒng)軟件框架示意見圖2。

[align=center]圖2 測試系統(tǒng)通用軟件框架
[/align]
在導(dǎo)彈綜合測試系統(tǒng)實際測量過程中,無論是導(dǎo)彈的測試類型,或是設(shè)備類型發(fā)生改變時,需要測試人員做的僅僅是按照改變的內(nèi)容修改配置數(shù)據(jù)庫相應(yīng)的記錄,勿須修改測試流程。
由于VXI Plug&Play系統(tǒng)聯(lián)盟提出的一系列VPP規(guī)范,已成為VXI儀器軟件的標準,各儀器生產(chǎn)廠家推出的儀器,提供符合VPP規(guī)范的儀器驅(qū)動器已成為必然。因此,主測試流程驅(qū)動儀器,采用的都是用VISA技術(shù)寫成的儀器驅(qū)動函數(shù),對底層硬件滿足了即插即用。
另外,ODBC(Open DataBase Connective)技術(shù)和SQL(結(jié)構(gòu)查詢語言),又使不同的數(shù)據(jù)庫產(chǎn)品之間可以互相兼容,從而使測試應(yīng)用程序?qū)?shù)據(jù)庫的訪問,不隨數(shù)據(jù)庫的改變而發(fā)生變化。
這些技術(shù)從根本上保證了通用測試軟件框架的通用性、兼容性和可擴展性。
3 數(shù)據(jù)庫設(shè)計與測試流程
根據(jù)實際的測試需求,一次測試可以有若干項測試項目,每一個測試項目又可以劃分若干個測試點,而每一個測試點都有繼電器開關(guān)動作和相應(yīng)的儀器配置操作。根據(jù)這樣的關(guān)系,確定數(shù)據(jù)庫的安全原則,構(gòu)造配置數(shù)據(jù)庫的配置表。描述一次測試的記錄信息。用一個唯一的測試號標識一次測試,再通過對應(yīng)關(guān)系,找出本次測試所有的測試項目和測試配置字段,在測試流程中,用滿足ODBC的連接,建立程序與數(shù)據(jù)庫的連接,再用SQL語言找出相應(yīng)的記錄和字段,配置和驅(qū)動儀器,完成測試。測試數(shù)據(jù)結(jié)果數(shù)據(jù)庫是在配置數(shù)據(jù)庫表的基礎(chǔ)上,由測試號和測試點號唯一確定的一種儀器的數(shù)據(jù)表,記錄了測試結(jié)果數(shù)據(jù)和當(dāng)前測試時間。整個數(shù)據(jù)庫的關(guān)系如圖3所示。
[align=center]圖3 數(shù)據(jù)庫
[/align]
建立好數(shù)據(jù)庫以后,即可以編制測試主程序了。進入測試功能,首先進入測試配置界面,讀取配置數(shù)據(jù)庫的數(shù)據(jù)信息,配置該次測試所需的配置項目,并把相應(yīng)數(shù)據(jù)寫入到相應(yīng)的數(shù)據(jù)庫表中;然后進入測試執(zhí)行界面,依據(jù)該次測試的開始記錄和結(jié)束記錄,依次讀取各個表中的字段,根據(jù)其中的內(nèi)容完成相應(yīng)的操作。程序流程見圖4。
[align=center]圖4 程序流程
[/align]
4 系統(tǒng)優(yōu)化
以上闡述的只是通用測試軟件框架的初步實現(xiàn),采用的數(shù)據(jù)庫管理系統(tǒng)是微軟的Visual FoxPro 6.0。本系統(tǒng)框架可以進一步優(yōu)化,采用SQL Server數(shù)據(jù)庫管理系統(tǒng),滿足多終端多用戶的Client-Server結(jié)構(gòu),還可以按照面向?qū)ο缶幊谭椒右愿倪M,這些工作有待我們進一步開發(fā)。
[b]參考文獻
[/b][1] LabWindows/CVI Standard Libraries Reference Manual,
ational Inst ruments Corp.,1998.2
[2] Microsoft Visual FoxPro 6.0 中文版語言參考手冊,北京希望電腦公司,1998.
編輯:何世平