Explicación de arreglos y clústeres de LabVIEW

Información general

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.

Contenido

Crear controles e indicadores de arreglo

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.

  1. Cree un nuevo VI.
  2. Haga clic derecho en el panel frontal para mostrar la paleta de Controls.
  3. En la paleta Controls, vaya a Modern»Array, Matrix, & Cluster y arrastre la estructura del arreglo al panel frontal.

GUI - Arrastre la estructura del arreglo al panel frontal.

  1. En la paleta Controls, vaya a Modern»Numeric y arrastre y suelte un indicador numérico dentro de la estructura del arreglo.

GUI - Arrastre y suelte un indicador numérico dentro de la estructura del arreglo.

  1. Coloque su mouse sobre el arreglo y arrastre el lado derecho del arreglo para expandirlo y mostrar múltiples elementos.

GUI - Arrastre el lado derecho del arreglo para expandirlo y mostrar varios elementos.

GUI - Arrastre el lado derecho del arreglo para expandirlo y mostrar varios elementos.

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.

  1.  En el panel frontal, haga clic derecho en la pantalla de índice y seleccione Add Dimension en el menú de acceso directo.

GUI - Seleccione Add Dimension en el menú de acceso directo.

  1.  Coloque su mouse sobre el arreglo y arrastre la esquina del arreglo para expandirlo y mostrar múltiples filas y columnas.

GUI - Arrastre la esquina del arreglo para expandirlo y mostrar varias filas y columnas.

GUI - Arrastre la esquina del arreglo para expandirlo y mostrar varias filas y columnas.

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.

GUI - Para inicializar un elemento, haga clic dentro del elemento y reemplace el 0 atenuado.

Puede inicializar elementos a cualquier valor que elija. No tienen que ser los mismos valores que los que se muestran arriba.

Crear constantes del arreglo

Puede usar constantes del arreglo para almacenar datos constantes o como un punto de comparación con otros arreglos.

  1.  Haga clic derecho en el diagrama de bloques para ver la paleta Functions.
  2. En la paleta Functions, vaya a Programming»Array y arrastre la Array Constant al diagrama de bloques.

GUI - Arrastre la constante del arreglo al diagrama de bloques.

  1.  En la paleta Functions, vaya a Programming»Numeric y arrastre y suelte la Numeric Constant dentro de la estructura de la constante del arreglo.

GUI - Arrastre y suelte la constante numérica dentro de la estructura de la constante del arreglo.

  1. Cambie el tamaño de la constante del arreglo e inicialice algunos de los elementos.

Diagrama - Cambie el tamaño de la constante del arreglo e inicialice algunos de los elementos.

Entradas/salidas de arreglo

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.

  1. Cree un nuevo VI. Vaya a File»New VI.
  2. Cree e inicialice dos constantes de arreglo 1D, que contengan seis elementos numéricos, en el diagrama de bloques similar a las constantes del arreglo que se muestran a continuación.

Diagrama - Cree e inicialice dos constantes del arreglo 1D, que contienen seis elementos numéricos.

  1. Cree un arreglo 1D de indicadores numéricos en el panel frontal. Cambie el tipo numérico a un entero de 32 bits. Haga clic derecho en el arreglo y seleccione Representation»I32.

Cree un arreglo 1D de indicadores numéricos en el panel frontal.

  1. Cree un ciclo For en el diagrama de bloques y coloque una función de suma dentro del ciclo For.
  2. Conecte una de las constantes del arreglo al ciclo For y conéctela a la terminal x de la función de suma.

Diagrama - Conecte una de las constantes del arreglo en el ciclo For y conéctela a la terminal x de la función de suma.

  1.  Conecte la otra constante del arreglo al ciclo For y conéctela a la terminal y de la función de suma.

Diagrama - Conecte la otra constante del arreglo al ciclo For y conéctelo a la terminal y de la función de suma.

  1. Conecte la terminal de salida de la función de suma fuera del ciclo For y conéctelo a la terminal de entrada del arreglo de indicadores numéricos.

Conecte la terminal de salida de la función de suma fuera del ciclo For y conéctelo a la terminal de entrada del arreglo de indicadores numéricos.

  1. Su diagrama de bloques final y el panel frontal deben ser similares a los que se muestran a continuación.

  Diagrama - Diagrama de bloques final

Diagrama de bloques

GUI - Panel frontal

Panel frontal

  1. Vaya al panel frontal y ejecute el VI. Tenga en cuenta que cada elemento en el arreglo de indicadores numéricos se muestra con la suma de los elementos correspondientes en las dos constantes del arreglo.

GUI - 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.

Diagrama - Arreglo 1, Arreglo 2 y resultado del arreglo

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.

Diagrama - Arreglo 2D usando ciclos For anidados e auto-indexación

Crear clústeres

  1.  Cree un nuevo VI.
  2.  Haga clic derecho en el panel frontal para mostrar la paleta de Controls.
  3.  En la paleta Controls, vaya a Modern»Array, Matrix, & Cluster y arrastre la estructura del clúster al panel frontal.

 

GUI - Arrastre la estructura del clúster al panel frontal.

  1. Cambie el tamaño de la estructura del clúster para que sea lo suficientemente grande como para contener múltiples elementos.

 

GUI - Estructura del clúster antes del cambio de tamaño.

GUI - Cambie el tamaño de la estructura del clúster para que contenga varios elementos.>

  1.  En la paleta Controls, vaya a Modern»Numeric y arrastre y suelte un control numérico dentro de la estructura del clúster.

GUI - Arrastre y suelte un control numérico dentro de la estructura del clúster.

  1. En la paleta Controls, vaya a Modern»String & Path y arrastre y suelte un String Control dentro de la estructura del clúster.

GUI - Arrastre y suelte un control de cadena dentro de la estructura del clúster.

  1. En la paleta Controls, vaya a Modern»Boolean y arrastre y suelte un Vertical Toggle Switch dentro de la estructura del clúster.

GUI - Arrastre y suelte un interruptor de palanca vertical dentro de la estructura del clúster.

  1. Su clúster ahora debería ser similar al que se muestra a continuación.

GUI - Clúster final

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.

Crear Constantes del Clúster

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.

GUI - Cree constante de clúster.

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.

GUI - Cambio de menú a constante

Funciones de clúster

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.

GUI - Cuatro funciones principales de clúster utilizadas para manipular clústeres.

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.

Diagrama - Conecte elementos a la función Bundle usando el mouse para cambiar el tamaño de la función

Diagrama - Use la función Bundle By Name o Bundle para modificar un clúster existente.

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.

Diagrama - Función Bundle by NameDiagrama - 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.”+

Diagrama - La función Bundle By Name es muy útil al modificar clústeres existentesGUI - La función Bundle By Name es muy útil al modificar clústeres existentes

 

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".

Diagrama - Bundle por nombreGUI - Clúster de salida Bundle By Name

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.

 

Pedido de clúster

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.

GUI - Cluster.vi Front Panel

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 

Was this information helpful?

Yes

No