新聞中心

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

Labview結(jié)構(gòu)的使用

作者: 時(shí)間:2017-01-05 來源:網(wǎng)絡(luò) 收藏

條件結(jié)構(gòu)

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

條件結(jié)構(gòu)是執(zhí)行條件語句的一種方法。這類似于文本編輯語言中常見的If…Then…Else語句。它位于程序框圖中,函數(shù)→編程→結(jié)構(gòu)→條件結(jié)構(gòu)。如圖所示:

條件結(jié)構(gòu)包含有兩個(gè)或者更多的子框圖,每一個(gè)子框圖包含一段程序代碼,由此對應(yīng)一個(gè)程序分支。多個(gè)子框圖就像一摞卡片重疊在一起,任何時(shí)候只有一個(gè)是可見的,執(zhí)行哪一個(gè)取決于于選擇端子外部接口相連的某個(gè)整數(shù),布爾數(shù),字符串或者枚舉指,用戶也可以直接輸入所有可能出現(xiàn)的值。

1. 選擇端口的輸入值

條件結(jié)構(gòu)選擇端口的輸入值是由與它相連的輸入控件對象決定的,數(shù)據(jù)類型可以是布爾量,整形,字符串型或者枚舉型。條件結(jié)構(gòu)頂部中間是各分支的選擇標(biāo)識(shí),它自動(dòng)調(diào)整為輸入的數(shù)據(jù)類型,可以在工具模板上使用標(biāo)簽工具直接鍵入單個(gè)數(shù)值或某個(gè)數(shù)據(jù)范圍。數(shù)值之間用逗號(hào)來分開,例如:“..0,2,4..10”表示選擇條件為:≤0,2,4,5,6,7,8,9,10。

對于字符型和枚舉型數(shù)值在條件標(biāo)識(shí)上會(huì)自動(dòng)加上雙引號(hào),當(dāng)鍵入的選擇器標(biāo)識(shí)值與連接選擇端口的數(shù)值類型不同時(shí),選擇器標(biāo)識(shí)變?yōu)榧t色標(biāo)識(shí)有錯(cuò)誤。如圖:

設(shè)置默認(rèn)分支的方法是,選擇一個(gè)分支結(jié)構(gòu),在快捷菜單中執(zhí)行“本分支設(shè)置為默認(rèn)分支”,它的作用是當(dāng)選擇端口的值與選擇器標(biāo)識(shí)值沒有一個(gè)匹配時(shí),就執(zhí)行默認(rèn)分支。如圖:

2.條件結(jié)構(gòu)的數(shù)據(jù)通道

條件結(jié)構(gòu)的數(shù)據(jù)通道就是數(shù)據(jù)的輸入和輸出端口。將結(jié)構(gòu)內(nèi)外的端子相連后,邊框上就會(huì)出現(xiàn)一個(gè)小矩形框,這就是數(shù)據(jù)通道,用于傳輸數(shù)據(jù)。向條件結(jié)構(gòu)的一個(gè)分支提供數(shù)據(jù)時(shí),這個(gè)數(shù)據(jù)對于所有的分支都是有效的,也就是其他分支都可以使用這個(gè)輸入數(shù)據(jù)。條件結(jié)構(gòu)的輸出通道有些不同,當(dāng)在一個(gè)分支中創(chuàng)建輸出通道后,所有分支的同一位置都會(huì)出現(xiàn)一個(gè)白色小方框,它要求每一個(gè)分支都必須為這個(gè)通道予以連接,通道變?yōu)閷?shí)心后程序才可以運(yùn)行。也可以在通道的快捷菜單中選定“未連線時(shí)使用默認(rèn)”為沒有連接的分支定義一個(gè)默認(rèn)輸出值,這時(shí)輸出通道變?yōu)榛疑?。如圖:

條件結(jié)構(gòu)應(yīng)用舉例

例一:

該例的目的是檢查一個(gè)數(shù)是不是正數(shù),如果是就計(jì)算該數(shù)的平方根值,如果不是則發(fā)出警告。

  1. 新建一個(gè)VI,在前面板上放置一個(gè)數(shù)值輸入控件和一個(gè)數(shù)字顯示控件。
  2. 在程序框圖上放置一個(gè)條件結(jié)構(gòu),調(diào)整邊框?yàn)楹线m大小。
  3. 在比較運(yùn)算子模板中選取“大于等于0?”函數(shù),如果數(shù)字大于或者等于0則返回真,否則返回假。它的輸出連接條件接口的選擇端口。
  4. 在數(shù)值數(shù)字運(yùn)算子模板中選取“平方根”函數(shù),放置在條件結(jié)構(gòu)的“真”子代碼框。
  5. 選擇一個(gè)發(fā)聲函數(shù),放到條件結(jié)構(gòu)的“假”子代碼框。它位于函數(shù)→編程→圖形與聲音→蜂鳴聲。如圖:
  6. 在條件結(jié)構(gòu)的假代碼框的輸出通道上選取創(chuàng)建常量,創(chuàng)建常數(shù)-999,表示當(dāng)數(shù)值輸入為負(fù)數(shù)時(shí)輸出-999,同時(shí)蜂鳴器發(fā)出警告。
  7. 完成連線,如圖:

運(yùn)行結(jié)果如圖:

例二:

該例的目的是首先要判斷液面的高度是否超過零界面,如果超過零界面則執(zhí)行后續(xù)操作(循環(huán)判斷液面是否超位),否則停止執(zhí)行程序。

因?yàn)長abview語言的While訓(xùn)話是先執(zhí)行,然后再判斷條件。而在實(shí)際應(yīng)用中,經(jīng)常是要求先進(jìn)行判斷條件,只有當(dāng)條件滿足時(shí)才執(zhí)行,否則不執(zhí)行??梢栽赪hile循環(huán)中加入條件結(jié)構(gòu)來實(shí)現(xiàn)此功能

  1. 新建一個(gè)VI,在前面板上放置一個(gè)數(shù)值輸入控件,模擬容器“液面高度”同時(shí)放置一個(gè)“液面報(bào)警”指示燈,當(dāng)液面超過零界面時(shí)點(diǎn)亮。
  2. 在程序框圖上放置一個(gè)While循環(huán)結(jié)構(gòu)并在它內(nèi)部放置一個(gè)條件結(jié)構(gòu),調(diào)整結(jié)構(gòu)邊框位合適的大小。
  3. 在比較運(yùn)算子模板中選取“大于0?”函數(shù),如果數(shù)字大于0返回真,否則返回假。它的輸出連接條件的選擇端口,并且連接到While循環(huán)結(jié)構(gòu)的循環(huán)條件端子,表示輸入數(shù)字量大于0則繼續(xù)循環(huán),并且執(zhí)行真分支。
  4. 在真分支代碼框中,放置“大于?”函數(shù),將“液面高度”與上限值“5”進(jìn)行比較,輸出送給“液面報(bào)警”指示燈。
  5. 完成連線,并運(yùn)行程序。程序及運(yùn)行結(jié)果如圖:

順序結(jié)構(gòu)

順序框圖位于函數(shù)→編程→結(jié)構(gòu)→平鋪式順序結(jié)構(gòu),層疊式順序結(jié)構(gòu)。

順序結(jié)構(gòu)依次執(zhí)行程序,它可以包含多個(gè)代碼子框圖,這些代碼子框圖看起來就像是多幀電影膠片一樣,所以把每個(gè)子框圖稱為幀。右擊順序結(jié)構(gòu)的框架,將彈出如圖所示的快捷菜單。


上一頁 1 2 3 下一頁

關(guān)鍵詞: Labview結(jié)

評論


技術(shù)專區(qū)

關(guān)閉