<source : LabVIEW Example>

一、為什麼要使用 NI MAX 模擬硬體呢?

在說明之前,我們先了解什麼是 NI MAX 。

NI MAX是National Instruments(美商_國家儀器股份有限公司)所開發的一套管理硬體的軟體,當然也包含模擬硬體。所謂的管理硬體,即為當硬體滿足標準,也就是說能被識別,那麼NI MAX就可以讓使用者知道電腦接上哪些硬體,做進一步的操作。

所以為什麼要模擬硬體呢?舉例來說,當你已採購一具儀器,但尚未收到,而你又有急迫的專案在進行,這時候 NI MAX 就可以幫大忙了。因為 NI MAX 進行硬體模擬,非常真實,即便手邊沒有儀器,也能進行一些基本的操作,不至於嚴重延宕專案的進度。


二、使用 NI MAX 模擬硬體的步驟

步驟速覽

點選Device and Interface按右鍵>> create new >> 選要模擬的卡片(裝置) >> 會出現"Dev1"別名(For程式用) >> Self-Test >> Self-Calibration(校正)

步驟1. 點選NI MAX中的Device and Interface按右鍵,點選"Create New"

系統會出現 NI 系列的所有硬體,可依照自己的需求選擇對應硬體。在本例中,我們選擇 NI PCI-6289。

此時系統會開始模擬,約幾秒鐘的時間,接著所選裝置就會出現以下畫面,按 "Finish" 即可。


步驟2以後的步驟為測試用,非必要。


步驟2. Self-Test

此步驟為檢視模擬裝置是否正常運作。


步驟3. Self-Calibrate

此步驟為模擬裝置進行校正。


步驟4. Test-Panels

此步驟為操作模擬裝置進行數據模擬。點選後 "Test Panels"後,會出現一個視窗,該視窗的功能即是顯示各種訊號的輸入與輸出。


舉例來說,如果你選擇 Analog Input (類比訊號輸入),模式選擇 "Finite (有限)",按下 "Start",可得到介於-10到10的數值(訊號),視窗會顯示類比訊號輸入的圖形。


其中 Mode 的設定分別有 3 種狀況,說明如下:

  • Finite : 有限筆數資料
  • Continuous:連續資料
  • On-Demand:想趕快進行實驗有訊號產出,暫時不想去做任何參數設定。

類比訊號,每一個通道獨立,不像數位訊號會分組。

如果模式選擇 "Continuous",視窗會一直有圖形輸出,如下圖。

打開 LabVIEW範例程式 "Voltage - Finite Output",如下圖,可再調整不同參數檢視變化狀態。


接下來以 Digital I/O 為例,原則上,每張卡片有不同頻道,基本上8個為1組。此卡片有32個數位訊號,如下圖所示。

數位訊號就是會產生數字位元 0和1的訊號,也就是True和False。所謂的Input/Output(輸入/輸出)是從"電腦觀點"出發。


最後說明 Counter I/O 的功能。Counter就是計數器,計算收到脈波數量。因此,Counter I/O的功能就是接收與發送脈波數量。Counter I/O的顯示畫面請參考下圖。Pulse Train Generation 表示輸出脈波數量。


三、關於 DAQ 的程式重點摘要

DAQmx Start Task

和DAQ裝置進行連結。 

DAQmx read

讀取DAQ資料。此程式方塊的使用關鍵在於資料量與頻道選擇。如果選擇1個頻道,則是要選Single Channel。讀多筆資料,則模式要選擇Single Channel, Multi Samples, Waveform(samples)

如需一次抓取多個通道,可參考說明以下文件的寫法。舉例來說,要取第0通道 到 第4通道,寫法為 "Dev1/ai0:Dev1/ai4"。


DAQmx Write

寫入資料。

以上方法也可用下列布林array轉換成數字的形式撰寫,但要注意到布林 array 最低位數字在最左邊


DAQmx Wait Until Done

此程式方塊功能為,若輸出的資料未達設定筆數,會停在這。直到滿足條件後,才會往後做。


Logging Settings

相當於將接受到的訊號儲存起來,也就是將收到的訊號進行紀錄,要留意硬體大小,避免數據量過大而無法繼續存入。

DAQmx Stop Task

停止擷取資料。


DAQmx Clear Task

斷開與DAQ連結。

沒先下停止,就直接下清除,程式仍可以運作。實務上有人會這麼寫。

關於DAQ的各種類型訊號擷取,LabVIEW已有完整範例程式,毋須重新撰寫。


Counter

Rising Edge(上緣觸發):脈波往上加1

Falling Edge(下緣觸發):脈波向下加1


DAQmx Is Task Done vs DAQmx Wait Until Done

DAQmx Is Task Done在迴圈中使用,搭配脈波產生器。

DAQmx Wait Until Done,毋須使用迴圈,進行類比訊號輸出和數位訊號輸出之處理。


四、資料擷取的 3 種方式

(一)、面板


(二)、DAQ MAX function組合   

就是用DAQ的各種功能方塊來撰寫所需功能。長時間使用下,建議使用這種方式。


(三)、LabVIEW中 DAQ Assistant  

需求為迅速抓訊號,不管效率。建議使用這種方法。


點選所需設定後會出下以下畫面


再將 Waveform Graph 與 DAQ Assistant接線

---

#NI_MAX #DAQ 

0 留言