LABVIEW中的條件結構
Conditional Disabled Structure 類似 C 語言中的條件宏定義語句。
本文引用地址:http://www.104case.com/article/201701/336573.htm
一. 程序框圖禁用結構(Diagram Disable Structure)
在調試程序時常常會用到程序框圖禁用結構。程序框圖禁用結構中只有 Enabled 的一頁會在運行時執
行,而 Disabled 頁是被禁用、即不會執行的;并且在運行時,Disable 頁面里的 SubVI 不會被調入內存。
所以,被禁用的頁面如果有語法錯誤也不會影響整個程序的運行。這是一般選擇結構(Case Structure)無
法做到的。
圖1、2:使用程序框圖禁構
例如圖 1、2 中的示例,如果我們在運行程序的時候暫時不希望將 test 寫入到文件里,但又覺得有可
能以后會用到。此時,就可以使用程序框圖禁用結構把不需要得程序禁用掉。需要注意的是程序框圖禁用
結構可以有多個被禁用的框架,但必須有且只能有一個被使用的框架。在被使用的框架中,一定要實現正
確的邏輯,比如上圖的例子中,在被使用的框架中一定要有連線把前后的文件句柄和錯誤處理聯接好。
二. 條件禁用結構(Conditional Disabled Structure)
條件禁用結構則根據用戶設定的符號(symbol)的值來決定執行哪一頁面上的程序。其他方面與程序
框圖例如圖 1、2 中的示例,如果我們在運行程序的時候暫時不希望將 test 寫入到文件里,但又覺得有可
能以后會用到。此時,就可以使用程序框圖禁用結構把不需要得程序禁用掉。需要注意的是程序框圖禁用
結構可以有多個被禁用的框架,但必須有且只能有一個被使用的框架。在被使用的框架中,一定要實現正
確的邏輯,比如上圖的例子中,在被使用的框架中一定要有連線把前后的文件句柄和錯誤處理聯接好。
二. 條件禁用結構(Conditional Disabled Structure)
條件禁用結構則根據用戶設定的符號(symbol)的值來決定執行哪一頁面上的程序。其他方面與程序
框圖禁用結構相同。
程序中所使用的符號,可以在項目或是運行目標機器(例如“My Computer”)的屬性里設置。
值得注意的是:程序框圖禁用結構與條件禁用結構都是靜態的,如果需要在運行時決定執行哪一部分
的程序可以使用選擇結構。
程序框圖禁用結構和條件禁用結構的一種實用案例可以參考:《其它常用調試工具和方法》
三. 選擇結構(Case Structure)
在一般情況下,選擇結構類似于 C 語言的 switch 語句。當輸入為 bool 數據類型或 error 數據類型
時,選擇結構類似于 C 語言中的 if 語句。
圖4:枚舉類型的 Case Selector
有輸出時,則每一個框架中都必須連一個數據,當然也可以選擇“Use Default If Unwired”。選擇“Use
Default If Unwired”會有一定的風險,因為你可能會忘記了連線,這時候 LabVIEW 并不會提醒你,程序就
可能得到不可預料的結果。
如圖5所示,鼠標右擊數據輸出隧道,可以選擇是否使用“Use Default If Unwired”
評論