VC++.環(huán)境下GPIB虛擬儀器的設(shè)計方案_第1頁
VC++.環(huán)境下GPIB虛擬儀器的設(shè)計方案_第2頁
VC++.環(huán)境下GPIB虛擬儀器的設(shè)計方案_第3頁
VC++.環(huán)境下GPIB虛擬儀器的設(shè)計方案_第4頁
VC++.環(huán)境下GPIB虛擬儀器的設(shè)計方案_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第9頁共9頁VC++6。0環(huán)境下GPIB虛擬儀器的設(shè)計摘要:介紹了基于GPIB的虛擬儀器技術(shù)進(jìn)展、特點,商量了GPIB測量系統(tǒng)的組成.闡述了VC++6.0環(huán)境下借助于ComponentWorks++和VISA實現(xiàn)虛擬儀器軟件編程的方法.其中,以一個通用電源測試臺作為實例,來展現(xiàn)虛擬儀器的開發(fā)、應(yīng)用。關(guān)鍵詞:虛擬儀器;GPIB;VC;VISATheDesignofVirtualInstrumentwithGPIBInterfaceInVisualC++6.0Abstract:Thispaperpresentsthedevelopment,thecharacteristicandthevirtualinstrumentstechnology.ThenintroducehowtouseComponentWorks++andVISAtoprogramvirtualinstrumentssoftwareinVisualC++6.0。Apracticalgeneralpurposepowersupplyteststudiobeshowthedevelopmentandapplicationofthevirtualinstruments.Keywords:VirtualInstrument;GPIB;VC;VISA黃璐璐,李志華,李訓(xùn)銘Huang,LuluLi,ZhihuaLi,Xunming河海高校電氣工程學(xué)院,江蘇南京210098中圖分類號:TP274文獻(xiàn)識別碼:1.引言計算機技術(shù)和現(xiàn)代微電子技術(shù)的進(jìn)展與普及,促進(jìn)了電子測量儀器的快速進(jìn)展.與此同時,工程上也越來越需要將測試用的電子儀器設(shè)備與計算機連接起來組成一個由計算機掌握的智能系統(tǒng),即自動測試系統(tǒng)(Auto-testSystem)。而虛擬儀器(VirtualInstrument)正是自動測試系統(tǒng)中一項重要技術(shù),這種新的測試儀器理念推動傳統(tǒng)的測量儀器朝著數(shù)字化、智能化、模塊化的方向進(jìn)展,從而自動測試系統(tǒng)才得到了長足進(jìn)展。往往自動測試系統(tǒng)中儀器設(shè)備種類繁多、獨立性強,它們與計算機還要協(xié)同工作,所用的接口的要求也就要高于一般串行、并行接口。GPIB(GeneralPurposeInterfaceBus)正是這樣的接口,它作為橋梁,把各種儀器與計算機緊密地聯(lián)系起來,其實,也正是由于GPIB的提出,才使得電子測量由獨立的、傳統(tǒng)的單臺儀器向組成自動測試系統(tǒng)的方向進(jìn)展。VC++6。0是現(xiàn)在流行的通用編程軟件,在其環(huán)境下的虛擬儀器設(shè)計,也就有著普遍的意義.2。虛擬儀器技術(shù)電子測量儀器進(jìn)展至今,大致上可以分為四代:模擬儀器、數(shù)字化儀器、智能儀器和虛擬儀器[1]、.先簡要地介紹前三代的儀器:第一代模擬儀器,基本結(jié)構(gòu)是電磁機械式的,借助指針來顯示最終結(jié)果。如模擬電壓表、模擬電流表、模擬轉(zhuǎn)速表等。這類儀器儀表常用在要求精度不高、定性指示的場合。其次代數(shù)字化儀器,主要是借助于單片機設(shè)計的專用化儀器儀表。目前相當(dāng)普及,如數(shù)字萬用表等。這類儀器將模擬信號的測量轉(zhuǎn)化為數(shù)字信號測量,并以數(shù)字方式輸出最終結(jié)果,適用于快速響應(yīng)和較高精準(zhǔn)度的測量。第三代智能儀器,這類儀器內(nèi)置微處理器,既能進(jìn)行自動測試又具有肯定的數(shù)據(jù)處理能力.如頻譜分析儀等。由于它的功能塊全部都是以硬件(或固化的軟件)的形式存在,無論是開發(fā)還是應(yīng)用,都缺乏肯定的靈敏性[2]。再來談?wù)勌摂M儀器的進(jìn)展及特點[3]、:虛擬儀器的概念,是美國國家儀器公司(Nat(yī)ionalInstrumentsCorp。,簡稱NI)在1986年提出的。與此同時提出的,還有“軟件就是儀器”(Thesoftwareistheinstrument.)的概念,這就強調(diào)軟件在虛擬已其中的關(guān)鍵地位。任何一臺儀器無非由以下三大功能塊組成:信號的采集與掌握、信號的分析與處理、結(jié)果的表達(dá)與輸出。虛擬儀器既是將這三大模塊的功能盡可能用計算機實現(xiàn)。大多數(shù)虛擬儀器是由計算機完成信號的分析和處理、結(jié)果的表達(dá)與輸出這兩個功能塊的部分或全部功能。也就是說,虛擬儀器是由計算機硬件資源、模塊化儀器硬件和用于數(shù)據(jù)分析、過程通訊及圖形用戶界面(GUI)的掌握軟件組成,在軟件掌握下,由模塊化儀器硬件進(jìn)行測量信號的數(shù)據(jù)的采集,數(shù)據(jù)采集完畢后,傳給計算機,軟件再進(jìn)行數(shù)據(jù)的分析處理,通過圖形用戶界面等方式將結(jié)果顯示給用戶。數(shù)據(jù)分析這一方面,若使用智能儀器,則可由其完成肯定程度上的分析。虛擬儀器框架結(jié)構(gòu)圖參見圖1。圖1虛擬儀器框架結(jié)構(gòu)圖3.GPIB標(biāo)準(zhǔn)GPIB是HP公司在60年月末和70年月初開發(fā)的通用儀器掌握接口總線標(biāo)準(zhǔn)。IEEE國際組織在1975年對GPIB進(jìn)行了標(biāo)準(zhǔn)化,由此GPIB變成了IEEE488.1標(biāo)準(zhǔn)。1987年,IEEE推出了IEEE488.2標(biāo)準(zhǔn)。作為最早的儀器總線,GPIB的原始目的是對測試儀器進(jìn)行計算機掌握。然而,GPIB的用途十分廣泛,現(xiàn)已應(yīng)用于計算機與計算機之間的通訊,以及對掃描儀和圖像記錄儀的掌握。隨后,主要的儀器制造商于1987年制定了VXI(VMEbuseXtensionforInstrumentation)標(biāo)準(zhǔn),其數(shù)據(jù)傳輸速度高達(dá)40MB/s,但價格相對過高,多用于尖端的測試領(lǐng)域。1997年推出PXI(PCIeXtensionforInstrumentation)標(biāo)準(zhǔn),其目的是將一般的PC機的性能價格比優(yōu)勢,與PCI總線面對儀器領(lǐng)域的必要擴展完善地結(jié)合起來,形成一種主流的虛擬儀器測試平臺。相較于VXI、PXI標(biāo)準(zhǔn),GPIB標(biāo)準(zhǔn)的數(shù)據(jù)傳輸速度一般低于500KB/s。在價格上,它掩蓋了從比較廉價的到特別昂貴的儀器,各種儀器制造商生產(chǎn)的GPIB儀器種類繁多,有很大的選擇空間。它適用于那些要求高精準(zhǔn)度,但不要求高速的工程應(yīng)用[2]、[3]。一個典型的GPIB測量系統(tǒng)由一臺PC機/工作站、一塊或多塊GPIB接口板卡和若干臺GPIB儀器通過標(biāo)準(zhǔn)GPIB電纜連接而成。在標(biāo)準(zhǔn)情況下,一塊GPIB接口板卡所連接的儀器設(shè)備不能超過14臺。為了提高總線上的數(shù)據(jù)傳輸速率,電纜總長度不超過20m,總線上任意兩臺裝置之間的電纜長度,在電纜總長度沒有超過系統(tǒng)設(shè)備總數(shù)乘以2m的情況(例如,5臺設(shè)備時,電纜總長度為10m)下,沒有格外限制(一般標(biāo)配的電纜長度有1m、2m、4m、0.5m、6m、8m等多種規(guī)格),通常這已經(jīng)足夠了。若利用GPIB擴展技術(shù),一個GPIB自動測量測試系統(tǒng)的規(guī)模無論是儀器數(shù)量還是距離都可以進(jìn)一步擴展。系統(tǒng)中每個設(shè)備(包括接口板卡),必須有一個0到30之間的GPIB地址。一般而言,GPIB接口板卡地址設(shè)置為0,各種GPIB儀器的地址設(shè)置為從1到30。GPIB由一個控者(PC機/工作站)掌握總線,在總線上傳送儀器命令和數(shù)據(jù),控者(Controller)尋址一個講者(Talker),一個或多個聽者(Listener),數(shù)據(jù)串在總線上從講者向聽者傳送。GPIB軟件包自動處理尋址和其他的總線管理功能[4]。下面通過建立一個通用電源測試臺的實例來介紹GPIB虛擬儀器測量系統(tǒng)的建立過程,電路硬件連接如圖2所示。圖2通用電源測試臺硬件連接圖該測試臺將對三十多種整流電源、線性穩(wěn)壓電源、開關(guān)電源進(jìn)行各項性能指標(biāo)的測試、分析,這些電源可以統(tǒng)稱為被測件(UnitUnderTest,簡稱UUT)。測試臺中全部GPIB設(shè)備均由美國Agilent公司和臺灣Chroma公司生產(chǎn)。GPIB接口卡只用一塊,采納的是Agilent82350型GPIB接口卡,此卡插在計算機的PCI插槽上。計算機利用此接口卡,通過GPIB總線電纜與GPIB儀器相連,在軟件的支持下就成為一臺GPIB系統(tǒng)掌握器.測試臺中三相溝通電源采納Chroma6463可編程溝通電源,單相溝通電源采納Agilent6813B溝通電源/分析儀,電子負(fù)載用了兩臺,采納的是Agilent6060B直流電子負(fù)載,示波器采納Agilent54622A數(shù)字示波器,萬用表采納Agilent34401A數(shù)字萬用表。測試臺工作過程如下:三相、單相溝通電源依據(jù)應(yīng)用程序的設(shè)定產(chǎn)生所需的溝通電壓波形,加在UUT的輸入端,同時UUT相應(yīng)的電子負(fù)載也由應(yīng)用程序進(jìn)行調(diào)節(jié),通過示波器、萬用表測量UUT輸出端電壓電流的變化,從而分析UUT的各項性能指標(biāo),包括了UUT的輸出電壓、輸出電流、輸出電壓紋波、電壓穩(wěn)定度、負(fù)載穩(wěn)定度等指標(biāo).硬件設(shè)備連接好之后,安裝運行Agilent82350接口卡附帶的AgilentIOLibraries,配置接口卡地址為0,在每臺可編程儀器設(shè)備的前面板上設(shè)置各自的地址,若再安裝編寫好的虛擬儀器測量系統(tǒng)的掌握軟件,就可以對虛擬儀器進(jìn)行遠(yuǎn)程掌握,完成相應(yīng)的測量任務(wù)了.4.VC++6。0下虛擬儀器的軟件實現(xiàn)構(gòu)造一個虛擬儀器系統(tǒng),基本硬件確定以后,就可以通過不同的軟件實現(xiàn)不同的功能。依據(jù)“軟件就是儀器”這一思想,可見軟件是虛擬儀器系統(tǒng)的關(guān)鍵所在.虛擬儀器是利用計算機技術(shù)來實現(xiàn)和擴展傳統(tǒng)儀器的功能,自然離不開計算機編程。圖形用戶界面與面對對象編程技術(shù)(OPP)的結(jié)合,很好地提高了計算機軟件編程效率。VC++6.0作為一種流行的可視化面對對象編程軟件,在其中進(jìn)行虛擬儀器的軟件編程,對于諸多熟識VC的程序員來說,是一個便利快捷的實現(xiàn)途徑。NI公司有一種軟件工具ComponentWorks++,可以加載在VC++下,這樣就使VC++成為功能強大的虛擬儀器開發(fā)平臺。加載ComponentWorks++之后的VC++6.0,為了模擬真實儀器的前面板,可以在對話框上加入形象的儀表旋鈕、開關(guān)、滑動條、圖形等.方法如下:單擊VC++6.0菜單欄的“Project”菜單,選擇“AddtoProject”子菜單中的“ComponentsandControls…”項,彈出“ComponentsandControlsGallery”對話框。在對話框中打開“RegisteredActiveXControls”文件夾,選擇所需的NI控件,有CWButtonControl,CWGraphControl,CWGraph3DControl,CWKnobControl,CWNumEditControl,CWSlideControl等。依據(jù)VC指示操作,加入這些控件。在“Controls"工具條中,可以看到新加入的NI控件,這樣,就可以象使用一般VC控件一樣,來使用新控件了。這些控件都是顧名思義的,很容易掌握,如需幫助,單擊菜單欄的“Tools”菜單,選擇“ComponentWorks++Help”子菜單,就會運行ComponentWorks++OnlineHelp。圖形用戶界面很快可以建立起來,軟件還要掌握GPIB儀器,GPIB儀器的掌握有多種方法,在3。GPIB標(biāo)準(zhǔn)中的通用電源測試臺例子采納了AgilentIOLibraries配置系統(tǒng),那同樣以AgilentIOLibraries為例,利用AgilentIOLibraries對GPIB儀器進(jìn)行掌握有以下兩種掌握程序庫:一種是利用AgilentVISA(VirtualInstrumentSoftwareArchitecture)程序庫。VISA是由組成VXIplug&play系統(tǒng)聯(lián)盟的35家最大的儀器儀表公司所統(tǒng)一采納的標(biāo)準(zhǔn).GPIB、VXI、GPIB-VXI、串行(RS-232)和LAN接口均支持VISA。采納VISA標(biāo)準(zhǔn),用戶可不必考慮時間及儀器接口,各家公司的驅(qū)動軟件也相互兼容。32位版本的VISA在Windows95、Windows98、WindowsMe、WindowsNT和Windows2000下都可以使用。VISA所供應(yīng)的單一的、統(tǒng)一的IO庫,使用戶可以用一種與接口無關(guān)的方式為各類儀器編程。大大增強了虛擬儀器的通用性。另一種是利用AgilentSICL(StandardInstrumentControlLibrary)程序庫。這是Agilent為多種接口下便攜式儀器供應(yīng)的IO庫。GPIB、GPIO、VXI、串行(RS-232)和LAN接口均支持SICL。考慮到測量系統(tǒng)的兼容性,建議使用AgilentVISA程序庫。要在VC中編譯VISA程序,可依據(jù)AgilentIOLibraries中的說明文檔中的步驟,在VC的庫文件(LibraryFiles)名目中加入VISA32.LIB,在包含文件(IncludeFiles)名目中加入指定的名目。當(dāng)然,在VISA程序中包含所需的頭文件(HeaderFiles)也是可以的。AgilentVISA供應(yīng)了眾多的功能函數(shù),其中常用的幾個重要函數(shù)有:viOpenDefaultRM,viOpen,viPrintf,viScanf,viQueryf,viClose。viOpenDefaultRM返回一個指向默認(rèn)資源管理器(DefaultResourceManager)的會話(session)。該函數(shù)初始化VISA系統(tǒng),全部的VISA函數(shù)被調(diào)用前,必須使用這條函數(shù).viOpen開頭一個與制定儀器聯(lián)系的會話.它返回的會話標(biāo)識符能被隨后使用到該儀器的函數(shù)使用,用以指示該儀器。viPrintf以肯定的字符串格式轉(zhuǎn)換、格式化、發(fā)送命令參數(shù)給制定的儀器會話。viScanf從儀器的輸出隊列讀取數(shù)據(jù),并以肯定的字符串格式所得數(shù)據(jù).viQueryf可以看成viPrintf、viScanf的組合,首先,該函數(shù)相儀器發(fā)送肯定字符串命令,隨后從儀器的輸出隊列讀取數(shù)據(jù)。viClose結(jié)束一個與制定儀器或默認(rèn)資源管理器聯(lián)系的會話。全部為該會話安排的數(shù)據(jù)結(jié)構(gòu)都被釋放。正常情況下,viPrintf,viQueryf發(fā)送給儀器的字符串都是使儀器動作或查詢儀器狀態(tài)的指令,viScanf,viQueryf所讀取的數(shù)據(jù)是查詢指令執(zhí)行的結(jié)果。這些指令都是符合SCPL(StandardCommandsforProgrammableInstruments)標(biāo)準(zhǔn)的.SCPL是為通過GPIB掌握儀器而設(shè)計的編程語言。SCPL是IEEE488.2(GPIB)標(biāo)準(zhǔn)硬件部分的頂層規(guī)范。相同的SCPI指令和參數(shù)掌握不同類別儀器的相同函數(shù)。例如,VOLTage命令既可以掌握溝通電源的電壓,也可以調(diào)節(jié)電子負(fù)載的電壓.*RST、*IDN?、*TST?等都是常用命令,分別表示初始化儀器(reset)、查詢表明儀器類型和軟件版本的標(biāo)識碼(identifies)、對儀器進(jìn)行自測試(self—test),并查詢測試結(jié)果[4]。例如,3.GPIB標(biāo)準(zhǔn)中的通用電源測試臺例子的單相溝通電源6813B的虛擬掌握面板如圖3所示.圖36813虛擬掌握面板設(shè)置其輸出電壓為220V、電壓頻率為50Hz,并讀取以確保設(shè)置是否正確的簡略程序如下:viSessionvidefaultRM,vi6813B;viOpenDefaultRM(&videfaultRM);viOpen(videfaultRM,"GPIB0::2::INSTR",VI_NULL,VI_NULL,&vi6813B);…viPrintf(vi6813B,”:OUTPOFF\n”);//關(guān)閉電源輸出viPrintf(vi6813B,":VOLT220\n");//設(shè)置電壓viPrintf(vi6813B,”:FREQ50\n”);//設(shè)置頻率viPrintf(vi6813B,":OUTPON\n");//打開電源輸出floatfValueV,fValueHz;viQueryf(vi6813B,":MEAS:VOLT:AC?\n”,”%f”,&fValueV);//回讀電壓viQueryf(vi6813B,”:MEAS:FREQ?\n","%f”,&fValueHz);//回讀頻率…viClose(vi6813B);viClose(videfaultRM);5.結(jié)束語就虛擬儀器掌握軟件的編寫,大致總結(jié)一下,可分為兩種方式:第一種是用通用編程軟件進(jìn)行編寫,本文所提到的VC++6。

溫馨提示

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

評論

0/150

提交評論