LabVIEW的循環(huán)結(jié)構(gòu)數(shù)據(jù)通道與自動(dòng)索引
以圖1中左側(cè)的數(shù)據(jù)通道的添加為例,在程序框圖界面中,單擊工具選板上的“進(jìn)行連線”工具后,連接顯示控件和乘法(“x”)函數(shù)控件的輸入端口后,系統(tǒng)自動(dòng)生成數(shù)據(jù)通道。
本文引用地址:http://m.butianyuan.cn/article/201701/337598.htm圖1 For循環(huán)結(jié)構(gòu)數(shù)據(jù)通道
圖2 While循環(huán)結(jié)構(gòu)數(shù)據(jù)通道
在執(zhí)行循環(huán)程序過程中,循環(huán)結(jié)構(gòu)內(nèi)的數(shù)據(jù)是獨(dú)立的,即輸入循環(huán)結(jié)構(gòu)中的數(shù)據(jù)是在進(jìn)入循環(huán)結(jié)構(gòu)之前完成的,進(jìn)入循環(huán)結(jié)構(gòu)以后不再輸入數(shù)據(jù);而循環(huán)結(jié)構(gòu)輸出數(shù)據(jù)是在循環(huán)執(zhí)行完畢以后進(jìn)行的,循環(huán)執(zhí)行過程中不輸出數(shù)據(jù)。
例如執(zhí)行圖1所示程序,輸入控件“數(shù)值”在循環(huán)結(jié)構(gòu)中保持不變,輸出數(shù)據(jù)為循環(huán)結(jié)構(gòu)結(jié)束時(shí)的i(值為9)乘以輸入控件“數(shù)值”。當(dāng)“數(shù)值”輸入為1時(shí),輸出結(jié)果“數(shù)值2”為9;當(dāng)“數(shù)值”輸入為2時(shí),輸出結(jié)果“數(shù)值2”為18,如圖3所示。
圖3 前面板結(jié)果
當(dāng)循環(huán)結(jié)構(gòu)外部和數(shù)組相連接時(shí),在數(shù)據(jù)通道可以選擇自動(dòng)索引的功能。自動(dòng)索引自動(dòng)計(jì)算數(shù)組的長度,并根據(jù)數(shù)組最外圍的長度確定循環(huán)次數(shù)。在數(shù)據(jù)通道上單擊鼠標(biāo)右鍵,選擇快捷菜單中的“啟用縈引”,即可啟用自動(dòng)索引功能,如圖4所示。
圖1的程序中,循環(huán)結(jié)構(gòu)中每次循環(huán)都產(chǎn)生一個(gè)相乘的結(jié)果,如果保留每次循環(huán)相乘的結(jié)果,并將所有結(jié)果組成數(shù)組輸出,則需要啟動(dòng)自動(dòng)索引功能。
啟動(dòng)自動(dòng)索引后,F(xiàn)or循環(huán)結(jié)構(gòu)的輸出數(shù)據(jù)通道發(fā)生變化,如圖5所示,變?yōu)閮蓚?cè)分別連接不同維數(shù)的數(shù)據(jù)。此時(shí),前面板的界面形式結(jié)果如圖6所示。
圖4 啟動(dòng)自動(dòng)索引功能
圖5 自動(dòng)索引結(jié)果
利用循環(huán)結(jié)構(gòu)的自動(dòng)索引功能可以間接設(shè)置循環(huán)次數(shù)。
例如圖7所示程序中,不設(shè)置循環(huán)次數(shù)N,啟動(dòng)自動(dòng)索引功能后程序會(huì)根據(jù)輸入數(shù)組的長度來確定循環(huán)次數(shù)。輸入長度為5的數(shù)組[12345],循環(huán)執(zhí)行的總次數(shù)為數(shù)組長度5,結(jié)果如圖8所示;輸入長度為7的數(shù)組[1234567],則循環(huán)執(zhí)行的總次數(shù)為數(shù)組長度7,結(jié)果如圖9所示。
評(píng)論