Este artículo examina los tipos de datos de arreglo y clúster y le ofrece una introducción a la creación y manipulación de arreglos y clústeres.
Un arreglo, el cual consta de elementos y dimensiones, es un control o un indicador; no puede contener una combinación de controles e indicadores. Los elementos son los datos o valores contenidos en el arreglo. Una dimensión es la longitud, altura o profundidad de un arreglo. Los arreglos son muy útiles cuando trabaja con una colección de datos similares y cuando desea almacenar un historial de cálculos repetitivos.
Los elementos del arreglo son ordenados. Cada elemento en un arreglo tiene un valor de índice correspondiente, y puede usar el índice del arreglo para acceder a un elemento específico en esa matriz. En el software NI LabVIEW, el índice del arreglo está basado en cero. Esto significa que si un arreglo unidimensional (1D) contiene n elementos, el rango del índice es de 0 a n – 1, donde el índice 0 apunta al primer elemento en el arreglo y el índice n – 1 apunta al último elemento en el arreglo.
Los clústeres agrupan elementos de datos de diferentes tipos. Un ejemplo de un clúster es el clúster de error de LabVIEW, el cual combina un valor Booleano, un valor numérico y uno de cadena de caracteres. Un clúster es similar a un registro o a una estructura en lenguajes de programación basados en texto.
Similar a los arreglos, un clúster es un control o un indicador y no puede contener una combinación de controles e indicadores. La diferencia entre los clústeres y los arreglos es que un clúster particular tiene un tamaño fijo y un arreglo particular puede variar en tamaño. Además, un clúster puede contener tipos de datos mixtos, pero un arreglo puede contener solo un tipo de datos.
Para crear un arreglo en LabVIEW, debe colocar una estructura de arreglo en el panel frontal y luego colocar un elemento, como un control o indicador numérico, Booleano o de forma de onda, dentro de la estructura del arreglo.
Los pasos anteriores lo guían para crear de un arreglo 1D. Un arreglo en 2D almacena elementos en una cuadrícula o matriz. Cada elemento en un arreglo 2D tiene dos valores de índice correspondientes, un índice de fila y un índice de columna. Nuevamente, como con un arreglo 1D, los índices de fila y columna de un arreglo 2D están basados en cero.
Para crear un arreglo 2D, primero debe crear un arreglo 1D y luego agregarle una dimensión. Regrese al arreglo 1D que creó anteriormente.
Hasta este punto, los elementos numéricos de los arreglos que ha creado se han atenuado en ceros. Un elemento de arreglo atenuado indica que el elemento no está inicializado. Para inicializar un elemento, haga clic dentro del elemento y reemplace el 0 atenuado con un número de su elección.
Puede inicializar elementos a cualquier valor que elija. No tienen que ser los mismos valores que los que se muestran arriba.
Puede usar constantes del arreglo para almacenar datos constantes o como un punto de comparación con otros arreglos.
Si conecta un arreglo como una entrada a un ciclo For, LabVIEW brinda la opción de configurar automáticamente la terminal de conteo del ciclo For al tamaño del arreglo usando la función de auto-indexación. Puede habilitar o deshabilitar la opción de Auto-Indexing haciendo clic derecho en el túnel del ciclo conectado al arreglo y seleccionando Enable Indexing (Disable Indexing).
Si habilita auto-indexación, cada iteración del ciclo For pasa al elemento correspondiente del arreglo.
Cuando conecta un valor como la salida de un ciclo For, habilitar auto-indexación genera un arreglo. El arreglo tiene el mismo tamaño que el número de iteraciones ejecutadas por el ciclo For y contiene los valores de salida del ciclo For.
Diagrama de bloques
Panel frontal
Tenga en cuenta que si habilita auto-indexación en más de un túnel de ciclo y conecta la terminal de conteo de ciclo, el número de iteraciones es igual a la opción más pequeña. Por ejemplo, en la figura a continuación, la terminal de conteo del ciclo For está configurada para ejecutar 15 iteraciones, el Arreglo 1 contiene 10 elementos y el Arreglo 2 contiene 20 elementos. Si ejecuta el VI en la figura siguiente, el ciclo For se ejecuta 10 veces y el Resultado del Arreglo contiene 10 elementos. Prueba esto y compruébelo usted mismo.
Puede crear un arreglo 2D utilizando ciclos For anidados y auto-indexación como se muestra a continuación. El outer for loop crea los elementos en fila y el inner for loop crea los elementos en columna.
>
Ahora puede conectar los controles numéricos, de cadena y Booleanos en todo el diagrama de bloques con un cable en lugar de tres cables distintos.
Al igual que las constantes del arreglo, usted puede usar las constantes de clúster para almacenar datos constantes o como un punto de comparación con otros clústeres. Cree constantes de clúster de la misma manera en la que creó las constantes del arreglo en los pasos descritos anteriormente.
Si ya tiene un control o indicador de clúster y desea hacer una constante de clúster que contenga los mismos tipos de datos, haga una copia del control o indicador de clúster en el diagrama de bloques y luego haga clic derecho en la copia y seleccione Change to Constant en el menú de acceso directo.
Este tutorial examina cuatro funciones principales de clúster que a menudo se utilizan para manipular clústeres. Estas son las funciones Bundle, Unbundle, Bundle By Name y Unbundle By Name.
Use la función Bundle para ensamblar un clúster a partir de elementos individuales. Para conectar elementos a la función Bundle, use su mouse para cambiar el tamaño de la función o haga clic derecho en la función y seleccione Add Input en el menú de acceso directo.
Use la función Bundle By Name o Bundle para modificar un clúster existente. Puede cambiar el tamaño de la función Bundle By Name de la misma manera que la función Bundle.
La función Bundle By Name es muy útil al modificar clústeres existentes porque le permite saber exactamente qué elemento de clúster está modificando. Por ejemplo, considere un clúster que contiene dos elementos de cadena con la etiqueta “String 1” y “String 2.” Si utiliza la función Bundle para modificar el clúster, las terminales de la función aparecen en forma de abc color rosa. No sabe qué terminal modifica “String 1” y qué terminal modifica “String 2.”+
Sin embargo, si utiliza la función Bundle By Name para modificar el clúster, las terminales de función muestran la etiqueta del elemento para que sepa qué terminal modifica "String 1" y qué terminal modifica "String 2".
Use la función Unbundle para separar un clúster en sus elementos individuales. Use la función Unbundle By Name para regresar los elementos del clúster que especificó por nombre. También puede cambiar el tamaño de estas funciones para múltiples elementos de la misma manera que las funciones Bundle y Bundle By Name.
Los elementos del clúster tienen un orden lógico no relacionado con su posición en la estructura. El primer objeto que coloque en el clúster es el elemento 0, el segundo es el elemento 1, y así sucesivamente. Si elimina un elemento, el orden se ajusta automáticamente. El orden del clúster determina el orden en que los elementos aparecen como terminales en las funciones Bundle y Unbundle en el diagrama de bloques. Puede ver y modificar el orden del clúster haciendo clic derecho en el borde del clúster y seleccionando Reorder Controls In Cluster en el menú de acceso directo.
El cuadro blanco en cada elemento muestra su lugar actual en el orden del clúster. El cuadro negro muestra el nuevo lugar del elemento en el orden. Para establecer el orden de un elemento del clúster, ingrese el nuevo número de orden en el cuadro de texto Haga clic para establecer y haga clic en el elemento. El orden del clúster del elemento cambia y el orden del clúster de otros elementos se ajusta automáticamente. Guarde los cambios haciendo clic en el botón Confirm en la barra de herramientas. Vuelva al pedido original haciendo clic en el botón Cancel