我們在LabVIEW里面使用While或者是For循環(huán)結(jié)構(gòu)的時候,就會發(fā)現(xiàn)每一個循環(huán)中在它們的循環(huán)結(jié)構(gòu)的邊界都可以自動完成一個數(shù)組元素的索引或累積。LabVIEW中循環(huán)結(jié)構(gòu)的這種能力就叫做自動索引(Auto-indexing)。
不過有一點需要注意:LabVIEW中For循環(huán)中自動索引功能是默認啟用的,而While循環(huán)中自動索引功能是默認關(guān)閉的。
下圖中就是一個使用For循環(huán)實現(xiàn)自動索引功能的例子:
在這里我們可以看到,在For循環(huán)中,每次循環(huán)就創(chuàng)建了數(shù)組的一個元素,當(dāng)整個循環(huán)結(jié)束之后,這個由隨機數(shù)組成的數(shù)組就被傳送到Array這個指示器中了。也就是說只有在循環(huán)結(jié)束之后才能訪問到這些數(shù)組數(shù)據(jù)。在圖中可以看到從循環(huán)結(jié)構(gòu)邊界到Array指示器控件之間的連線變粗了,表示這是一個數(shù)組類型的數(shù)據(jù)。如果你只想要把一個單一的變量從For循環(huán)中傳送出來,那么你就需要在循環(huán)結(jié)構(gòu)外框上的數(shù)據(jù)傳輸通道上面點擊鼠標(biāo)右鍵,并在彈出的菜單中選擇Disable Indexing即可。如下圖所示:
不過,當(dāng)關(guān)閉自動索引之后,從循環(huán)中傳出的數(shù)值為其最后一次循環(huán)所產(chǎn)生的數(shù)值。這一點需要清楚。一般來說,自動索引會個初學(xué)者造成不小的困擾。
當(dāng)把數(shù)組連線進入循環(huán)結(jié)構(gòu)的時候也可以使用自動索引的功能。如下圖中左側(cè)的框圖所示,當(dāng)自動索引功能啟用后,循環(huán)結(jié)構(gòu)的每次循環(huán)會自動索引輸入數(shù)組的一個元素(從框圖內(nèi)外的連線也可以看出,從數(shù)組控件到循環(huán)結(jié)構(gòu)之間的連線是較粗的,而通過自動索引之后就變細了)。如果如下圖右側(cè)所示,關(guān)閉自動索引功能,數(shù)組就是一股腦的輸入到循環(huán)內(nèi)部了。