LabVIEW環境下的GPIB總線虛擬儀器開發
在LabVIEW中為實現與GPIB儀器通信有兩種方式,一種是利用函數模板中Instrument I/O子模板下的GPIB相關函數,另一種是利用函數模板中Instrument I/O子模板下的VISA相關函數,實際上VISA相關函數不僅能與GPIB總線通信,還能與許多其他接口類型的儀器通信,如串口儀器、PXI接口儀器和TCPPIP接口儀器。本文采用VISA相關函數,每一個VISA函數都有一個VISA資源名稱參數,用來指明該函數對應的硬件設備。本實例中的VISA資源名稱為GPIB:12,其中GPIB用于指明指口的類型,12是磁測量儀器在GPIB總線上的地址(出廠設定值)。與磁測量儀通信的第一步是建立計算機與儀器的連接,此任務可以通過VISA的OPEN函數來實現,接著利用VISA的WRITE函數,可以根據需要向儀器發送各種命令,VISA的READ函數可以讀取儀器響應的任何數據,完成所有測試任務后,借助于VISA的CLOSE函數斷開計算機與磁測量儀的通信連接。值得注意的是,多數GPIB接口儀器基于字符串格式的,即使從儀器讀回的數字也是字符串格式的數字,為了進行后續的分析處理必須將其轉化為數字類型。
LabVIEW中的函數模板中String子模板下的Srting/Numbder Conversion下提供了一個專門從字符串中掃描數字的函數,利用此函數可以方便的將字符串格式的數字轉化成數字型。儀器的編程風格有兩種方式:一種是非模塊化編程,即針對特定的需要編寫特定的程序以滿足需要,此方法直接,容易實現,但其可擴充性差,不便于后續升級和更改。另一種是模塊化編程,即將儀器的各種功能模塊化,然后根據需要選擇相應的模塊來實現特定的要求,該方法前期工作投入大,但其后續工作簡單,且便于升級和更改。本實例采用模塊編程風格。
根據美國NI公司提出的“軟件就是儀器”的口號,一個LabVIEW就是一臺虛擬儀器,通常一個LabVIEW程序包括三個部分:前面板、框圖和圖標。圖2為實例虛擬儀器的框圖。
如圖2所示,本框圖包括三個模塊,即儀器設置模塊(CONFIG模塊)、單位顯示模塊(UNITDISPLAY模塊)和數據采集測試模塊(TEST模塊)。其中設置模塊主要用來完成測試相關參數的設定,如儀器GPIB地址、單位設置、量程模式選擇(自動或手動)、量程范圍(如果量程模式為自動則不需指定量程范圍,儀器將根據外磁場自動變化到相應的量程)、磁場類型(交流或直流),如果測量的是交流磁場,可通過PeakPRMS按鈕選擇測量其峰值或平均值。單位顯示模塊主要用來指示測試結果的單位,由于磁場存在兩種單位,高斯(Gauss)和特斯拉(Tesla),而且對應不同的量程有不同的單位,如T或mT、kG或G,所以專門編寫了一個單位顯示模塊,三個單位顯示分別為當前讀數的單位及最大值和最小值的單位。數據采集測試模塊是該虛擬儀器的核心模塊,主要完成磁場的測試,根據實際測量需要任意指定磁場采樣間隔,并將磁場的測量結果實時顯示,測試完成后可將全部測試結果以文件方式保存,以便后續分析處理。另外,本模塊只提供兩個最簡單的分析功能,即測量結果的最大值和最小值。對于更復雜的數據分析處理,如譜分析,可利用LabVIEW豐富分析函數庫編寫其他的模塊加以實現,本虛擬儀器暫不涉及。
此外,由圖2可以看出模塊化的編程,不僅使程序結構變得十分簡單,而且編程者可以不必了解儀器的底層通信協議,因為與儀器通信的底層編程已封裝在模塊內部,從而進一步簡化了虛擬儀器的開發。圖3(略)為實例虛擬器的前面板,左邊為測試結果顯示區,包括當前讀數、最大值、最小值和測試曲線;右邊是參數設置區,右下方的“停止P開始”開關用于停止和開始磁場的測試,“保存”按鈕用于將測試結果存盤。與臺式磁測量儀相比,此虛擬儀器最大特點在于它能進行實時采集測量,并將采集結果保存到文件,以供后續分析使用。嚴格意義上說,基于臺式儀器的虛擬儀器不僅可以實現臺式儀器的所有功能,而且還可以實現臺式儀器所不具備的功能,尤其是測試結果后續分析與處理,因為測試結果的分析處理不依賴于硬件,完全取決于實際的要求。此外,虛擬儀器還具有易升級,易更改等優點。
結 論
文中介紹了采用LabVIEW虛擬儀器開發平臺開發基于GPIB總線的虛擬儀器的硬件及軟件要求。結合磁測量虛擬儀器開發實例,介紹了開發基于GPIB總線的虛擬儀器的全過程。實驗證明該虛擬儀器能很好地完成磁場的實時采集測量,并將測試結果存盤以供后續分析使用,此功能是臺式磁測量儀所不具備的功能,從而大大擴充了臺式儀器的功能。
評論