摘要:LabVIEW是當今最流行的虛擬儀器開發(fā)平臺,文中介紹了用LabVIEW開發(fā)基于GPIB總線的虛擬儀器的全過程及其硬件和軟件要求,并給出了一個開發(fā)實例。實例為用LabVIEW虛擬儀器開發(fā)平臺對一臺帶有GPIB接口磁測量儀進行二次開發(fā),構建自己的虛擬儀器。與臺式儀器相比,該虛擬儀器最突出的優(yōu)點是不需要其它數(shù)據(jù)采集卡便可完成磁場的實時采集測量,并將采集結果保存到文件,以供后續(xù)分析使用,從而大大擴展了原有臺式儀器的功能。
關鍵詞:LabVIEW GPIB 實進采集
前言
數(shù)據(jù)采集、儀器控制和自動化測試是實驗室研究經(jīng)常遇到的實際任務。LabVIEW的出現(xiàn)使普通的實驗室工作者也能在較短的時間內構建自己的測控系統(tǒng)。LabVIEW采用圖形化語言進行編程,拋棄了傳統(tǒng)的文本編程方式,程序開發(fā)變得簡單直觀,開發(fā)時間大大減少。
盡管現(xiàn)有的測試測量儀器能提供很高程序上的測量自動化操作,但有時仍然不能滿足實際測量的需要,因為實際的測量要求往往隨實際的測量環(huán)境和測量目的不同而發(fā)生改變,但臺式儀器的功能一般是固定不變的。例如一些臺式儀器雖然能對某些物理量進行實時測量,但它并不能將整個測試過程的數(shù)據(jù)記錄下來,儀器本身僅僅相當于一個物理量指標器。為了實現(xiàn)實時測量分析并記錄其測量結果,必需進行額外的工作。方法之一是利用儀器本身的模擬輸出接口,配一個數(shù)據(jù)采集卡對模擬輸出信號進行采集并進行相應的后續(xù)分析處理。方法之二是利用儀器本身提供的編程接口,通過編程實現(xiàn)。與第一種方法相比,第二種方法不需要額外的硬件,使得測試系統(tǒng)變得簡單、方便。
GPIB(General Purpose Interface Bus)是儀器與各種控制器(最常見的是計算機)之間的一種標準接口,許多儀器都帶有此接口。就編程語言而言,強大、靈活的儀器控制功能使LabVIEW成為開發(fā)虛擬儀器的首選編程語言,而且利用LabVIEW開發(fā)的虛擬儀器具有很好的外觀效果,其用戶界面可與實際儀器的操作面板相媲美。本文介紹了用LabVIEW開發(fā)基于GPIB接口的虛擬儀器的一般步驟,并給出了一個實際的開發(fā)實例。
GPIB總線虛擬儀器的硬件描述
GPIB接口是一種8位數(shù)字并行通訊接口,其數(shù)據(jù)傳輸速度為1Mbyte/s。GPIB設備分為聽者(Listeners)、說者(Talkers)和控制器(Controllers)。說者負責發(fā)出消息(數(shù)據(jù)或命令),聽者負責接收消息(數(shù)據(jù)或命令),控制器(通常是一臺計算機)負責管理總線上的消息,并指定通訊連接和發(fā)送GPIB命令到指定的設備。有些GPIB設備在不同的時候可以扮演不同角色,有時充當說者,有時充當聽者,有時又作為控制器。GPIB接口的優(yōu)點在于通過一個接口可以將多個GPIB設備連接在一起,同時完成多種不同物理量的測量。GPIB的基地址共有31個,為了獲得較高的數(shù)據(jù)傳輸速度,連接設備一般超過15個,對于普通的測量這已經(jīng)足夠了。開發(fā)基于GPIB總線的虛擬儀器一般需如下硬件:計算機、帶有GPIB接口的測試儀器、GPIB接口卡和GPIB連接電纜。測試儀器的類型及數(shù)量取決于實際的測試要求,儀器本身還要有與之配套的傳感器。GPIB接口卡主要用于將儀器與計算機相連,各GPIB接口之間用GPIB連接電纜連接。
GPIB總線虛擬儀器的軟件要求
用LabVIEW開發(fā)一個基于GPIB總線的虛擬儀器的軟件包括:LabVIEW開發(fā)平臺、GPIB接口卡驅動程序和儀器的LabVIEW驅動程序(不是必需的)。當然如果有儀器的LabVIEW驅動程序,創(chuàng)建虛擬儀器就更加方便了。儀器的LabVIEW驅動程序負責儀器通信和控制的具體過程,里面封裝了復雜的儀器編程細節(jié),為用戶使用儀器提供了簡單的函數(shù)接口,用戶不必對儀器硬件有專門的了解,就可以通過儀器驅動程序來使用這些儀器。圖1為基于GPIB總線的虛擬儀器結構示意圖。
圖1 基于GPIB總線的虛擬儀器結構示意圖
開發(fā)實例
在此,結合開發(fā)實例介紹了用LabVIEW開發(fā)基于GPIB總線的虛擬儀器的全過程。實例為對一臺現(xiàn)有帶有GPIB接口的磁測量儀進行二次開發(fā),并開發(fā)出一個可完成磁場的實時采集測量,并將采集結果保存到文件,以供后續(xù)分析使用的磁測量虛擬儀器。實例中的GPIB接口儀器是一臺由美國Lake Shore Cryotronics公司生產(chǎn)的磁測量儀,可測量直流和交流磁場,交流頻率范圍為10~400Hz,測量范圍取決于Hall探頭,最高可達30T。它具有一個輸入通道,兩個模擬輸出通道(一個為修正輸出,一個為直接輸出),提供兩種編程接口,GPIB接口和串行接口,其中GPIB接口的速率為每秒讀18次,串行接口的速率為每秒讀15次。該儀器能很方便的測量各種磁場,但是它不能對所測數(shù)據(jù)進行保存,而且也只具有一些最簡單的分析功能如最大值、相對值。
GPIB接口卡是美國國家儀器公司生產(chǎn)的GPIB-PCIIPIIA,該卡只支持Windows95或98,有兩種工作模式,GPIB-PCII模式和GPIB-PCIIA模式,公司推薦使用GPIB-PCII模式。另外,該卡不是即插即用設備,需要人工設置。實例中余下的硬件為一臺計算機和一條GPIB連接電纜。計算機的操作系統(tǒng)為Windows98。首先,安裝LabVIEW開發(fā)平臺和GPIB接口卡驅動程序。然后手動添加GPIB接口卡,根據(jù)操作系統(tǒng)分配的資源,結合GPIB接口卡用戶手冊進行相應的跳線設置,實例中該卡工作于GPIB-PCII模式,I/O地址為H2B8,中斷為5,DMA通道設為1。最后關閉計算機,將此GPIB卡插入計算機內的擴展槽內。至此,實例中的硬件設置及軟件安裝已經(jīng)完畢,接下來將利用LabVIEW來進行虛擬儀器編程。
在LabVIEW中為實現(xiàn)與GPIB儀器通信有兩種方式,一種是利用函數(shù)模板中Instrument I/O子模板下的GPIB相關函數(shù),另一種是利用函數(shù)模板中Instrument I/O子模板下的VISA相關函數(shù),實際上VISA相關函數(shù)不僅能與GPIB總線通信,還能與許多其他接口類型的儀器通信,如串口儀器、PXI接口儀器和TCPPIP接口儀器。本文采用VISA相關函數(shù),每一個VISA函數(shù)都有一個VISA資源名稱參數(shù),用來指明該函數(shù)對應的硬件設備。本實例中的VISA資源名稱為GPIB:12,其中GPIB用于指明指口的類型,12是磁測量儀器在GPIB總線上的地址(出廠設定值)。與磁測量儀通信的第一步是建立計算機與儀器的連接,此任務可以通過VISA的OPEN函數(shù)來實現(xiàn),接著利用VISA的WRITE函數(shù),可以根據(jù)需要向儀器發(fā)送各種命令,VISA的READ函數(shù)可以讀取儀器響應的任何數(shù)據(jù),完成所有測試任務后,借助于VISA的CLOSE函數(shù)斷開計算機與磁測量儀的通信連接。值得注意的是,多數(shù)GPIB接口儀器基于字符串格式的,即使從儀器讀回的數(shù)字也是字符串格式的數(shù)字,為了進行后續(xù)的分析處理必須將其轉化為數(shù)字類型。
LabVIEW中的函數(shù)模板中String子模板下的Srting/Numbder Conversion下提供了一個專門從字符串中掃描數(shù)字的函數(shù),利用此函數(shù)可以方便的將字符串格式的數(shù)字轉化成數(shù)字型。儀器的編程風格有兩種方式:一種是非模塊化編程,即針對特定的需要編寫特定的程序以滿足需要,此方法直接,容易實現(xiàn),但其可擴充性差,不便于后續(xù)升級和更改。另一種是模塊化編程,即將儀器的各種功能模塊化,然后根據(jù)需要選擇相應的模塊來實現(xiàn)特定的要求,該方法前期工作投入大,但其后續(xù)工作簡單,且便于升級和更改。本實例采用模塊編程風格。
根據(jù)美國NI公司提出的“軟件就是儀器”的口號,一個LabVIEW就是一臺虛擬儀器,通常一個LabVIEW程序包括三個部分:前面板、框圖和圖標。圖2為實例虛擬儀器的框圖。
圖2 實例虛擬儀器的框圖
如圖2所示,本框圖包括三個模塊,即儀器設置模塊(CONFIG模塊)、單位顯示模塊(UNITDISPLAY模塊)和數(shù)據(jù)采集測試模塊(TEST模塊)。其中設置模塊主要用來完成測試相關參數(shù)的設定,如儀器GPIB地址、單位設置、量程模式選擇(自動或手動)、量程范圍(如果量程模式為自動則不需指定量程范圍,儀器將根據(jù)外磁場自動變化到相應的量程)、磁場類型(交流或直流),如果測量的是交流磁場,可通過PeakPRMS按鈕選擇測量其峰值或平均值。單位顯示模塊主要用來指示測試結果的單位,由于磁場存在兩種單位,高斯(Gauss)和特斯拉(Tesla),而且對應不同的量程有不同的單位,如T或mT、kG或G,所以專門編寫了一個單位顯示模塊,三個單位顯示分別為當前讀數(shù)的單位及最大值和最小值的單位。數(shù)據(jù)采集測試模塊是該虛擬儀器的核心模塊,主要完成磁場的測試,根據(jù)實際測量需要任意指定磁場采樣間隔,并將磁場的測量結果實時顯示,測試完成后可將全部測試結果以文件方式保存,以便后續(xù)分析處理。另外,本模塊只提供兩個最簡單的分析功能,即測量結果的最大值和最小值。對于更復雜的數(shù)據(jù)分析處理,如譜分析,可利用LabVIEW豐富分析函數(shù)庫編寫其他的模塊加以實現(xiàn),本虛擬儀器暫不涉及。
此外,由圖2可以看出模塊化的編程,不僅使程序結構變得十分簡單,而且編程者可以不必了解儀器的底層通信協(xié)議,因為與儀器通信的底層編程已封裝在模塊內部,從而進一步簡化了虛擬儀器的開發(fā)。圖3(略)為實例虛擬器的前面板,左邊為測試結果顯示區(qū),包括當前讀數(shù)、最大值、最小值和測試曲線;右邊是參數(shù)設置區(qū),右下方的“停止P開始”開關用于停止和開始磁場的測試,“保存”按鈕用于將測試結果存盤。與臺式磁測量儀相比,此虛擬儀器最大特點在于它能進行實時采集測量,并將采集結果保存到文件,以供后續(xù)分析使用。嚴格意義上說,基于臺式儀器的虛擬儀器不僅可以實現(xiàn)臺式儀器的所有功能,而且還可以實現(xiàn)臺式儀器所不具備的功能,尤其是測試結果后續(xù)分析與處理,因為測試結果的分析處理不依賴于硬件,完全取決于實際的要求。此外,虛擬儀器還具有易升級,易更改等優(yōu)點。
結論
文中介紹了采用LabVIEW虛擬儀器開發(fā)平臺開發(fā)基于GPIB總線的虛擬儀器的硬件及軟件要求。結合磁測量虛擬儀器開發(fā)實例,介紹了開發(fā)基于GPIB總線的虛擬儀器的全過程。實驗證明該虛擬儀器能很好地完成磁場的實時采集測量,并將測試結果存盤以供后續(xù)分析使用,此功能是臺式磁測量儀所不具備的功能,從而大大擴充了臺式儀器的功能。