新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > LABVIEW中的條件結(jié)構(gòu)

LABVIEW中的條件結(jié)構(gòu)

作者: 時(shí)間:2017-01-05 來(lái)源:網(wǎng)絡(luò) 收藏
選擇結(jié)構(gòu)相當(dāng)于文本語(yǔ)言中的條件語(yǔ)句。LabVIEW 8 中新增加的 Diagram Disable Structure,

Conditional Disabled Structure 類(lèi)似 C 語(yǔ)言中的條件宏定義語(yǔ)句。

本文引用地址:http://m.butianyuan.cn/article/201701/336573.htm


一. 程序框圖禁用結(jié)構(gòu)(Diagram Disable Structure)
在調(diào)試程序時(shí)常常會(huì)用到程序框圖禁用結(jié)構(gòu)。程序框圖禁用結(jié)構(gòu)中只有 Enabled 的一頁(yè)會(huì)在運(yùn)行時(shí)執(zhí)
行,而 Disabled 頁(yè)是被禁用、即不會(huì)執(zhí)行的;并且在運(yùn)行時(shí),Disable 頁(yè)面里的 SubVI 不會(huì)被調(diào)入內(nèi)存。
所以,被禁用的頁(yè)面如果有語(yǔ)法錯(cuò)誤也不會(huì)影響整個(gè)程序的運(yùn)行。這是一般選擇結(jié)構(gòu)(Case Structure)無(wú)
法做到的。
圖1、2:使用程序框圖禁構(gòu)
例如圖 1、2 中的示例,如果我們?cè)谶\(yùn)行程序的時(shí)候暫時(shí)不希望將 test 寫(xiě)入到文件里,但又覺(jué)得有可
能以后會(huì)用到。此時(shí),就可以使用程序框圖禁用結(jié)構(gòu)把不需要得程序禁用掉。需要注意的是程序框圖禁用
結(jié)構(gòu)可以有多個(gè)被禁用的框架,但必須有且只能有一個(gè)被使用的框架。在被使用的框架中,一定要實(shí)現(xiàn)正
確的邏輯,比如上圖的例子中,在被使用的框架中一定要有連線把前后的文件句柄和錯(cuò)誤處理聯(lián)接好。
二. 條件禁用結(jié)構(gòu)(Conditional Disabled Structure)
條件禁用結(jié)構(gòu)則根據(jù)用戶設(shè)定的符號(hào)(symbol)的值來(lái)決定執(zhí)行哪一頁(yè)面上的程序。其他方面與程序
框圖例如圖 1、2 中的示例,如果我們?cè)谶\(yùn)行程序的時(shí)候暫時(shí)不希望將 test 寫(xiě)入到文件里,但又覺(jué)得有可
能以后會(huì)用到。此時(shí),就可以使用程序框圖禁用結(jié)構(gòu)把不需要得程序禁用掉。需要注意的是程序框圖禁用
結(jié)構(gòu)可以有多個(gè)被禁用的框架,但必須有且只能有一個(gè)被使用的框架。在被使用的框架中,一定要實(shí)現(xiàn)正
確的邏輯,比如上圖的例子中,在被使用的框架中一定要有連線把前后的文件句柄和錯(cuò)誤處理聯(lián)接好。
二. 條件禁用結(jié)構(gòu)(Conditional Disabled Structure)
條件禁用結(jié)構(gòu)則根據(jù)用戶設(shè)定的符號(hào)(symbol)的值來(lái)決定執(zhí)行哪一頁(yè)面上的程序。其他方面與程序
框圖禁用結(jié)構(gòu)相同。
程序中所使用的符號(hào),可以在項(xiàng)目或是運(yùn)行目標(biāo)機(jī)器(例如“My Computer”)的屬性里設(shè)置。

值得注意的是:程序框圖禁用結(jié)構(gòu)與條件禁用結(jié)構(gòu)都是靜態(tài)的,如果需要在運(yùn)行時(shí)決定執(zhí)行哪一部分
的程序可以使用選擇結(jié)構(gòu)。
程序框圖禁用結(jié)構(gòu)和條件禁用結(jié)構(gòu)的一種實(shí)用案例可以參考:《其它常用調(diào)試工具和方法》
三. 選擇結(jié)構(gòu)(Case Structure)
在一般情況下,選擇結(jié)構(gòu)類(lèi)似于 C 語(yǔ)言的 switch 語(yǔ)句。當(dāng)輸入為 bool 數(shù)據(jù)類(lèi)型或 error 數(shù)據(jù)類(lèi)型
時(shí),選擇結(jié)構(gòu)類(lèi)似于 C 語(yǔ)言中的 if 語(yǔ)句。
圖4:枚舉類(lèi)型的 Case Selector


有輸出時(shí),則每一個(gè)框架中都必須連一個(gè)數(shù)據(jù),當(dāng)然也可以選擇“Use Default If Unwired”。選擇“Use
Default If Unwired”會(huì)有一定的風(fēng)險(xiǎn),因?yàn)槟憧赡軙?huì)忘記了連線,這時(shí)候 LabVIEW 并不會(huì)提醒你,程序就
可能得到不可預(yù)料的結(jié)果。
如圖5所示,鼠標(biāo)右擊數(shù)據(jù)輸出隧道,可以選擇是否使用“Use Default If Unwired”









關(guān)鍵詞: LABVIEW條件結(jié)

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉