劉殿金,魏 兵
(中船724所,南京,211153)
基于Matlab和TCP/lP的測試系統(tǒng)開發(fā)及應(yīng)用
劉殿金,魏 兵
(中船724所,南京,211153)
對MATLAB中儀器控制工具箱的使用方法和儀器控制的實現(xiàn)方案進(jìn)行探討,針對現(xiàn)有基于TCP/IP接口的測試系統(tǒng)軟件開發(fā)的特點,以一典型實例,提出基于MATLAB平臺和TCP/IP接口的測試系統(tǒng)的設(shè)計方法和實現(xiàn)技術(shù),敘述了該系統(tǒng)的硬件結(jié)構(gòu)和軟件設(shè)計以及該系統(tǒng)的功能特點.實例表明,使用儀器控制工具箱,在MATLAB環(huán)境下進(jìn)行TCP/IP測試系統(tǒng)的開發(fā)不僅方便可行,而且編程簡單,功能強(qiáng)大,開發(fā)周期短。
測試系統(tǒng);MATLAB;TCP/IP;Excel;儀器控制工具箱
通常把在人工最少參與的情況下能自動進(jìn)行測量、數(shù)據(jù)處理, 并以輸出方式測試(量) 結(jié)果的系統(tǒng)稱為自動測試系統(tǒng)(ATS ——automated test system) 。隨著TCP/IP技術(shù)應(yīng)用到測試領(lǐng)域,它作為橋梁,把各種可編程儀器與計算機(jī)緊密地聯(lián)系起來,從此電子測量更快的向自動測試系統(tǒng)的方向發(fā)展.一般而言,一個完整的測試系統(tǒng)由控制器、測試儀器、測試軟件以及接口總線4大部分組成。利用常見的PC機(jī)做控制器,開發(fā)Windows程序作為測試軟件,不但使測試的過程自動化,而且使操作簡單、直觀,可視性大大加強(qiáng),其中軟件開發(fā)平臺的選擇直接影響到系統(tǒng)開發(fā)的效率和成效.
目前國內(nèi)軟件開發(fā)平臺主要有高級編程語言(如Visual C++)和Labview軟件,MATLAB軟件作為一套高性能的數(shù)值計算和可視化軟件,以其強(qiáng)大的數(shù)值分析與處理功能、豐富的仿真功能、方便的編程接口而深受廣大用戶的喜愛.與Visual C++等高級編程語言比較,語法規(guī)則更簡單,編程特點更貼近人的思維方式.若能利用MATLAB軟件強(qiáng)大的數(shù)值處理能力和編程簡單的優(yōu)點進(jìn)行測試系統(tǒng)的設(shè)計,無疑對測試系統(tǒng)的開發(fā)是有益的,MATLAB(Version 7.0)的儀器控制工具箱(Instrument Control Toolbox)為此提供了對TCP/IP接口通信的支持 .利用該工具箱配以適當(dāng)?shù)木W(wǎng)卡不僅可以進(jìn)行實時數(shù)據(jù)采集,而且還可以進(jìn)行實時控制,由此組建成為自動測試系統(tǒng)。
1.1系統(tǒng)硬件構(gòu)成
如圖1所示,系統(tǒng)由一臺PC機(jī)、一臺網(wǎng)絡(luò)分析儀E5071C、一根網(wǎng)線組成。因虛擬儀器軟件體系結(jié)構(gòu)(VISA)是一種工業(yè)標(biāo)準(zhǔn)I/O應(yīng)用程序接口(API),用它開發(fā)I/O應(yīng)用程序和儀器驅(qū)動程序也適用于儀器通信和控制的IVI基礎(chǔ)標(biāo)準(zhǔn)。這樣我們只需要PC機(jī)和儀器都安裝VISA庫,我們發(fā)送相應(yīng)的SPCI儀器指令(Standard Commands for Programmable Instruments)給儀器,就可以實現(xiàn)對其操作與控制。
圖1 系統(tǒng)結(jié)構(gòu)框圖
1.2系統(tǒng)軟件設(shè)計及功能
如圖2所示,整個程序需要完成如下步驟:連接、初始化網(wǎng)絡(luò)分析儀,設(shè)置網(wǎng)絡(luò)分析儀測試參數(shù),采集數(shù)據(jù),顯示數(shù)據(jù)及保存數(shù)據(jù)。
測試系統(tǒng)的軟件圖形化界面及功能是基于MATLAB環(huán)境、采用面向?qū)ο蟮脑O(shè)計方法實現(xiàn),圖3為實現(xiàn)的測試系統(tǒng)軟件的操作面板。
圖2 系統(tǒng)流程圖
(1)測試系統(tǒng)操作面板是由GUI設(shè)計工具完成,界面中使用的控件功能通過編輯相應(yīng)的CALL.BACK程序?qū)崿F(xiàn).界面設(shè)計采用功能面板化設(shè)計,如Response面板主要實現(xiàn)測量參數(shù)、參數(shù)格式等儀表狀態(tài)的設(shè)置,Stimulus面板實現(xiàn)頻率范圍設(shè)置,Send&Read面板實現(xiàn)連接、斷開、數(shù)據(jù)采集、保存、生產(chǎn)報告。
圖3 測試系統(tǒng)操作面板
(2)測試系統(tǒng)中儀器的設(shè)置與調(diào)試.以網(wǎng)絡(luò)分析儀Agilent E5071C為例說明.首先要正確設(shè)置網(wǎng)絡(luò)分析儀Agilent E5071C的IP地址.然后對儀器進(jìn)行TCP/IP接口通信調(diào)試,編制網(wǎng)絡(luò)分析儀程序如下:
G=visa('agilent','TCPIP0::192.168.4.10::INSTR')%創(chuàng)建設(shè)備對象
fopen(G);%連接設(shè)備
idn=query(G,'*IDN?');%獲取設(shè)備名稱、序列號
fclose(G);%斷開連接
delete(G);%清除內(nèi)存
通過以上程序調(diào)試,確保儀器與計算機(jī)可靠通信后,方可進(jìn)行系統(tǒng)測試
(3)采集數(shù)據(jù)送到數(shù)組中,經(jīng)過數(shù)據(jù)處理,然后調(diào)用Plot()函數(shù)連接成波形,在屏幕上顯示.由于通信數(shù)據(jù)支持二進(jìn)制和文本(ASCII)兩種方式,因此如果選擇文本方式時,應(yīng)調(diào)用Str2num()函數(shù)將文本數(shù)據(jù)轉(zhuǎn)換為數(shù)值型數(shù)據(jù)。
(4)MATLAB軟件提供了與Microsoft Excel數(shù)據(jù)庫軟件的程序接口.將采集的信號數(shù)據(jù)按照測試人員記錄表要求保存到Excel數(shù)據(jù)庫中形成測試報告,提高了測試人員的工作效率,同時又避免了記錄數(shù)據(jù)時出錯。
圖4為儀器上顯示的相位波形,圖5為采集到的相位波形,圖6為E5071的傳輸特性的自動測試數(shù)據(jù),圖7為E5071的傳輸特性的手動測試報告。通過對比驗證了系統(tǒng)的準(zhǔn)確性。
圖4 儀器上顯示的相位波形
圖5 采集到的相位波形
圖6 E5071的傳輸特性的自動測試數(shù)據(jù)
圖7 E5071的校準(zhǔn)中傳輸特性的手動測試數(shù)據(jù)
TCP/IP高速傳輸性能以及完整的控制協(xié)議,使得基于TCP/ IP的測試系統(tǒng)獲得越來越廣泛的應(yīng)用.在進(jìn)行TCP/IP測試系統(tǒng)的設(shè)計時,系統(tǒng)的功能很大程度取決于測試軟件部分,因而選擇良好的軟件開發(fā)平臺具有事半功倍的作用.MATLAB軟件編程簡便、功能強(qiáng)大,儀器控制工具箱提供了基于TCP/IP通信的良好支持.實踐表明,使用儀器控制工具箱,在MATLAB環(huán)境下進(jìn)行TCP/ IP測試系統(tǒng)的開發(fā)不僅可以降低設(shè)計的復(fù)雜度,縮短開發(fā)周期,而且所開發(fā)系統(tǒng)功能強(qiáng)大,可向上擴(kuò)充,具有廣泛的應(yīng)用前景.
[1] 劉思久 ,張禮勇.《自動測試系統(tǒng)與虛擬儀器原理·開發(fā)·應(yīng)用》,電子工業(yè)出版社,2009
[2] Agilent應(yīng)用指南1465-9《LAN在測試系統(tǒng)中的應(yīng)用:基本原理》,Agilent,2004
[3] Agilent應(yīng)用指南1465-4《測試系統(tǒng)開發(fā)指南選擇測試系統(tǒng)軟件體系結(jié)構(gòu)》,Agilent,2006
[4] 張德豐.《MATLAB與外部程序接口編程》,機(jī)械工業(yè)出版社,2009
劉殿金,男,1984年生,工程師,從事外購器件檢驗。
Development and Application of Measurement System Based on MATLAB and TCP/IP
Liu Dianjin,Wei Bing
(The 724st Institute of CSIC,Nanjing,211153)
The paper discusses the using methods of instrument control toolbox and the realizing scheme of instrument control in MATLAB,suggests the designing method and realizing technology of a measurement system based on MATLAB platform and TCP/IP interface with a typical example by taking into consideration the developing the measurement system software,and depicts the hardware structure and the software design of the system as well as the system functions and characteristics.The example shows that the development of TCP/IP measurement system in the context of MATLAB with instrument control toolbox is not only feasible,but the programming is simple,powerful and short in exploring period.
measurement system;MATLAB,TCP/IP;Excel;instrument control toolbox