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