基于VC_6_0的GPIB儀器控制實(shí)現(xiàn)方法_第1頁
基于VC_6_0的GPIB儀器控制實(shí)現(xiàn)方法_第2頁
基于VC_6_0的GPIB儀器控制實(shí)現(xiàn)方法_第3頁
基于VC_6_0的GPIB儀器控制實(shí)現(xiàn)方法_第4頁
基于VC_6_0的GPIB儀器控制實(shí)現(xiàn)方法_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、2008年10月第10期電子測試EL ECTRONIC TEST Oct.2008No.10基于VC + 6.0的GPIB 儀器控制實(shí)現(xiàn)方法高世鷹,劉振吉(中國工程物理研究院電子工程研究所綿陽621900摘要:利用VC +6.0控制GPIB 儀器的程序直觀、可讀性較強(qiáng),但需通過算法對回讀的儀器波形進(jìn)行解析。LabV IEW 8.0具有自動(dòng)解析波形的功能。為了更好地利用兩種軟件的優(yōu)勢,提高編程效率,本文提出了在VC + 6.0環(huán)境下利用Agilent V ISA transition library 與LabVIEW 生成的動(dòng)態(tài)鏈接庫共同對GPIB 儀器進(jìn)行控制的方法,并舉例說明該方法在頻譜儀控

2、制中的應(yīng)用。關(guān)鍵詞:GPIB 儀器;DLL ;V ISA 庫中圖分類號:TP334文獻(xiàn)標(biāo)識碼:BMet hod of GPIB instrument s control based on VC + 6.0Gao Shiying ,Liu Zhenji(Institute of Electronic Engineering ,China Academy of Engineering Physics ,Mianyang 621900,China Abstract :Programmes of VC + 6.0controlling GPI B instruments are intuitionis

3、tic and readable ,but they need arithmetic to parse waveform read back from instrumnets.LabVIEW 8.0can automati 2cally parse waveform.A method which is about GPI B instruments control based on VC + 6.0withthe combination of Agilent VISA transition library (V TL and Dynamic Link Library (DLL built by

4、 LabVIEW ,is put forward in order to use advantage of the two softs and improve efficiency of pro 2gramming.An example of its application in spectrum analyzer is also introduced.K eyw ords :GPIB inst rument s ;DLL ;V ISA library0引言基于GPI B 的自動(dòng)測試系統(tǒng)是計(jì)算機(jī)技術(shù)和自動(dòng)測試技術(shù)相結(jié)合的產(chǎn)物,目前仍廣泛地應(yīng)用于眾多領(lǐng)域。GPI B 標(biāo)準(zhǔn)接口總線是命令級兼容的外

5、總線,主要用來連接各種儀器,組建由微機(jī)控制的自動(dòng)測試系統(tǒng)。各種儀器只要配備了這種接口,就可以按要求靈活組建自動(dòng)測試系統(tǒng)1??刂艷PI B 儀器的過程就是給儀器發(fā)送指令,然后從儀器接收數(shù)據(jù)的過程2。在VC + 6.0編程環(huán)境下,可以利用Agilent V ISA t ransition library (V TL 直接對儀器的參數(shù)設(shè)置進(jìn)行控制,程序直觀、可讀性較強(qiáng)。由于不同的儀器回傳的波形長度不同,且儀器回傳的波形數(shù)據(jù)是ASCII 碼或二進(jìn)制碼,需通過算法進(jìn)行波形數(shù)據(jù)解析,將其轉(zhuǎn)換為十進(jìn)制數(shù)組。L ABV IEW8.02008.10Test Tools &Solution作為一個(gè)圖形化編

6、程軟件,為實(shí)現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)提供便捷途徑,其儀器I/O 助手可以自動(dòng)對波形長度和波形數(shù)據(jù)進(jìn)行解析。在VC +6.0環(huán)境下將Agilent V TL 與LabV IEW 結(jié)合使用,即利用Agilent V TL 直接對儀器的參數(shù)進(jìn)行設(shè)置,利用LabV IEW 生成的動(dòng)態(tài)鏈接庫(DLL 來讀取儀器波形,這樣可以節(jié)省時(shí)間,以便將更多的精力投入到優(yōu)化測試算法、提高測試準(zhǔn)確性上。1GPIB 儀器控制的硬件平臺GPIB 儀器控制的硬件平臺由計(jì)算機(jī)、GPIB 電纜、U SB 2GPIB 控制器、GPIB 儀器組成,如圖1所示。其中,U SB 2GPIB 控制器是一個(gè)U SB 與GPIB 的接口轉(zhuǎn)換控

7、制器。使用U SB 2GPIB 控制器時(shí),不需要打開計(jì)算機(jī)主機(jī)箱,避免了計(jì)算機(jī)的內(nèi)部噪聲,且支持即插即用,使用起來較GPIB 卡方便。同時(shí),無需GPIB 電纜即可直接將U SB 2GPIB 控制器與儀器相連。 圖1GPIB 儀器控制的硬件平臺2GPIB 儀器控制的軟件平臺GPIB 儀器控制的軟件平臺為VC + 6.0,其底層將Agilent V TL 與LabV IEW 生成的DLL 相結(jié)合。軟件平臺如圖2所示。 圖2GPIB 儀器控制的軟件平臺2.1調(diào)用Agilent VT LAgilent I/O Library 中包含VISA transition li 2brary (V TL ,只要

8、安裝I/O library 就可通過VC +對儀器進(jìn)行控制。VISA 是VXIplug &play 系統(tǒng)聯(lián)盟的35家最大的儀器儀表公司所統(tǒng)一采用的標(biāo)準(zhǔn)。GPIB 、V XI 、RS232、L AN 等接口均支持V I 2SA 。使用V ISA 編寫儀器控制程序的好處在于,不需要了解底層的實(shí)際接口的類型是什么,無論對于GPIB 還是其他接口,只需要掌握V ISA I/O 這一套函數(shù)庫,程序在運(yùn)行時(shí)V ISA 就會(huì)根據(jù)實(shí)際接口類型自動(dòng)調(diào)用相應(yīng)的接口驅(qū)動(dòng)程序例程,完成與儀器間的通信操作3。利用V ISA 接口庫提供的豐富的函數(shù)指令來建立計(jì)算機(jī)與儀器之間的控制指令、測試參數(shù)的互傳,主要用到下述

9、幾個(gè)V ISA 函數(shù)425:(1viOpenDefault RM (session ,用于初始化并定位V ISA 系統(tǒng)。其中,session 表示一個(gè)V ISA 庫函數(shù)中專用的與儀器之間進(jìn)行通訊的ViSession 數(shù)據(jù)類型對象,在調(diào)用V ISA 庫時(shí),這是第一條必須使用的語句,表明V ISA 庫函數(shù)已經(jīng)啟動(dòng)。(2viOpen (3session ,rsrcName ,accessMode ,timeout ,3vi ,用于建立計(jì)算機(jī)與儀器之間聯(lián)系的會(huì)話。本函數(shù)緊跟在viOpenDefault RM (session 函數(shù)后,作為第二條命令使用,共有五個(gè)參數(shù)。3ses 2sion 表示指向第一

10、條語句中ViSession 數(shù)據(jù)類型對象的指針;rsrcName 表示要控制的儀器的參數(shù)值,包括其總線結(jié)構(gòu)樣式、地址,使V ISA 庫能定位此設(shè)備;accesssMode 表示V ISA 系統(tǒng)對儀器的訪問模式,有完全訪問、命令只發(fā)不收、只收不發(fā)等幾種方式,一般情況下,都直接取默認(rèn)值為V INULL ,表示對設(shè)備完全訪問;timeout 表示超時(shí)時(shí)間,表明當(dāng)多少時(shí)間延遲后,儀器無反應(yīng),則認(rèn)為此次命令發(fā)送失敗,單位為ms ,一般取默認(rèn)值V I_NULL ,表示不設(shè)超時(shí)控制;3vi 是一個(gè)指針,指向與被控儀器相關(guān)的ViSession 對象,訪問它可隨時(shí)獲得設(shè)備任何時(shí)刻的被程控狀態(tài),一般預(yù)先定義一個(gè)v

11、i 與當(dāng)前測試工具與解決方案2008.10設(shè)備相關(guān)的ViSession對象,寫為&vi。(3vi Printf(vi,writef rm,用于發(fā)送儀器控制指令,設(shè)置其初始參數(shù)值或指示其進(jìn)行某項(xiàng)操作,使儀器動(dòng)作或查詢儀器狀態(tài)。其中,vi表示與當(dāng)前控制設(shè)備相關(guān)的ViSes2 sion對象;writef rm,是字符串參數(shù),表示對儀器發(fā)送命令的實(shí)際內(nèi)容,是符合SCPI(Standard Com2 mands for Programmable Inst rument s,可編程儀器標(biāo)準(zhǔn)的。SCPI是為開發(fā)計(jì)算機(jī)和測試系統(tǒng)間的通用接口語言,是IEEE488.2標(biāo)準(zhǔn)硬件部分的頂層規(guī)范,是一個(gè)獨(dú)立于

12、硬件的純粹軟件標(biāo)準(zhǔn)。SCPI 語句以ASCII文本的方式存在,因此可以加入到任何計(jì)算機(jī)測試編程語言之中,也可以通過任何儀器接口被發(fā)送,如GPIB、RS2232、L AN等。(4viScanf(vi,readf rm,params,與vi Printf 函數(shù)相對,表示接收所程控儀器回送的信息,并將其儲(chǔ)存起來。其中,vi表示與當(dāng)前控制設(shè)備相關(guān)的ViSes2 sion對象;readf rm定義用于保存從儀器接收來的數(shù)據(jù)的類型,常用的有字符串型(表示為%t、整型(表示為%d等;params表示一個(gè)readf rm類型的變量,存儲(chǔ)程控儀器發(fā)送的信息。(5viClose(vi,用于結(jié)束計(jì)算機(jī)與儀器之間聯(lián)系

13、的會(huì)話,所有為該會(huì)話分配的數(shù)據(jù)結(jié)構(gòu)都被釋放。在程控過程,計(jì)算機(jī)需要不斷地通過上述幾個(gè)函數(shù),將測試的相關(guān)參數(shù)發(fā)命令賦給儀器,并接收儀器回傳的數(shù)據(jù)。要在VC+6.0中編譯V ISA 程序,需要在VC+6.0的庫文件(Library Files目錄中加入visa32.lib,在包含文件(Include Files目錄中加入指定的目錄。2.2調(diào)用LabVIEW生成的DLL動(dòng)態(tài)鏈接庫(DLL是基于Windows程序設(shè)計(jì)的一個(gè)重要組成部分,是一個(gè)位于應(yīng)用程序外部的過程庫,它可以從應(yīng)用程序中調(diào)用,在運(yùn)行時(shí)被動(dòng)態(tài)鏈接,但并沒有被綁定到EXE文件上。DLL是可共享和重入的,它的代碼執(zhí)行速度很快6。VC+調(diào)用La

14、bVIEW生成的DLL的步驟如下:(1用LabV IEW儀器I/O助手編寫讀取波形數(shù)據(jù)程序。在儀器I/O助手里,對儀器的一次訪問操作被劃分為若干個(gè)預(yù)定義的步驟,可以在這些定義好的步驟的基礎(chǔ)上進(jìn)行合理的組織,以構(gòu)建一次完整的儀器I/O會(huì)話。預(yù)定義的步驟是:Select In2 strument(選擇儀器,用于選擇要與之通信的目標(biāo)儀器和定義基本的連接參數(shù);Query and Parse(查詢和解析,用于向儀器發(fā)送查詢波形命令、讀回儀器的響應(yīng)結(jié)果,并利用Auto Parse功能自動(dòng)解析波形數(shù)據(jù)。在編寫LabV IEW程序時(shí)一定要定義Connector(連接器,即定義參數(shù)形式和接口,使LabV IEW

15、與VC+6.0能互相進(jìn)行通信。(2在LabVIEW的Build Specifications中選擇Shared Library(DLL,可對DLL的輸出路徑、函數(shù)接口等進(jìn)行設(shè)置,生成3.dll,3.h,3.lib等文件。(3在VC+中調(diào)用DLL,需要在工程中添加上述3.h,3.lib文件以及LabV IEW中的cin2 tools文件夾路徑。如果要在脫離LabV IEW的環(huán)境下調(diào)用該DLL,則需要保存cintools文件夾內(nèi)容,并且安裝與LabV IEW版本相匹配的Lab2 V IEW Run2time Engine。3在頻譜儀中的應(yīng)用728下面舉例說明上述方法在Agilent E4403B頻

16、譜儀中的應(yīng)用。將E4403B的內(nèi)部50M Hz參考信號作為頻譜儀的輸入源。在VC+中,對頻譜儀的中心頻率、跨度、參考電平、衰減等參數(shù)進(jìn)行控制,使被測波形能在頻譜儀上顯示,部分控制代碼如下: ViSession default RM,vi;viOpenDefault RM(&default RM;viOpen(default RM,“GPIB0:18:INSTR”, V I_NULL,V I_NULL,&vi;vi Printf(vi,“:CAL:SOU R:STA T ON n”;/打開內(nèi)部50M Hz參考信號vi Printf(vi,“:FREQ:CEN T50E6n”;/將

17、中心頻率設(shè)置為50M Hzvi Printf(vi,“:FREQ:SPAN80E6n”;/將跨度設(shè)置為80M Hzvi Printf(vi,“:DISP:WIND:TRAC:Y:RL EV2008.10Test Tools &Solution0n ”;/將參考電平設(shè)置為0dBm vi Printf (vi ,“:POW :A T T 10n ”;/將衰減設(shè)置為10dB viClose (vi ;viClose (default RM ;在LabV IEW I/0儀器助手中向頻譜儀發(fā)送查詢示跡(Trace 1的波形命令“:TRAC :DA TA ?TRACE1”,利用Auto Parse

18、 功能自動(dòng)解析波形數(shù)據(jù),并生成DLL 。解析波形數(shù)據(jù)如圖3所示。因頻譜儀測試窗口由401個(gè)水平像素點(diǎn)組成,所以得到的是波形長度為401的數(shù)據(jù)串。Value 窗口中給出了波形數(shù)據(jù)的預(yù)覽,它是關(guān)于幅度電平與數(shù)據(jù)點(diǎn)之間的曲線。根據(jù)開始頻率、跨度與各個(gè)數(shù)據(jù)點(diǎn)間的關(guān)系,可以將上面的波形轉(zhuǎn)化成幅度電平與頻率的關(guān)系曲線,即頻譜,其波形如圖4所示。 在VC +中的viClose 語句前添加調(diào)用DLL的語句,將LabVIEW 解析的幅度電平與頻率數(shù)據(jù)串傳遞給VC +。最終,VC +實(shí)現(xiàn)了頻譜儀參數(shù)設(shè)置及波形讀取的功能,其用戶界面如圖5所示。圖5VC +環(huán)境下的測控界面觀察圖4與圖5所示的頻譜波形,LabV IE

19、W讀取的波形數(shù)據(jù)與VC +調(diào)用的波形數(shù)據(jù)相同,說明LabV IEW 與VC +之間數(shù)據(jù)傳送正確,能夠正常通信。用戶可根據(jù)測試需要,適當(dāng)增減儀器參數(shù)設(shè)置控件。4結(jié)論在VC + 6.0環(huán)境下,將Agilent V TL 與Lab 2VIEW 生成的DLL 相結(jié)合共同對GPI B 儀器進(jìn)行控制,可以克服只調(diào)用Agilent V TL 或只調(diào)用Lab 2VIEW 生成的DLL 所存在的弊端,對于增加程序的可讀性、優(yōu)化設(shè)計(jì)、提高測試效率等有一定的益處。參考文獻(xiàn)1姬憲法,伍逸楓.基于VC +6.0的GPIB 儀器控制程序的設(shè)計(jì)J .計(jì)量與測試技術(shù),2004(7:26226.2姜煒,柯昌劍,劉德明.利用GP

20、I B 和VC 構(gòu)建光器件自動(dòng)測試系統(tǒng)J .光學(xué)與光電技術(shù),2006,4(3:43243.3侯國屏,王砷,葉齊鑫.LabV IEW7.1編程與虛擬儀器設(shè)計(jì)M .北京:清華大學(xué)出版社,2004:2632281.4劉軍.基于VC +的頻譜分析儀自動(dòng)測試系統(tǒng)開發(fā)J .計(jì)量與測試技術(shù),2004(11:22223.5黃璐璐,李志華,李訓(xùn)銘.VC +6.0環(huán)境下GPI B 虛擬儀器的設(shè)計(jì)J .微計(jì)算機(jī)信息,2004,20(11:75276.6潘偉峰,張啟明,施沖.在LabV IEW 中調(diào)用動(dòng)態(tài)連接庫實(shí)現(xiàn)與數(shù)據(jù)采集卡的數(shù)據(jù)交換J .電子技術(shù),2003(9:60262.(下轉(zhuǎn)第65頁測試工具與解決方案2008.10圖4接收程序界面4結(jié)論本文介紹的基于串口通信技術(shù)文件傳輸方案,算法易于編程實(shí)現(xiàn),為其他測試系統(tǒng)中的多機(jī)串口大文件傳輸提供了一種思想,整個(gè)傳輸方案已應(yīng)用于實(shí)際的項(xiàng)目,系統(tǒng)運(yùn)行穩(wěn)定,可靠,成功的完成了大配置文件的傳輸。參考文獻(xiàn)1陳輝,黎育紅,李利軍.串口通信技術(shù)在激光光斑測量中的應(yīng)用J.計(jì)算機(jī)與數(shù)字工程,2007,35(11:1252128.2鄭亮,蔣大明,戴勝華.多串口通信在駝峰監(jiān)測系統(tǒng)中的應(yīng)用J.交通與計(jì)算機(jī),2004,22(4:60262.3胡文濤,孫俊逸.微機(jī)串口通信系統(tǒng)的Visual C+實(shí)現(xiàn)J.武漢船舶職業(yè)技術(shù)學(xué)院學(xué)報(bào)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論