LabVIEW環(huán)境下的GPIB總線虛擬儀器開(kāi)發(fā)
數(shù)據(jù)采集、儀器控制和自動(dòng)化測(cè)試是實(shí)驗(yàn)室研究經(jīng)常遇到的實(shí)際任務(wù)。LabVIEW的出現(xiàn)使普通的實(shí)驗(yàn)室工作者也能在較短的時(shí)間內(nèi)構(gòu)建自己的測(cè)控系統(tǒng)。LabVIEW采用圖形化語(yǔ)言進(jìn)行編程,拋棄了傳統(tǒng)的文本編程方式,程序開(kāi)發(fā)變得簡(jiǎn)單直觀,開(kāi)發(fā)時(shí)間大大減少。
盡管現(xiàn)有的測(cè)試測(cè)量?jī)x器能提供很高程序上的測(cè)量自動(dòng)化操作,但有時(shí)仍然不能滿足實(shí)際測(cè)量的需要,因?yàn)閷?shí)際的測(cè)量要求往往隨實(shí)際的測(cè)量環(huán)境和測(cè)量目的不同而發(fā)生改變,但臺(tái)式儀器的功能一般是固定不變的。例如一些臺(tái)式儀器雖然能對(duì)某些物理量進(jìn)行實(shí)時(shí)測(cè)量,但它并不能將整個(gè)測(cè)試過(guò)程的數(shù)據(jù)記錄下來(lái),儀器本身僅僅相當(dāng)于一個(gè)物理量指標(biāo)器。為了實(shí)現(xiàn)實(shí)時(shí)測(cè)量分析并記錄其測(cè)量結(jié)果,必需進(jìn)行額外的工作。方法之一是利用儀器本身的模擬輸出接口,配一個(gè)數(shù)據(jù)采集卡對(duì)模擬輸出信號(hào)進(jìn)行采集并進(jìn)行相應(yīng)的后續(xù)分析處理。方法之二是利用儀器本身提供的編程接口,通過(guò)編程實(shí)現(xiàn)。與第一種方法相比,第二種方法不需要額外的硬件,使得測(cè)試系統(tǒng)變得簡(jiǎn)單、方便。
GPIB(General Purpose Interface Bus)是儀器與各種控制器(最常見(jiàn)的是計(jì)算機(jī))之間的一種標(biāo)準(zhǔn)接口,許多儀器都帶有此接口。就編程語(yǔ)言而言,強(qiáng)大、靈活的儀器控制功能使LabVIEW成為開(kāi)發(fā)虛擬儀器的首選編程語(yǔ)言,而且利用LabVIEW開(kāi)發(fā)的虛擬儀器具有很好的外觀效果,其用戶(hù)界面可與實(shí)際儀器的操作面板相媲美。本文介紹了用LabVIEW開(kāi)發(fā)基于GPIB接口的虛擬儀器的一般步驟,并給出了一個(gè)實(shí)際的開(kāi)發(fā)實(shí)例。
GPIB總線虛擬儀器的硬件描述
GPIB接口是一種8位數(shù)字并行通訊接口,其數(shù)據(jù)傳輸速度為1Mbyte/s。GPIB設(shè)備分為聽(tīng)者(Listeners)、說(shuō)者(Talkers)和控制器(Controllers)。說(shuō)者負(fù)責(zé)發(fā)出消息(數(shù)據(jù)或命令),聽(tīng)者負(fù)責(zé)接收消息(數(shù)據(jù)或命令),控制器(通常是一臺(tái)計(jì)算機(jī))負(fù)責(zé)管理總線上的消息,并指定通訊連接和發(fā)送GPIB命令到指定的設(shè)備。有些GPIB設(shè)備在不同的時(shí)候可以扮演不同角色,有時(shí)充當(dāng)說(shuō)者,有時(shí)充當(dāng)聽(tīng)者,有時(shí)又作為控制器。GPIB接口的優(yōu)點(diǎn)在于通過(guò)一個(gè)接口可以將多個(gè)GPIB設(shè)備連接在一起,同時(shí)完成多種不同物理量的測(cè)量。GPIB的基地址共有31個(gè),為了獲得較高的數(shù)據(jù)傳輸速度,連接設(shè)備一般超過(guò)15個(gè),對(duì)于普通的測(cè)量這已經(jīng)足夠了。開(kāi)發(fā)基于GPIB總線的虛擬儀器一般需如下硬件:計(jì)算機(jī)、帶有GPIB接口的測(cè)試儀器、GPIB接口卡和GPIB連接電纜。測(cè)試儀器的類(lèi)型及數(shù)量取決于實(shí)際的測(cè)試要求,儀器本身還要有與之配套的傳感器。GPIB接口卡主要用于將儀器與計(jì)算機(jī)相連,各GPIB接口之間用GPIB連接電纜連接。
GPIB總線虛擬儀器的軟件要求
用LabVIEW開(kāi)發(fā)一個(gè)基于GPIB總線的虛擬儀器的軟件包括:LabVIEW開(kāi)發(fā)平臺(tái)、GPIB接口卡驅(qū)動(dòng)程序和儀器的LabVIEW驅(qū)動(dòng)程序(不是必需的)。當(dāng)然如果有儀器的LabVIEW驅(qū)動(dòng)程序,創(chuàng)建虛擬儀器就更加方便了。儀器的LabVIEW驅(qū)動(dòng)程序負(fù)責(zé)儀器通信和控制的具體過(guò)程,里面封裝了復(fù)雜的儀器編程細(xì)節(jié),為用戶(hù)使用儀器提供了簡(jiǎn)單的函數(shù)接口,用戶(hù)不必對(duì)儀器硬件有專(zhuān)門(mén)的了解,就可以通過(guò)儀器驅(qū)動(dòng)程序來(lái)使用這些儀器。圖1為基于GPIB總線的虛擬儀器結(jié)構(gòu)示意圖。
開(kāi)發(fā)實(shí)例
在此,結(jié)合開(kāi)發(fā)實(shí)例介紹了用LabVIEW開(kāi)發(fā)基于GPIB總線的虛擬儀器的全過(guò)程。實(shí)例為對(duì)一臺(tái)現(xiàn)有帶有GPIB接口的磁測(cè)量?jī)x進(jìn)行二次開(kāi)發(fā),并開(kāi)發(fā)出一個(gè)可完成磁場(chǎng)的實(shí)時(shí)采集測(cè)量,并將采集結(jié)果保存到文件,以供后續(xù)分析使用的磁測(cè)量虛擬儀器。實(shí)例中的GPIB接口儀器是一臺(tái)由美國(guó)Lake Shore CryotroNIcs公司生產(chǎn)的磁測(cè)量?jī)x,可測(cè)量直流和交流磁場(chǎng),交流頻率范圍為10~400Hz,測(cè)量范圍取決于Hall探頭,最高可達(dá)30T。它具有一個(gè)輸入通道,兩個(gè)模擬輸出通道(一個(gè)為修正輸出,一個(gè)為直接輸出),提供兩種編程接口,GPIB接口和串行接口,其中GPIB接口的速率為每秒讀18次,串行接口的速率為每秒讀15次。該儀器能很方便的測(cè)量各種磁場(chǎng),但是它不能對(duì)所測(cè)數(shù)據(jù)進(jìn)行保存,而且也只具有一些最簡(jiǎn)單的分析功能如最大值、相對(duì)值。
GPIB接口卡是美國(guó)國(guó)家儀器公司生產(chǎn)的GPIB-PCIIPIIA,該卡只支持Windows95或98,有兩種工作模式,GPIB-PCII模式和GPIB-PCIIA模式,公司推薦使用GPIB-PCII模式。另外,該卡不是即插即用設(shè)備,需要人工設(shè)置。實(shí)例中余下的硬件為一臺(tái)計(jì)算機(jī)和一條GPIB連接電纜。計(jì)算機(jī)的操作系統(tǒng)為Windows98。首先,安裝LabVIEW開(kāi)發(fā)平臺(tái)和GPIB接口卡驅(qū)動(dòng)程序。然后手動(dòng)添加GPIB接口卡,根據(jù)操作系統(tǒng)分配的資源,結(jié)合GPIB接口卡用戶(hù)手冊(cè)進(jìn)行相應(yīng)的跳線設(shè)置,實(shí)例中該卡工作于GPIB-PCII模式,I/O地址為H2B8,中斷為5,DMA通道設(shè)為1。最后關(guān)閉計(jì)算機(jī),將此GPIB卡插入計(jì)算機(jī)內(nèi)的擴(kuò)展槽內(nèi)。至此,實(shí)例中的硬件設(shè)置及軟件安裝已經(jīng)完畢,接下來(lái)將利用LabVIEW來(lái)進(jìn)行虛擬儀器編程。
評(píng)論