摘 要: 為了利用虛擬儀器技術實現通過USB接口的數據采集及處理,介紹了虛擬儀器及其開發環境LabVIEW的特點,分析了LabVIEW 中的數據采集技術,給出了利用虛擬儀器技術實現通過USB接口的數據采集及處理系統的應用實例。設計測試表明,將虛擬儀器與LabVIEW結合用于常規的數據采集、測試、測量等任務,可以減少系統的開發時間,同時也提高了編程效率,節省了系統成本。關鍵詞:虛擬儀器; 數據采集; LabVIEW; USB接口
中圖分類號:TN919-34; TP202 文獻標識碼:A
文章編號:1004-373X(2010)22-0175-03
Design of Multi-channel Data Acquisition and Processing System Based on Virtual Instrument
WANG Shu-fang
(College of Information Engineering, Beijing Institute of Petrochemical Technology, Beijing 102600, China)
Abstract:To achieve data acquisition and processing through USB interface by the aid of virtual instruments, the characteristics of the virtual instruments and the development environment-Labview are introduced, the Labview data acquisition technology is analyzed, and the application examples which realize the data acquisition and proceesing through USB interface by the virtual instrument technology are offered. The testing result shows that the application of virtual instrument and Labview in conventional data acquisition and data processesing can shorten system development time, improve the programming efficiency, and reduce the system cost. Keywords: virtual instrument; data acquisition; LabVIEW; USB interface
虛擬儀器技術在計算機測控領域得到了快速廣泛的推廣應用,從簡單的儀器控制、數據采集到尖端的測控和工業自動化;從大學實驗室到工業現場;從探索研究到技術集成都可以發現了虛擬儀器技術應用的很多實例。國內外相關學者對此做了很多的研究工作。
1 虛擬儀器與圖形化編程語言-LabVIEW
虛擬儀器(virtual instrument,VI)是一種基于計算機的儀器,就是在通用計算機上加上軟件和硬件,使得使用者在操作這臺計算機時,就像是在操作一臺他自己設計的專用傳統電子儀器。在虛擬儀器系統中,硬件僅僅是為了解決信號的輸入輸出,軟件才是整個儀器系統的關鍵,任何一個使用者都可以通過修改軟件的方法,很方便地增減儀器系統的功能與規模,所以有“軟件就是儀器”之說。虛擬儀器技術的出現,徹底打破了傳統儀器由廠家定義,形成用戶無法改變功能的模式,虛擬儀器技術給用戶一個充分發揮自己才能和想象力的空間。用戶(而不是廠家)可以隨心所欲地根據自己的需求,設計自己的儀器系統,滿足多種多樣的應用需求[1]。
LabVIEW是美國NI公司開發的面向計算機測控領域的虛擬儀器軟件開發平臺,它是一種功能強大的圖形編程語言,但它與傳統的文本編程語言(如C語言)不同,采用了一種基于流程圖的圖形化編程形式,因此也被稱為G語言(graphical language)。這種圖形化的編程形式,方便了非軟件專業的工程師快速編制程序[2]。
多任務并行處理一般是通過多線程技術來實現的,不同的任務實際上通過各自的線程輪流占用CPU時間片來達到“同時”處理的目的。LabVIEW也采用了多線程技術,而且與傳統文本式的編程語言相比,有兩大優點:LabVIEW把線程完全抽象出來,編程者不需對線程進行創建、撤銷及同步等操作;LabVIEW使用圖形化的數據流執行方式,因此在調試程序時,可以非常直觀地看到代碼的并行運行狀態,這使編程者很容易理解多任務的概念[3]。
虛擬儀器的硬件由儀器硬件和計算機硬件2部分組成。應用軟件由儀器驅動程序、開發環境和用戶接口3部分組成[4-5]。
2 數據采集與處理系統的功能和組成
2.1 系統功能
數據采集(data acquisition,DAQ)與處理系統的基本功能是物理信號的測量、采集與處理。要使計算機系統能夠測量物理信號,首先要使用傳感器把物理信號轉換成電壓或者電流之類的電信號。通常不能把被測信號直接連接到DAQ卡,而必須使用信號調理輔助電路,將信號進行一定的預處理。總之,數據采集與處理是借助軟件來控制整個DAQ系統的,包括采集原始數據、分析數據和輸出與存儲數據。
2.2 系統組成
設計過程中采用煉油廠高溫煙氣發電系統的工藝參數檢測作為應用對象。系統結構框圖如圖1所示。
圖1 系統結構框圖
系統的硬件包括溫度傳感器、壓力傳感器、位移傳感器等傳感器、信號調理模塊、數據采集卡和工控機。信號調理模塊選用的是美國國家儀器公司的NI SCXI-1102型溫度調理模塊和NI SCXI-1520型應變信號調理模塊,用這2個模塊完成對采集信號的預處理;數據采集卡采用的是NI USB-6008DAQ 型;工控機采用的是具有PXI插槽的一臺計算機和一臺PC機。
整個系統共設置8路模擬輸入端口,2路模擬輸出端口,12路數字輸入/輸出端口,1路事件計數端口。
(1) NI SCXI-1102的特點和功能。 NI SCXI-1102專為高精度熱電偶測量而設計。 它們具有相同的架構,該架構的每路輸入通道包括了一個儀器放大器和一個2 Hz的低通濾波器。 在此架構下,可以通過高達333 SPS(每通道3 μs)的速度來掃描SCXI-1102及其他模塊的模擬輸入通道,也可掃描冷端溫度補償傳感器及其他輸入通道。 SCXI-1102可采集mV、V、0~20 mA以及4~20 mA電流的輸入信號。 每個模塊的所有通道都可以被DAQ設備的某一路通道采集,也可另加模塊,以增加通道數。
(2) NI SCXI-1520的特點和功能。 NI SCXI-1520是8通道通用應變片輸入模塊,具有進行簡單或高級應變測量所需要的所有功能。用戶可借助這一模塊,從應變傳感器、力傳感器、扭矩傳感器和壓力傳感器上讀取信號。NI SCXI-1520包含在各類環境中均適于自動校準的板載參考電壓。它的每路通道均配有可編程放大器和4級可編程Butter worth濾波器。每條通道還具有一個獨立0~10 V可編程激勵源。此外,SCXI-1520系統在模塊內部提供了組成半橋電路的電阻網絡,并在SCXI-1314接線盒提供了1個350 Ω的插座式電阻,用以組成1/4橋。120 Ω的1/4橋電阻均隨附于接線盒。
(3) USB接口及NI USB-6008 DAQ的特點和功能。通用串行總線(universal serial bus,USB)是目前電腦上應用較廣泛的接口規范,USB接口是電腦主板上的一種四針接口,其中中間2個針傳輸數據,兩邊2個針給外設供電。USB接口速度快,連接簡單,不需要外接電源,同時對外設有良好的兼容性,最多可連接127臺外設。USB有2個規范,即USB 1.1和USB 2.0[6-7]。
USB通用串行總線是由Intel,Microsoft,Compaq,IBM,NEC,Northern Telcom等幾家大廠商發起的新型外設接口標準。USB傳輸速度12 Mb/s,最新USB 2.0可達480 Mb/s;電纜最大長度5 m,USB電纜有4條線,2條信號線,2條電源線,可提供5 V電源;USB電纜還分屏蔽和非屏蔽2種,屏蔽電纜傳輸速度可達12 Mb/s,價格較貴,非屏蔽電纜速度為1.5 Mb/s,但價格便宜;USB通過串聯方式最多可串接127個設備,支持即插即用和熱插拔[8]。
NI USB-6008具有基本的數據采集功能,其應用范圍包括簡單的數據記錄、便攜式測量和學術機構的實驗室試驗,其技術參數如表1所示。NI USB-6008可使用LabVIEW 或C 以及自帶的NI-DAQ mx Base測量服務軟件編程, 創建用戶自定義的測量系統。但這些只能完成簡單的測量和分析,若要完成復雜的工程運算或實時控制還需借助其他的軟件環境[8]。
表1 NI USB-6008 DAQ卡的技術參數表
模擬輸入輸入精度采樣率/Hz輸入范圍 /V輸入量程模擬輸出輸出精度C/TI/O
8SE /4DI12 b10 000-20~+208212 112
3 數據采集與處理系統軟件設計
NI USB-6008通過USB接口與工控機相連,構成一個數據采集與處理系統。
NI-DAQmx Base具有NI-DAQmx的部分功能,支持Windows,Linux,Mac OS X和Pocket PC操作系統。 簡潔的編程接口、可編程通道和任務生成以及與NI LabVIEW的高度集成使得應用開發極為簡單。 該驅動軟件包含立即可用的LabVIEWVI和C函數實例,這些實例與具有完整功能的NI-DAQmx軟件中的相似[9]。
數據采集與處理系統的軟件包括驅動程序和用戶應用程序,用戶應用程序是用虛擬儀器的開發環境-LabVIEW設計的。
系統軟件采用LabVIEW編程,前面板如圖2所示。
圖2 前面板
框圖程序局部如圖3所示。
圖3 系統框圖程序(局部)
4 結 語
設計測試表明,將虛擬儀器與LabVIEW 結合用于常規的數據采集與處理等任務,可以減少系統的開發時間,也可提高編程效率,節省系統成本。
參考文獻
[1]王淑芳.基于虛擬儀器的多軸步進電機控制系統[J].微計算機信息,2006,22(25):97-99.
[2]宗德才,肖鐵軍,史智青.虛擬儀器技術在光模塊自動測試系統中的應用[J],微計算機信息,2005,21(2):131-133.
[3]李戍,陳建輝.基于虛擬儀器的某型導彈發射裝置自動測試系統的研制[J].微計算機信息,2005,21(5):133-134.
[4]楊樂平,李海濤,趙勇,等.LabVIEW高級程序設計[M].北京:清華大學出版社,2003.
[5]侯國屏.LabVIEW7.1編程與虛擬儀器設計[M].北京:清華大學出版社,2005.
[6]馬偉.計算機USB系統原理及其主/從機設計[M].北京:北京航空航天大學出版社,2004.
[7]蕭世文.USB2.0硬件設計[M].北京:清華大學出版社,2002.
[8]National Instruments. USB-6008 user manual [M/OL]. [2010-02-26].http://www.digital.ni.com/public.nsf/websearch/C7E18.
[9]張曉斌,高平,鄭先成.基于虛擬儀器的遠程測試系統的設計與實現[J].計算機測量與控制,2007,15(4):449-451.
[10]韓海亮,蘇紹王景,王躍科,等.多通道心電測試儀的USB2.0計算機接口設計[J].計算機測量與控制,2007,15(4):498-500.