聶 鵬,宋 平,徐 濤,韓 嬌
(沈陽航空航天大學(xué) 機電工程學(xué)院,沈陽 110136)
基于LAN總線的頻譜儀控制技術(shù)的實現(xiàn)
聶 鵬,宋 平,徐 濤,韓 嬌
(沈陽航空航天大學(xué) 機電工程學(xué)院,沈陽 110136)
闡述了一套基于LAN總線的頻譜儀自動化控制系統(tǒng)的設(shè)計。本系統(tǒng)以圖形化編程語言labview為開發(fā)平臺,引入虛擬儀器這一概念,通過VISA函數(shù)庫和SCPI命令進行編程,通過LAN總線與計算機連接傳輸數(shù)據(jù),設(shè)計了對頻譜儀的自動化控制系統(tǒng)。本系統(tǒng)操作簡單,提高了測量的效率和測量精度,且易于和其他儀器連接做進一步的系統(tǒng)開發(fā)。
LAN總線;虛擬儀器技術(shù);Labview;頻譜儀
隨著自動化技術(shù)的發(fā)展,虛擬儀器技術(shù)在自動化測試領(lǐng)域的應(yīng)用越來越廣泛。頻譜儀作為測試領(lǐng)域的重要儀器,其應(yīng)用越來越廣泛,而使用傳統(tǒng)的手動操作頻譜儀進行測量耗時耗力,測量結(jié)果的可靠性也不高,顯然已經(jīng)不能滿足當今時代測試系統(tǒng)的要求,因而開發(fā)自動化的測試系統(tǒng)是大勢所趨。而儀器控制技術(shù)作為虛擬儀器技術(shù)重要內(nèi)容之一,則成為開發(fā)自動化系統(tǒng)的關(guān)鍵。本文在labview開發(fā)環(huán)境下,應(yīng)用儀器控制技術(shù),通過VISA庫函數(shù)及SCPI命令進行編程,通過LAN總線接口實現(xiàn)計算機對頻譜儀的控制。
根據(jù)系統(tǒng)要求,測試系統(tǒng)的硬件部分主要由AV4036型號頻譜儀、LAN總線、毫米波天線發(fā)射機和計算機組成。測試系統(tǒng)的硬件組成如圖1所示。
圖1 測試系統(tǒng)硬件組成
AV4036頻譜儀是一種在測試領(lǐng)域應(yīng)用十分廣泛的儀器,它是計算機技術(shù)向測量儀器移植的產(chǎn)物,能通過總線接受外來信號命令改變內(nèi)部狀態(tài),整個測量過程受計算機控制,能夠靈活接受命令,存儲數(shù)據(jù)。頻譜儀和PC機的連接采用LAN總線,使用labview提供的MAX儀器配置工具對頻譜儀進行配置。配置時要設(shè)置頻譜儀的網(wǎng)絡(luò)參數(shù)并使頻譜儀的網(wǎng)關(guān)和子網(wǎng)掩碼和計算機的相同。完成配置后PC機即可通過LAN總線對頻譜儀發(fā)送命令從而進行控制,使得頻譜儀能實現(xiàn)多種功能。
LAN(local-area networking)總線是整個系統(tǒng)的核心模塊。LAN為計算機連接網(wǎng)絡(luò)所設(shè)計的標準。LAN應(yīng)用于儀器控制的歷史并不長,在儀器控制總線的應(yīng)用仍只占一小部分,但同GPIB總線相比仍具備了不可替代的優(yōu)勢。LAN總線相比于GPIB總線系統(tǒng)搭建成本要低廉而且實現(xiàn)起來要容易。同時LAN總線突破了GPIB總線在長度上的限制,增加了儀器遠程控制的距離,這也是LAN總線最明顯的優(yōu)勢,同時突破了GPIB總線傳輸速度慢,當系統(tǒng)需要長距離分布式的測量或需要測量儀靠近測量源而遠離計算機時,這種距離上的優(yōu)勢就顯得尤為重要。LAN總線比GPIB總線等具有更高的帶寬,可靠性也比較高。LAN總線便于增加系統(tǒng)連接儀器的數(shù)目,提高了系統(tǒng)的可擴展性。另外,LAN總線允許測量儀器連接以太網(wǎng),實現(xiàn)遠程數(shù)據(jù)的采集。
2.1 虛擬儀器軟件構(gòu)架
虛擬儀器軟件構(gòu)架VISA(Virtual Instrumentation Software Architecture)是VPP聯(lián)盟制定的通用I/O標準,是計算機系統(tǒng)與儀器硬件之間進行通信的橋梁和紐帶。通常把這個I/O函數(shù)庫稱為VISA庫。VISA庫為用戶提供了統(tǒng)一的函數(shù)接口,開發(fā)控制程序時只需根據(jù)庫中的標準函數(shù)形式進行調(diào)用即可,擺脫了不同儀器需要不同I/O接口軟件的狀況。目前大部分都是通過調(diào)用VISA實現(xiàn)虛擬儀器的驅(qū)動程序和應(yīng)用程序?qū)x器的控制。VISA定義的I/O接口規(guī)范適用于LAN、GPIB、串口(如RS-232)和其他接口。下圖給出了測試系統(tǒng)軟件構(gòu)架原理圖。
圖2 測試系統(tǒng)軟件構(gòu)架原理圖
2.2 可編程儀器標準命令
可編程儀器標準命令SCPI(Standard Commands for Programmable Instruments)是1990年由SCPI聯(lián)盟提出的用于解決程控儀器編程進一步標準化的通用程控語言。在IEEE488.2和IEEE754提出的標準代碼和格式的基礎(chǔ)上建立了SCPI標準,它包含了IEEE488.2所提出的通用命令,并且通過指定通用的控制命令來對不同的儀器實現(xiàn)控制。[1]SCPI最大的特點是它描述的是正在打算測量的信號,并不是正在用以測量信號的儀器。SCPI語句以ASCII文本的方式存在,因此可以叫入到任何計算機測試編程語言之中。編寫儀器控制程序時,在儀器提供的儀器用戶手冊中通常給出用于實現(xiàn)儀器遠程控制的SCPI命令庫,為開發(fā)儀器控制程序提供了便利的條件。SCPI命令分為通用命令和分系統(tǒng)命令。通用命令用來控制儀器狀態(tài)寄存器、狀態(tài)報告、同步、數(shù)據(jù)存儲及其它通用功能。所有的通用命令都可以通過命令字的第一個“*”被識別,在IEEE488.2中詳細定義了通用命令。表1為通用命令集。
表1 通用命令集
分系統(tǒng)命令用來進行測量、讀取數(shù)據(jù)以及控制儀器設(shè)置等工作,每一個命令子系統(tǒng)都是對應(yīng)著頻譜儀內(nèi)部一個功能模塊的命令集。下面介紹常用到的命令:
(1)[:SENEe]:FREQuency:CENTer
(2)[:SENEe]:FREQuency:SPAN
(3)[:SENEe]:FREQuency:STARt
(4)[:SENEe]:SWEep:TIME
(5):TRACe[:DATA]?
2.3 程控系統(tǒng)的軟件設(shè)計
本系統(tǒng)采用labview編寫控制程序,Labview是美國NI公司推出的可視化的虛擬儀器系統(tǒng)的開發(fā)平臺,是一款圖形化的系統(tǒng)設(shè)計軟件,專用于虛擬儀器開發(fā)的語言之一。它結(jié)合了圖形化編程方式的高效性和靈活性,以及包括了幾乎所有測試測量工程與自動化控制應(yīng)用設(shè)計的高端性能和配置功能。同編程工具VB,VC相比,labview具有學(xué)習(xí)簡單、便于掌握的優(yōu)點。而且,運用labview可以設(shè)計出形象逼真的用戶界面。
本系統(tǒng)的編程原理是:應(yīng)用VISA函數(shù)庫,通過LAN總線接口把SCPI命令送到儀器中,儀器接收命令后進行分析,并做出相應(yīng)的響應(yīng),最后將測量的數(shù)據(jù)通過LAN總線接口返回計算機,再進行進一步處理,從而完成儀器的控制。系統(tǒng)的流程圖如下:
圖3 軟件系統(tǒng)流程
在labview中進行儀器控制主要進行3個步驟:(1)查閱儀器手冊,找到儀器所需的SCPI命令。(2)用NI-VISA Write.vi向儀器發(fā)送指令。(3)用NI-VISA Read.vi從儀器中讀回數(shù)據(jù)。整個labview程序框圖采用順序結(jié)構(gòu):頻譜儀初始化、設(shè)置頻譜儀初始參數(shù)、讀取頻譜儀參數(shù)、最后關(guān)閉頻譜儀,在進行參數(shù)下發(fā)和讀取時嵌套循環(huán)和事件結(jié)構(gòu)[2]。下面分析關(guān)鍵技術(shù)。
2.3.1 設(shè)置頻譜儀初始參數(shù)
在labview中對頻譜儀的中心頻率、跨度、起始/終止頻率等參數(shù)進行設(shè)置,其部分程序框圖如下:
通過VISA函數(shù)模板對頻譜儀寫入SCPI命令并設(shè)置頻譜儀的起始/終止頻率,首先用VISA Open函數(shù)打開VISA資源,設(shè)置終止符“ ”,然后用VISA Write函數(shù)寫入設(shè)置起始/終止頻率命令,這里用到字符串函數(shù)功能格式化寫入字符串將SCPI命令寫入并能在前面板輸入起始終止頻率,最后用VISA Close函數(shù)關(guān)閉VISA資源。
圖4 設(shè)置起始/終止頻率的程序框圖
2.3.2 數(shù)據(jù)的讀取
本設(shè)計不但向頻譜儀發(fā)送控制命令,而且還需要從頻譜儀讀取測量結(jié)果并保存,頻譜儀的數(shù)據(jù)采集程序如下圖所示。
圖5 頻譜儀數(shù)據(jù)讀取程序框圖
通過VISA函數(shù)模板對頻譜儀寫入SCPI命令并從頻譜儀讀取測量數(shù)據(jù),首先用VISA Open函數(shù)打開VISA資源,然后用VISA Write函數(shù)寫入數(shù)據(jù)采集命令“TRAC:DATA?TRACE 1”,接著VISA Read函數(shù)讀取頻譜儀數(shù)據(jù),最后用VISA Close函數(shù)關(guān)閉VISA資源。數(shù)據(jù)采集程序采用While循環(huán)結(jié)構(gòu),考慮到數(shù)據(jù)通信的時間延遲,循環(huán)間隔設(shè)定為500 ms。
2.3.3 頻譜儀波形參數(shù)的解析
頻譜儀開始采集被測信號后,被測信號波形顯示在屏幕上,還需對波形相關(guān)參數(shù)(峰值頻率、峰值幅度等)進行采集,以方便對數(shù)據(jù)的處理。其部分程序框圖如下。
測試時通過SCPI命令控制頻譜儀在最大保持掃描模式下進行測量,打開頻標1,查詢到頻標1的最大值,查詢頻標1最大值的橫坐標值即為測量信號的頻率值,最大值處的縱坐標值即為測量信號的幅值。
2.3.4 全局變量
全局變量是控制系統(tǒng)參數(shù)跟蹤功能實現(xiàn)的關(guān)鍵技術(shù)??刂葡到y(tǒng)中包含多個VISA資源,在編程時要在不同的子VI多次打開接口資源。由于頻譜儀的SCPI命令庫非常龐大,編程時使用這些命令比較繁瑣。為了方便這些接口資源以及SCPI命令的管理和使用,引入了全局變量。全局變量把兩個獨立的VI聯(lián)系起來,實現(xiàn)不同VI之間的通信,使得異步的任務(wù)共享信息。
2.3.5 事件驅(qū)動技術(shù)
Event Structure是事件驅(qū)動編程技術(shù),使用事件來控制程序的運行,使其在不同的分支之間跳轉(zhuǎn)。相比于用For循環(huán)等進行循環(huán)方式進行編程,此技術(shù)可以避免循環(huán)方式帶來的CPU浪費,狀態(tài)跳轉(zhuǎn)滯后的缺點,提高整個程序的運行速度。
圖6 頻頻儀采集信號部分程序
本設(shè)計將事件驅(qū)動程序應(yīng)用到參數(shù)下發(fā)這一事件,將每個參數(shù)下發(fā)作為一個事件對事件驅(qū)動進行定義,當有新的參數(shù)下發(fā)時,事件驅(qū)動得到通知進入相應(yīng)的驅(qū)動程序;若無參數(shù)下發(fā),事件驅(qū)動則處于睡眠狀態(tài)直到預(yù)先設(shè)定的事件發(fā)生時才會蘇醒,程序不會一直處于循環(huán)狀態(tài)。
本測試系統(tǒng)過程是由毫米波天線發(fā)射機發(fā)出信號,其頻率為35 GHz,通過天線接收由頻譜儀測量其參數(shù),頻譜儀的參數(shù)設(shè)置如下圖所示。
圖7 頻譜儀的參數(shù)設(shè)置
頻譜儀測量天線的頻率和幅值的結(jié)果如下圖所示。
圖8 測量天線的頻率和幅值
經(jīng)過同頻譜儀自身顯示的數(shù)據(jù)結(jié)果的對比,本測試系統(tǒng)的測量結(jié)果是和其相同的。
虛擬儀器以其可視化、低成本的優(yōu)勢被更多的程序員所采用,其已成為自動化測試領(lǐng)域的主流。Labview作為圖形化測試系統(tǒng)的一種專用工具得到了越來越多的應(yīng)用。本文采用了labview編寫的程序?qū)崿F(xiàn)了對頻譜儀的控制。文中介紹了系統(tǒng)的硬件的結(jié)構(gòu)和功能,和軟件的流程,分析了其中的關(guān)鍵技術(shù)如全局變量、事件驅(qū)動等技術(shù)。本系統(tǒng)易于和其他測試儀器(如示波器、功率計)組成測試系統(tǒng)為進一步開發(fā)天線測試系統(tǒng)打下基礎(chǔ)。
[1]李寧,李進杰.儀器控制技術(shù)在自動化測量系統(tǒng)中的應(yīng)用[J].工業(yè)控制計算機,2008,21(1):1-3.
[2]呂繼宇,張華春,陰和俊.基于Labview的頻譜儀控制系統(tǒng)設(shè)計[J].測試技術(shù)學(xué)報,2005,19(4):426-431.
[3]朱波,李華.基于SCPI語言的智能儀器labview驅(qū)動設(shè)計[J].儀表技術(shù)與傳感器,2008(9):53-54.
[4]秦凡,韋高.基于VISA庫及SCPI命令的儀器程控測量[J].現(xiàn)代電子技術(shù),2011,34(11):118-120.
[5]劉嚴嚴,徐世偉,郭海帆.頻譜分析儀自動化測試技術(shù)的研究[J].國外電子測量技術(shù),2006,25(7):62-64.
[6]武躍斌,歐衛(wèi)國.基于虛擬儀器技術(shù)的頻譜分析儀自動測試系統(tǒng)[J].國外電子測量技術(shù),2006(6):72-76.
[7]王琳,黃翔,王學(xué)偉.基于LXI總線的遠程測試系統(tǒng)的設(shè)計與實現(xiàn)[J].電測與儀表,2010,47(5):48-51.
[8]鄭玲玲,許剛,韓瑋.基于LXI總線的頻譜儀遠程控制方法的實現(xiàn)[J].電子測量技術(shù),2012,35(1):93-95.
[9]郝麗,趙偉,王坤.基于LabVIEW的一起控制教學(xué)示例[J].電氣電子教學(xué)學(xué)報,2012,34(4):80-83.
[10]張磊.利用VISA控制儀器設(shè)備各種接口[J].電子測試,2008(10):58-61.
[11]蔣新文,張寧,楊三序.基于虛擬儀器的測控系統(tǒng)[J].微計算機信息,2007(23):30-32.
[12]鄭挺,王勇.虛擬儀器技術(shù)在自動測試系統(tǒng)中的應(yīng)用[J].中國測試技術(shù),2006(32):42-44.
[13]盧燕濤,郁月華,劉明亮,等.一種基于LAN總線的儀器自動控制方法[J].測量與設(shè)備,2008(7):39-41.
[14]高建偉.新一代儀器測試總線-LXI[J].航空計算技術(shù),2006,36(6):121-124.
[15]蔣薇,張曉波,賴青貴.基于LabVIEW的儀器通信技術(shù)研究[J].計算機測量與控制,2013,21(4):1030-1032.
(責任編輯:劉劃 英文審校:李丹莉)
ConroltechnologyforspectrumanalyzerbaseonLANbus
NIE Peng,SONG Ping,XU Tao,HAN Jiao
(School of Mechanical and Electronic Engineering,Shenyang Aerospce University,Shenyang 110136,China)
The essay describes the design of an automated control system for spectrum analyzer based on LAN bus.Using the graphical programming language Labview as the development platform,the system connects with computer by LAN bus to transfer data by introducing the concept of virtual instrument and programming through the VISA function library and the SCPI command.The system improves the efficiency and precision of measurement.It is easier to operate and link to other instruments for further systematical development.
LAN bus;virtual instrumental technology;Labview;spectrum analyzer
2014-09-18
聶鵬(1972-),男,吉林吉林人,教授,主要研究方向:測控技術(shù)。E-mail:niehit@163.com。
2095-1248(2014)06-0042-06
TP311
A
10.3969/j.issn.2095-1248.2014.06.008