最近研究Lab view的時(shí)候發(fā)現(xiàn)移位寄存器和隧道的功能非常相似但是又有區(qū)別 外部數(shù)據(jù)進(jìn)入循環(huán)體是通過隧道進(jìn)入的有幾種方式
圖1For 循環(huán)結(jié)構(gòu)上的隧道 圖 1 所示的 For 循環(huán)結(jié)構(gòu)演示了三種隧道結(jié)構(gòu)就是在 For 循環(huán)結(jié)構(gòu)左右邊框上用于數(shù)據(jù)輸入輸出的節(jié)點(diǎn)。這三種隧道從上至下分別是索引隧道、移位寄存器shift register、一般隧道。
一般隧道就是把數(shù)據(jù)傳入傳出循環(huán)結(jié)構(gòu)。數(shù)據(jù)的類型和值在傳入傳出循環(huán)結(jié)構(gòu)前后不發(fā)生變化。
索引隧道是 Lab VIEW 的一種獨(dú)特功能。一個(gè)循環(huán)外的數(shù)組通過索引隧道連接到循環(huán)結(jié)構(gòu)上隧道在循環(huán)內(nèi)一側(cè)會(huì)自動(dòng)取出數(shù)組的元素依順序每次循環(huán)取出一個(gè)元素。用索引隧道傳出數(shù)據(jù)可以自動(dòng)把循環(huán)內(nèi)的數(shù)據(jù)組織成數(shù)組。
通過移位寄存器傳入傳出數(shù)據(jù)也是數(shù)據(jù)的類型和值都不會(huì)發(fā)生變化。移位寄存器的特殊之處在于在循環(huán)結(jié)構(gòu)兩端的接線端是強(qiáng)制使用同一內(nèi)存的。因此上一次迭代執(zhí)行產(chǎn)生的某一值傳給移位寄存。
當(dāng)隧道里面有個(gè)小括弧時(shí),自動(dòng)索引就被打開了,F(xiàn)or循環(huán)中默認(rèn)連線隧道就是啟動(dòng)自動(dòng)索引的。當(dāng)你把一個(gè)數(shù)組輸入終端連線到For循環(huán)中并且開啟自動(dòng)索引功能,LabVIEW會(huì)自動(dòng)設(shè)定For循環(huán)的次數(shù)和數(shù)組長(zhǎng)度一致而無需手工設(shè)定。默認(rèn)狀態(tài)下LabVIEW在For循環(huán)中開啟自動(dòng)索引功能,程序便可以在循環(huán)中每次處理一個(gè)數(shù)組中對(duì)應(yīng)的元素。如果循環(huán)中不需要每次處理一個(gè)元素可以關(guān)閉自動(dòng)索引功能。同樣的,如果在數(shù)組輸出隧道中開啟自動(dòng)索引功能,輸出數(shù)組每次會(huì)接受到一個(gè)循環(huán)中輸出的數(shù)組元素。因此自動(dòng)索引的輸出數(shù)組的長(zhǎng)度和循環(huán)次數(shù)總是一致的。要開啟或者關(guān)閉自動(dòng)索引,右擊隧道進(jìn)行選擇。
當(dāng)數(shù)據(jù)連線到While循環(huán)中,自動(dòng)索引功能默認(rèn)被關(guān)閉,隧道標(biāo)志是實(shí)心的。如果在While循環(huán)中開啟自動(dòng)索引,和For循環(huán)一樣While循環(huán)每次索引數(shù)組中的一個(gè)元素,不同的是While循環(huán)的總次數(shù)卻和數(shù)組的長(zhǎng)度不一致,因?yàn)閃hile循環(huán)需要一個(gè)循環(huán)停止條件來控制循環(huán)。同樣的當(dāng)你把一個(gè)輸出數(shù)組進(jìn)行自動(dòng)索引時(shí),輸出數(shù)組每次接收到循環(huán)迭代中的一個(gè)對(duì)應(yīng)數(shù)組元素。
本文引用地址:http://butianyuan.cn/article/201701/336639.htm
評(píng)論