Labjack系列-數據采集卡,USB數據采集卡與 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
快速模式:運行時間 = 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對接的編程操作