Túneles con auto indexación en bucles For y While en LabVIEW

Actualizado el Aug 21, 2023

Reportado en

Software

  • LabVIEW

Detalles del problema

Cuando se realiza el cableado a través del bucle For o While los túneles (del inglés tunnels) para los cables son sólidos o tienen corchetes. ¿Cuál es la diferencia entre estos túneles y cómo puedo cambiarlos?

Solución

¿Qué es la Auto-Indexación? (del inglés Auto-Indexing)
                       Auto-indexed tunnel habilitado           Auto-indexed tunnel deshabilitado
 
Cuando el túnel tiene corchetes, se habilita la indexación automática. Ésta es la configuración predeterminada cuando se conecta o se desconecta de los bucles For. Si se habilita la indexación automática en una arreglo (del inglés array) conectada a un terminal de entrada del bucle For, LabVIEW establece la terminal de conteo al tamaño de la arreglo para que no se tenga que conectar la terminal de conteo.

¿Cómo habilitar o deshabilitar la indexación automática?
Para alternar entre los túneles de indexación automática y no indexación, debe de hacer clic con el botón derecho en un túnel y seleccione Enable Indexing o Disable Indexing.  .

Auto-indexación y bucles
La indexación automática está habilitada de forma predeterminada para cada arreglo que se conecta a un bucle For porque una aplicación común de un bucle For es procesar elementos individuales del arreglo. Puede desactivar la indexación automática si no se necesita procesar los elementos de una arreglo individualmente. Cuando se desactiva la entrada de indexación automática, el bucle For maneja todos los elementos del arreglo a la vez, en lugar de manejar un elemento por iteración.

Del mismo modo, cuando se indexa automáticamente un túnel de salida del arreglo, el arreglo de salida recibe un nuevo elemento de cada iteración del bucle. Por lo tanto, los arreglos de salidas auto indexadas siempre tienen el mismo tamaño que el número de iteraciones. Si se deshabilita la indexación automática en el túnel de salida, recibirá el valor de los datos de la última iteración, no los elementos de cada iteración.

Auto-indexación y bucles While
La indexación automática está deshabilitada de forma predeterminada al cablear dentro o fuera de bucle While, por lo que el túnel de cableado será sólido. Si se habilita la indexación automática para un arreglo que ingresa a un bucle While, éste indexa el arreglo de la misma manera que lo hace un bucle For. Sin embargo, el número de iteraciones a las que se ejecuta el bucle While no está limitado por el tamaño del arreglo, ya que el bucle While itera hasta que se cumple una condición específica. Además, cuando se indexa automáticamente un túnel de salida del arreglo, el arreglo de salida recibe un nuevo elemento de cada iteración del bucle.

Información adicional

  • Si dos arreglos de diferentes longitudes se indexan automáticamente en un bucle For, entonces el arreglo de menor tamaño determina el número total de iteraciones. Ejemplo: dos arreglos numéricos de tamaños 4 y 8 se indexan automáticamente en un bucle For , el número total de iteraciones se limitará a 4.
  • Si dos arreglos de diferente longitud se indexan automáticamente en un bucle While, entonces ambos se indexarán hasta que queden sin datos y el valor predeterminado de ese tipo de datos rellenará el resto del arreglo en cada iteración subsiguiente. Un bucle While tiene una condición de parada que es independiente de los arreglos, por lo que el programa debe tener cuidado de detener el bucle While cuando sea apropiado para evitar que se agreguen datos erróneos a los arreglos de entrada y salida.