在LabVIEW中使用For Loops和While Loops自動索引隧道(Auto-Indexing Tunnels)

更新 Apr 13, 2021

產品資訊

軟體

  • LabVIEW

問題敘述

  • 通過While Loops或For Loops進行接線時,接線的通道可能是實心的,或是方括號。這些隧道有什麼區別,我該如何更改?
  • 通過While Loops或For Loops進行接線時,輸入的資料型態與輸出的資料型態不同。為什麼是這樣?

解決方案

什麼是自動索引?
自動索引是LabVIEW在使用For Loops或While Loops時讀取和處理參數組中每個參數的功能。 啟用自動索引後,參數組的參數進入迴圈並一次被處理。
迴圈的輸入或輸出端子上的括號表示已啟用自動索引。 當您連接進/出For Loops時,這是預設值。
提示:如果在連接到For Loops的陣列上啟用自動索引,則LabVIEW會將計數端子(N)設置為陣列的總數大小,因此您可以不需要連接計數端子。
                          
啟用自動索引                                            禁用自動索引

 
自動索引和For Loops
預設情況下,連接到For Loops的每個參數組都會啟用自動索引,因為For Loops的常見應用是處理單個參數組的參數。如果不需要單獨處理參數,請禁用自動索引。禁用自動索引輸入後,For Loops會立即處理參數組中的所有參數,而不是每次迭代都處理一個參數。

同樣,當您自動索引參數組輸出通道時,輸出參數組將從迴圈的每次迭代中接收一個新參數。因此,除非選擇條件終端模式(conditional terminal mode),否則自動索引輸出參數組的大小始終等於迭代次數。如果在輸出通道中禁用自動索引,則將從上次迭代中接收數據值,而不是每次迭代中的參數。

自動索引和While Loops
當在While Loops中進出接線時,預設情況下將禁用自動索引,因此接線通道將是實心的。如果為進入While Loops的參數組啟用自動索引,則While Loops將使用與For Loops相同的方式對參數組進行索引。但是,While Loops執行的迭代次數不受參數組大小的限制,因為While Loops會迭代直到滿足特定條件。此外,當您自動為參數組輸出通道建立索引時,輸出參數組將從迴圈的每次迭代中接收一個新參數。

如何啟用或禁用自動索引?
輸入:要在輸入終端的自動索引隧道和非索引隧道之間切換,請右鍵點擊隧道,然後選擇“Enable Indexing”或“Disable Indexing”
輸出:要在輸出終端的自動索引和非索引隧道之間切換,請右鍵點擊該隧道並選擇。 Tunnel Mode>>Indexing (啟用自動索引)Tunnel Mode>>Last Value (禁用自動索引)

相關資訊

  • 如果將兩個不同長度的參數組自動索引到For Loops中,則較小大小的參數組將確定迭代的總數。例如:兩個大小為4和8的數字參數組自動索引到For Loops中,迭代總數將限制為4。
  • 如果將兩個不同長度的參數組自動索引到While Loops中,則它們都將被索引,直到它們用完數據為止,並且該數據類型的預設值將在每次後續迭代中填充其餘參數組。 While Loops的停止條件與參數組無關,因此程式必須注意在適當的時候停止While Loops,以避免將錯誤的數據添加到輸入和輸出參數組。