下載逐步程序的 PDF 檔
為了呈現 LabVIEW 所整合的文字架構,這裡透過 1 組方程式轉換現有熱敏電阻為攝氏溫度。

圖 1. 將熱敏電阻的電阻轉換為溫度的方程式
我們用許多數學等式建構出複雜的多項式。一旦方程式成立,卻可能在 LabVIEW 中變得更複雜;即如圖 2 顯示:

圖 2. 熱敏電阻常式所形成的 LabVIEW 函式
圖 3 範例則為傳統文字架構語言 (如 C) 所呈現的程式。看來更容易了解,且更接近實際方程式。現在就透過 Formula Node 與 MathScript Node 建立此方程式。

圖 3. 文字架構的程式碼呈現熱敏電阻常式
LabVIEW Formula Node
在開始此程序之前,應先完成 進行量測 中的習題並使用解決方案。亦可建立數字控制元,以模擬 DAQ 輸入。
注意:若並未使用 DAQ Assistant 擷取電阻資料並轉換為溫度,則可直接略過至 Step 2 並於 DAQ Assistant 中使用數字控制元。
- 設定 Voltage Input DAQ Assistant,從多功能數位電表 (DMM) 端點輸入電阻
- 對目前的 DAQ Assistant 連按滑鼠 2 次,即可編輯設定
- 對 Channel Settings 對話框中的 Voltage 通道按下滑鼠右鍵,再點選 Remove from Task
- 點選藍色的「+」號即可新增通道,再點選 Resistance
- 點選 Dev1 (NI myDAQ) » dmm
- 確認 Iex Source 已設定為 Internal
- 確認 Acquisition Mode 已設定為 1 Sample (On Demand)
- 再點選 OK 以套用設定
- 於程式圖上配置 Formula Node,將電阻轉換為攝氏溫度
- 對程式圖按下滑鼠右鍵,再點選 Mathematics » Scripts & Formulas » Formula Node
- 將下列方程式貼入至 Formula Node 視窗,再調整所需尺寸
float64 M;
M=ln(R/10000);
T=(1/(A+B*M+C*M*M+D*M*M*M))-273.15;
- 為 Formula Node 新增輸入,以用於方程式中的所有輸入變數
- 對左側邊緣按下滑鼠右鍵,再點選 Add Input
- 輸入 R0,讓方程式中的輸入與 R0 變數產生關連
- 再對 A、B、C、D 重複此步驟
- 分別對 A、B、 C、D、R0 等輸入按下滑鼠右鍵,點選 Create » Control
- A=0.0039083; B=5.775E-7; C=1.63214E-6; D=7.1922E-8; R0=1000
- 將 DAQ Assistant 的 Data 輸出,接至 Formula Node 的 R 輸入
- 新增 Temperature (C) 輸出,即可於圖表指示元上顯示結果
- 對邊緣按下滑鼠右鍵,再點選 Add Output
- 輸入 T,讓方程式中的輸出與 T 變數產生關連
- 將此輸出接至圖表指示元的輸入
- 新增 While Loop 以連續執行此 VI
- 對程式圖按下滑鼠右鍵,再點選 Programming » Structures » While Loop
- 按下滑鼠並拖曳,以涵蓋完整程式碼
- 對條件端點按下滑鼠右鍵,再點選 Create » Control
- 當按下 Stop 按鈕,或偵測到錯誤時,可建立停止條件以納入系統
- 針對 Analog Input DAQ Assistant 的 Stopped 輸出端點,應中斷 Conditional Terminal 的連線
- 對程式圖按下滑鼠右鍵,再點選 Programming » Boolean » Or
- 將 Stop 按鈕控制元的輸出,接至 Or Boolean 函式的底部輸入
- 對程式圖按下滑鼠右鍵,再點選 Programming » Cluster, Class, & Variant » Unbundle by Name,再將之配置於 Analog Input DAQ Assistant 的右側
- 將 Analog Input DAQ Assistant 的 Error Out 輸出端點,接至 Unbundle by Name 函式的輸入,並確認 Status 已選為 unbundled
- 將 Unbundle by Name 函式的輸出,接至 Or 函式的頂端輸入
- 將 Or 函式的輸出,接至 Conditional Terminal 的輸入
- 執行 VI 即可觀看結果
可參閱 Formula Node 以進一步了解,並取得 Formula Node Functions 清單。
MathScript Node
另可使用 MathScript Node 而執行既有的 .m 檔案指令碼;亦可針對訊號處理作業,於 LabVIEW 中開發 .m 檔案。
在開始此程序之前,應先完成 進行量測 中的習題並使用解決方案。亦可建立數字控制元,以模擬 DAQ 輸入。
注意:若並未使用 DAQ Assistant 擷取電阻資料並轉換為溫度,則可直接略過至 Step 2 並於 DAQ Assistant 中使用數字控制元。
- 設定 Voltage Input DAQ Assistant,從多功能數位電表 (DMM) 端點輸入電阻
- 對目前的 DAQ Assistant 連按滑鼠 2 次,即可編輯設定
- 對 Channel Settings 對話框中的 Voltage 通道按下滑鼠右鍵,再點選 Remove from Task
- 點選藍色的「+」號即可新增通道,再點選 Resistance
- 點選 Dev1 (NI myDAQ) » dmm
- 確認 Iex Source 已設定為 Internal
- 確認 Acquisition Mode 已設定為 1 Sample (On Demand)
- 再點選 OK 以套用設定
- 於程式圖上配置 MathScript Node,將電阻轉換為攝氏溫度
- 對程式圖按下滑鼠右鍵,再點選 Mathematics » Scripts & Formulas » MathScript Node
- 將下列方程式貼入至 MathScript Node 視窗,再調整所需尺寸
double M;
M=log(R/10000);
T=(1/(A+B*M*M+C*M*M+D*M*M*M));
T=T-273.15;
- 為 Formula Node 新增輸入,以用於方程式中的所有輸入變數
- 對左側邊緣按下滑鼠右鍵,再點選 Add Input
- 輸入 R,讓方程式中的輸入與 R 變數產生關連
- 將 DAQ Assistant 的 Data 輸出,接至 MathScript Node 的 R 輸入
- 再對 A、B、C、D 變數重複此步驟
- 分別對 A、B、 C、D、R0 等輸入按下滑鼠右鍵,點選 Create » Control
- A=0.0039083; B=5.775E-7; C=1.63214E-6; D=7.1922E-8; R0=1000
- 將 DAQ Assistant 的 Data 輸出,接至 MathScript Node 的 R 輸入
- 新增 Temperature (C) 輸出,即可於圖表指示元上顯示結果
- 對邊緣按下滑鼠右鍵,再點選 Add Output
- 輸入 T,讓方程式中的輸出與 T 變數產生關連
- 將此輸出接至圖表指示元的輸入
- 新增 While Loop 以連續執行此 VI
- 對程式圖按下滑鼠右鍵,再點選 Programming » Structures » While Loop
- 按下滑鼠並拖曳,以涵蓋完整程式碼
- 對條件端點按下滑鼠右鍵,再點選 Create » Control
- 當按下 Stop 按鈕,或偵測到錯誤時,可建立停止條件以納入系統
- 針對 Analog Input DAQ Assistant 的 Stopped 輸出端點,應中斷 Conditional Terminal 的連線
- 對程式圖按下滑鼠右鍵,再點選 Programming » Boolean » Or
- 將 Stop 按鈕控制元的輸出,接至 Or Boolean 函式的底部輸入
- 對程式圖按下滑鼠右鍵,再點選 Programming » Cluster, Class, & Variant » Unbundle by Name,再將之配置於 Analog Input DAQ Assistant 的右側
- 將 Analog Input DAQ Assistant 的 Error Out 輸出端點,接至 Unbundle by Name 函式的輸入,並確認 Status 已選為 unbundled
- 將 Unbundle by Name 函式的輸出,接至 Or 函式的頂端輸入
- 將 Or 函式的輸出,接至 Conditional Terminal 的輸入
- 執行 VI 即可觀看結果
進一步了解 LabVIEW MathScript RT Module。
另可對 DAQ Assistant 按下滑鼠右鍵,並點選 Generate NI-DAQmx Code,即可將 DAQ Assistant Express VI 轉換為初階 NI-DAQmx 函式。初階 NI-DAQmx API,將提供更多程式設計的功能與客制化選項。