What is Auto-Indexing?
Auto-indexing is the ability for LabVIEW to read and process every element in an array when using a For Loop or While Loop
. When auto-indexing is enabled, elements of an array enter the loop and are processed one at a time.
Brackets on the input or output terminals of a loop indicate that auto-indexing is enabled. This is the default setting when you wire into/out of For Loops.Tip:
If you enable auto-indexing on an array wired to a For Loop input terminal, LabVIEW sets the count terminal to the array size so you do not need to wire the count terminal.
Auto-index enabled Auto-index disabled
Auto-Indexing and For Loops
Auto-indexing is enabled by default for every array you wire to a For Loop
ecause a common application of a For Loop is to process individual array elements. Disable auto-indexing if you do not need to process the elements of an array individually. When you disable auto-indexing input, the For Loop handles all the elements in the array at once, instead of handling an element per iteration.
Likewise, when you auto-index an array output tunnel, the output array receives a new element from every iteration of the loop. Therefore, auto-indexed output arrays are always equal in size to the number of iterations unless you select the conditional terminal mode. If you disable auto-indexing in the output tunnel, you receive the value of data from the last iteration, not the elements from every iteration.
Auto-Indexing and While Loops
Auto-Indexing is disabled by default when wiring in or out of While Loops
so the wiring tunnel will be solid. If you enable auto-indexing for an array entering a While Loop, the While Loop indexes the array the same way a For Loop does. However, the number of iterations a While Loop executes is not limited by the size of the array because the While Loop iterates until a specific condition is met. Additionally, when you auto-index an array output tunnel, the output array receives a new element from every iteration of the loop.
Enable or Disable Auto-Indexing
- Input Terminals: To switch between auto-indexing and non-indexing tunnels for an input terminal, right-click a tunnel and select Enable Indexing or Disable Indexing.
- Output Terminals:
- To enable auto-indexing, right-click the output tunnel and select Tunnel Mode>>Indexing. The end result of the output using this mode will be an array of size equal to the number of loop iterations.
- To disable auto-indexing, right-click the output tunnel and select Tunnel Mode>>Last Value. After the code is complete, this output will return only one element, the element from the last loop iteration.