LabVIEW中If語法的實現

更新 Jul 29, 2019

產品資訊

Software

  • LabVIEW Full
  • LabVIEW Base

問題敘述

我是LabVIEW新手,正在尋找類似文字式程式語言中的if , if-elseswitch語法的功能。這些語法在LabVIEW中如何表示?

解決方案

LabVIEW中的if,if-elseswitch即為Case Structure( Functions»Structures»Case Structure )。或者對於較簡單的if,可以使用“Comparison ”palette中的“Select ”(“ Functions»Comparison»Select“ )。

Case Structure預設為一個True case和一個False case。在每一個Case中,都可以進行LabVIEW程式的編寫,當輸入符合您設置的條件時,即執行該程式片段。如圖1,Case Structure有一個綠色問號的輸入端點,此端點稱為case selector terminal。您必須將一個布林值連接到此端點,以決定應執行Case Structure中的哪一個Case。圖1中的程式相當於將變數 “x”與常數5進行比較的if語法。如果變數“x”等於5,則Case Structure將執行True Case中的所有程式。如果“x”不等於5,則Case Structure將執行False Case中的內容。在圖1的這個例子中,如果“x”等於5,Front Panel 中的布林LED將接收到TRUE值,因為執行了True Case

 

圖1 - Case Structure - if語法

 

對於簡單的條件和動作,Select 元件可以達到相同的功能。Select 接受三個輸入。從上到下依序為:

  1. 比較條件成立時的輸出
  2. 輸入比較條件(True/False)
  3. 比較條件不成立時的輸出
圖2為以Select 元件來達到與圖1中使用Case Structure作為If語法相同的功能。

圖2 - Select 元件 - if語法

使用Case Structure的優點是您可以增加case並創建出if-else語法和switch語法。此外,也可以使用String, Number或Enum連接到case selector輸入中,來訪問所有可用的Case。有關Case Structures在LabVIEW 7.1或更早版本中的詳細說明,請參閱LabVIEW使用者手冊 。在LabVIEW 8.0或更高版本中,請參考LabVIEW Help中的Case Structure 主題 。Case Structure還有幾個使用範例。從LabVIEW 上方 Help 選單中找到 Find Examples,然後點選“搜索”選項,輸入“Case Structure”搜索。有許多例子可供參考。

圖3顯示了上面提到的switch語句的範例。在此範例中,使用者控制數字輸入來決定程式執行哪一個case。
圖3 - 開關語句 - 數字輸入
使用Case Structures的架構來做為Switch語法,讓使用者可以有彈性地輸入不同的資料型態並且再未來可以靈活地進行修改。除了上一個例子中的Numeric資料型態的輸入外,如圖4所示,Case Structure還可以接受一個易於修改的Enum輸入。有關增加case structure中case的做法,請參考LabVIEW Help : Adding and Duplicating Subdiagrams主題。

圖4 - Enum輸入值
同樣的,如圖五中所示,case structure 所執行的程式根據給定的輸入而異。

圖5 - Switch語法- Case Zero

本文是否有幫助?

無幫助