1. 程式人生 > >Labjack系列-數據采集卡,USB數據采集卡與 Labview對接的編程操作

Labjack系列-數據采集卡,USB數據采集卡與 Labview對接的編程操作

stat .com 放置 運行 mar 儀器 timeout 二位數組 files

LabJack數據采集卡公司,總部位於美國科羅拉多州雷克伍德,是連接到計算機和互聯網數據采集硬件和軟件的領先制造商,幫助客戶通過電腦或手機監控物理世界的變化.下面介紹如何用Labjack數據采集卡與Labview 接駁的方法,並實現采集功能。
技術分享圖片技術分享圖片

其系列采集卡如下:
技術分享圖片
Labjack應用——labjack安裝

首先,安裝labjack驅動程序。雖然Windows已包含了LabJack所需的USB底層驅動程序,但是它還需要高級驅動程序來進行數據的傳送和接收。隨機提供的安裝光盤將安裝高級驅動程序、一些應用程序和一些範例程序的源代碼。

插入安裝光盤前,關閉所有打開的應用程序,特別是與LabJack相關的軟件。安裝程序通常會開始運行。如果安裝程序沒自動運行,你可用鼠標雙擊在光盤上的LabJackVXXX.exe。

LabJack安裝結束後會安裝美國國家儀器儀表公司的LabView運行引擎(LVRTE)。所安裝的應用程序是需要該引擎才能運行的。如果有重啟的提示,請照辦。一些病毒掃描程序和LVRTE的安裝可能有沖突。如果運行應用程序出錯,重復以上安裝直到LVRTE正確為止。

安裝完驅動程序後,將C:/Program Files/labjack/drivers/labview/vi.lib/addons文件夾復制粘貼到labview所在文件夾下的vi.lib文件夾中。重新啟動labview就可以在後面板的Functions→All Functions中看到labjack的所有函數。

技術分享圖片

將labjack通過USB線與PC連接,要測試安裝正確與否,運行LJTEST程序。 開始=>程序=>LabJack=>LJtest 確定沒選擇“Test Fixture Installed”和“Continuous”,按運行(RUN)按鈕,LJtest應該一項項地測試並通過8個獨立的測試。

Labjack應用——AIBurst函數介紹

從1,2,或4個模擬通道,以指定的掃描率(可高到8192赫茲)讀取指定掃描數的電壓。首先采集的數據是放在LabJack的4096個內存緩沖器中。然後才被傳送到計算機上。 如果發光二極管被啟用,那麽它在等待出發期間會以4赫茲的頻率閃爍,在采集過程中會暗掉,在數據傳送到計算機的過程中會快速地閃爍,結束後再變暗。

該函數的執行時間取決於指令本身,可以用下面的公式來估計。實際采樣的樣本數是2的次方,從64到4096。 它大於或等於numScans*numChannels。 在下面該值被表示成 numSamplesActual。

正常模式:運行時間 = 30+(1000numSamplesActual/sampleRate)+(2.5

numSamplesActual)

快速模式:運行時間 = 30+(1000numSamplesActual/sampleRate)+(0.4numSamplesActual)

參數說明:

技術分享圖片
技術分享圖片

返回值: LabJack 的錯誤碼,無錯時為0。

輸入:

? *idnum – 設備號,系列號或-1(所能找到的第一個設備)

? demo – 正常操作時為0,大於0時為演示模式。演示模式允許用戶在沒有 LabJack的情況下調用該函數。

? *stateIOin –要輸出的IO0-IO3的狀態。如果IO是被設置成輸入口,輸出狀態位對其沒有作用。可以用其他的函數來把它們設置成輸出方向。

? updateIO – 大於0,則輸出狀態值,否則只進行讀操作。

? ledOn – 大於0時,LabJack的發光二極管被點亮。

? numChannels – 要讀取的模擬通道數(1,2, 或 4)。

? *channels – 這是一個數組的指針,該數組至少要有numChannels 個單元。 單端輸入用0-7,差動輸入用 8-11。

? *gains – 這是一個數組的指針,該數組至少要有numChannels 個單元。個單元值是響應通道的增益指令。0=〉1, 1=〉2, ?, 7=〉20。 只在差動通道采集時有效。

? scanRate – 每秒的掃描數。一個掃描意味著對所有指定通道的一次采集。 采樣頻率(等於 scanRate numChannels) 必須在 400 和 8192 之間。

? disableCal – 大於0時,返回的電壓是沒有用校正系數進行校正計算的值。(叫做原始值)。

? triggerIO – 出發信號的IO口號。(0=不用觸發,1=IO0,2=IO1)。

? triggerState – 大於0時,采集將在所選的IO口變高電平時開始。

? numScans – 指定多少個掃描將被返回。最小值為1。numSamples 最大值為4096,其中 numSamples = numScans * numChannels。

? timeout – 超時時間(單位為秒)。該函數執行時間超過規定的超時時間時,即使還沒有采到一個掃描,也會立即退出,同時返回超時錯誤碼。

? *voltages – 這是一個指向一個 4096 乘 4 數組的指針。該數組用於放置采集的電壓值。 將該數組元素置零輸出。

? transferMode – 0=自動,1=正常,2=快速。如果是自動,當 timeout >= 4 或 numScans/scanRate >=4 時,實際使用模式是正常,否則是快速。

輸出:

? *idnum – 返回設備號或-1(如果沒有找到LabJack的話)

? *scanRate – 返回實際的掃描頻率。由於時鐘的分辨率的原因,實際的掃描率不會完全和希望的掃描率相同。

? *voltages – 這是一個數組的指針,返回的numChannels個電壓值在該數組中。

? *stateIOout – 這是一個指向一個大小為4096的數組的指針。讀取的IO狀態值存在該數組中。沒有用到單元的值是9999.0。

? *overVoltage – 如果大於0, 則說明在被選擇的通道上信號超界。

Labjack應用——用Labjack采集波形

技術分享圖片
技術分享圖片

輸入部分:由numChannels、channels、gains組成簇Analog Input Commands,定義波形由A∣0輸入LABJACK,通過scanRate、numScans定義LABJACK的采樣頻率和采樣點數。

輸出部分:voltages輸出的是一個二位數組,但是其中只有一維有效,我們通過函數
技術分享圖片

將其有用部分分離出來,作為縱軸(幅值)與scanRate輸出的返回實際的掃描頻率的倒數作為橫軸(時間),通過函數
技術分享圖片

打包組成波形並顯示出來。

更多在:www.pc17.com.cn 下載 www.labjack.com 下載

請看下一篇:

Labjack系列-數據采集卡,USB數據采集卡與 Labview對接的編程操作