0% encontró este documento útil (0 votos)
108 vistas10 páginas

Tipos de Datos y Estructuras en LabVIEW

Este documento describe diferentes tipos de datos y estructuras de datos en LabVIEW, incluyendo cadenas de caracteres, datos numéricos, booleanos y dinámicos. También describe arreglos y clusters como estructuras de datos para agrupar datos relacionados, y cómo usar arreglos con ciclos mediante auto-indexación.

Cargado por

Camilo Cotrino
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
108 vistas10 páginas

Tipos de Datos y Estructuras en LabVIEW

Este documento describe diferentes tipos de datos y estructuras de datos en LabVIEW, incluyendo cadenas de caracteres, datos numéricos, booleanos y dinámicos. También describe arreglos y clusters como estructuras de datos para agrupar datos relacionados, y cómo usar arreglos con ciclos mediante auto-indexación.

Cargado por

Camilo Cotrino
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

TIPOS DE DATOS Y ESTRUCTURAS

Información General
Al igual que otros lenguajes de programación, el software NI LabVIEW tiene diferentes tipos de datos y
maneras de organizarlos. Estos datos pueden ser distinguidos por color y decoración y cada uno es usado por
razones específicas. El siguiente módulo ilustra las habilidades de varios tipos de datos y estructuras y
cuándo usar uno en lugar de otro.

Tipo de Datos Cadena de Caracteres

Una cadena es una secuencia de caracteres ASCII visibles o no visibles. Las cadenas de caracteres ofrecen
un formato independiente a la plataforma para información y datos. Algunas de las aplicaciones más comunes
de cadena de caracteres incluyen las siguientes:
-Crear mensajes de texto simples.
-Controlar instrumentos al enviar comandos de texto al instrumento y regresar valores de datos en la forma de
ASCII o cadena de caracteres binarias, las cuales después puede convertir en valores numéricos.
-Almacenar datos numéricos a disco. Para almacenar datos numéricos en un archivo ASCII, primero debe
convertir datos numéricos en cadena de caracteres antes de escribir a un archivo de disco.
-Instruir o advertir al usuario con ventanas de diálogo.
En el panel frontal, las cadenas de caracteres aparecen como tabla, cuadros de texto y etiquetas. LabVIEW
incluye VIs integrados y funciones que puede usar para manipular secuencias, incluyendo formateo de cadena
de caracteres, análisis de cadena de caracteres y otras ediciones. LabVIEW representa datos de cadena de
caracteres en color rosa.
Haga clic aquí para mayor información sobre datos de cadena de caracteres

Tipo de Dato Numérico

LabVIEW representa datos numéricos como números de punto flotante, números de punto fijo, números
enteros, números enteros sin signo y números complejos. Precisión doble o simple, así como datos numéricos
complejos son representados con el color naranja en LabVIEW. Todos los datos numéricos enteros son
representados con el color azul.
Nota: La diferencia entre los tipos de datos numéricos es el número de bits que usan para almacenar datos y
los valores de datos que representan.
Ciertos tipos de datos también ofrecen opciones de configuración extendida. Por ejemplo, puede asociar
unidades físicas de medida con datos de punto flotante, incluyendo números complejos y usted puede
configurar la codificación y rango para datos de punto fijo.
Haga clic aquí para mayor información sobre datos numéricos
Haga clic aquí para ver una tabla de tipos de datos numéricos

Tipo de Dato Booleano

LabVIEW almacena datos Booleanos como valores de 8 bits. Un Booleano puede ser usado en LabVIEW para
representar un 0 o 1 o un TRUE o FALSE. Si el valor de 18 bits es cero, el valor Booleano es FALSE.
Cualquier valor no igual a cero representa TRUE. Las aplicaciones comunes para datos Booleanos incluyen
representar datos digitales y servir como un control de panel frontal que actúa como un conmutador que tiene
una acción mecánica generalmente usada para controlar una estructura de ejecución como una estructura de
Caso. Un control Booleano generalmente es usado como la declaración condicional para terminar un Ciclo
While. En LabVIEW el color verde representa datos Booleanos.
Haga clic aquí para mayor información sobre control Booleano de acciones mecánicas

Tipo de Dato Dinámico

La mayoría de los Express VIs aceptan y/o regresan tipos de datos dinámicos, los cuales aparecen como una
terminal de color azul obscuro.
Al usar los Convert to Dynamic Data y Convert from Dynamic Data VIs, usted puede convertir datos
Booleanos o numéricos de punto flotante de los siguientes tipos de datos:
-Arreglo 1D de forma de onda
-Arreglo 1D de escalares
-Arreglo 1D de escalares – valor más reciente
-Arreglo 1D de escalares – un solo canal
-Arreglo 2D de escalares – columnas son canales
-Arreglo 2D de escalares – filas son canales
-Un solo escalar
-Una sola forma de onda
Cablear el tipo de datos dinámicos a un indicador que puede presentar mejor los datos. Los indicadores
incluyen una gráfica, tabla o numérico o indicador Booleano. Sin embargo, ya que los datos dinámicos
experimentan una conversión automática para igualar al indicador al cual están cableados, los Express VIs
pueden bajar la velocidad de ejecución del diagrama de bloques.
El tipo de datos dinámico es para uso con Express VIs. La mayoría de los VIs y funciones que se venden con
LabVIEW no aceptan este tipo de datos. Para usar una función o VI integrada para analizar o procesar los
datos que incluye el tipo de datos dinámico, debe convertir el tipo de datos dinámico.
Haga clic aquí para mayor información sobre datos dinámicos

Estructuras de Datos en LabVIEW


Algunas veces es benéfico agrupar datos relacionados entre sí. Use arreglos y clusters para agrupar datos
relacionados en LabVIEW. Los arreglos combinan el mismo tipo de datos en una estructura de datos y los
clusters combinan datos de múltiples tipos de datos en una estructura de datos.
Arreglos
Un arreglo consiste de elementos y dimensiones. Los elementos son los datos que componen el arreglo. Una
dimensión es la longitud, altura o profundidad de un arreglo. Un arreglo puede tener una o más dimensiones y
tantos como (231) – 1 elemento por dimensión, si la memoria lo permite.
Puede construir arreglos de tipos de datos numéricos, Booleano, paths, cadena de caracteres, forma de onda
y cluster. Considere usar arreglos cuando trabaje con una colección de datos similares y cuando realice
cálculos repetitivos. Los arreglos son ideales para almacenar datos que colecta desde formas de onda o datos
generados en ciclos, donde cada iteración de un ciclo produce un elemento del arreglo.

Nota: Los índices de arreglo en LabVIEW están basados en cero. El índice del primer elemento en el arreglo,
sin importar su dimensión, es cero.
Los elementos del arreglo son ordenados. Un arreglo utiliza un índice, así usted puede tener acceso
fácilmente a cualquier elemento en particular. El índice está basado en cero, lo cual significa que está en el
rango de 0 a n – 1, donde n es el número de los elementos en el arreglo. Por ejemplo, n = 12 para los doce
meses del año, así el índice va de 0 a 11. Marzo es el tercer mes, así que tiene un índice de 2.

La Figura 1 muestra un ejemplo de un arreglo de numéricos. El primer elemento que se muestra en el arreglo
(3.00) está en el índice 1 y el segundo elemento (1.00) está en el índice 2. El elemento en el índice 0 no se
muestra en esta imagen, porque el elemento 1 está seleccionado en la imagen del índice. El elemento
seleccionado en la imagen del índice siempre se refiere al elemento que se muestra en la parte superior
izquierda de la imagen del elemento.
Figura 1. Imagen del Índice de Arreglo, Arreglo del Control Numérico

Crear Controles e Indicadores tipo Arreglo


Cree un control o indicador tipo arreglo en el panel frontal al añadir una estructura de arreglo al panel frontal,
como se muestra en la Figura 2 y arrastrar un objeto de datos o elemento, como un control numérico o de
cadena de caracteres, a la estructura del arreglo.

Figura 2. Colocar un Control Numérico en una Estructura de Arreglo


Si intenta arrastrar un control inválido o indicador en la estructura del arreglo, no podrá colocar el control o
indicador en la estructura del arreglo.

Debe insertar un objeto en la estructura del arreglo antes de usar el arreglo en el diagrama de bloques. De lo
contrario, la terminal del arreglo aparece en negro con un paréntesis vacío y no tiene tipo de datos asociado.
Arreglo en 2D
Los ejemplos anteriores usan arreglos en 1D. Un arreglo en 2D almacena elementos en una cuadrícula.
Requiere un índice de columna y un índice de fila para ubicar un elemento, ambos basados en cero. La Figura
3 muestra un arreglo en 2D de 8 columnas por 8 filas, el cual contiene 8 × 8 = 64 elementos.

Figura 3. Arreglo en 2D

Para añadir un arreglo multidimensional al panel frontal, haga clic con botón derecho en la imagen del índice y
seleccione Add Dimension desde el menú de acceso directo. También puede cambiar el tamaño de la
imagen índice del arreglo hasta que obtenga la cantidad de dimensiones que desea.
Iniciar Arreglos
Puede iniciar un arreglo o dejarlo sin inicializar. Cuando un arreglo es iniciado, usted define el número de
elementos en cada dimensión y el contenido de cada elemento. Un arreglo sin inicializar contiene un número
fijo de dimensiones pero no elementos. Note que todos los elementos están atenuados. Esto indica que el
arreglo no está configurado.

Figura 4. Arreglo en 2D sin Configurar


En la Figura 5, seis elementos son iniciados. En un arreglo en 2D, después de que inició un elemento en una
fila, los elementos restantes en esa fila son iniciados y aparecen con el valor predeterminado para el tipo de
datos. Por ejemplo, en la Figura 5, si proporciona 4 en el elemento en la primera columna, tercera fila, los
elementos en la segunda y tercera columna en la tercera fila aparecen automáticamente con un 0.

Figura 5. Un Arreglo en 2D Iniciado con Seis Elementos


Crear Constantes tipo Arreglo
Para crear una constante del arreglo en el diagrama de bloques, seleccione una Array Constant en la paleta
Funciones, coloque la estructura del arreglo en el diagrama de bloques y coloque una constante de cadena de
caracteres, constante numérica, constante Booleano o constante cluster en la estructura del arreglo. Puede
usar una constante de arreglo para almacenar datos constantes o como un punto de comparación con otros
arreglos.

Usar Arreglos con Ciclos


Entradas de Arreglo Auto-indexing
Si cablea un arreglo a o desde un Ciclo For o Ciclo While, puede enlazar cada iteración del ciclo a un
elemento en ese arreglo al habilitar auto-indexing La imagen de túnel cambia de ser un cuadrado sólido a la
imagen para indicar auto-indexing. Haga clic con botón derecho en el túnel y seleccione Enable
Indexing o Disable Indexing desde el menú de acceso directo para modificar el estado del túnel.
Entradas de Arreglo
Si habilita auto-indexing en un arreglo cableado a una terminal de entrada de Ciclo For, LabVIEW establece la
terminal de conteo al tamaño del arreglo para que no tenga que cablear la terminal de conteo. Ya que puede
usar Ciclos For para procesar los arreglos de un elemento al mismo tiempo, LabVIEW habilita auto-indexing
de forma predeterminada para cada arreglo que cablee a un Ciclo For. Puede deshabilitar auto-indexing si no
necesita procesar arreglos de un elemento a la vez.

En la Figura 6, el Ciclo For se ejecuta un número de veces igual al número de elementos en el arreglo.
Normalmente, si la terminalLoop Count del Ciclo For no está cableada, el botón de ejecución esta roto. Sin
embargo, en este caso el botón Run Arrow no aparece roto.
Figura 6. Arreglo Usado para Establecer Conteo de Ciclo For
Si habilita auto-indexing para más de un túnel o si cablea la terminal de conteo, el número actual de
iteraciones se ejecuta la opción menor. Por ejemplo, si dos arreglos de auto-indexing entran en el ciclo, con 10
o 20 elementos respectivamente y cablea un valor de 15 a la terminal de conteo, el ciclo solamente se ejecuta
10 veces, incluyendo todos los elementos del primer arreglo pero solamente los primeros 10 del segundo
arreglo.
Salidas de Arreglo
Cuando aplica auto-indexing a un túnel de salida de arreglo, el arreglo de salida recibe un nuevo elemento
desde cada iteración del ciclo. Por lo tanto, los arreglos de salida de auto-indexing son siempre iguales en
tamaño al número de iteraciones. El cable desde el túnel de salida al indicador del arreglo se vuelve más
grueso conforme cambia a un arreglo en el borde del ciclo y el túnel de salida contiene paréntesis cuadrados
representando un arreglo.

Figura 7. Salida de Auto-Indexing


Haga clic con botón derecho en el túnel en el borde del ciclo y seleccione Enable Indexing o Disable
Indexing desde el menú de acceso directo para activar o desactivar auto-indexing. Auto-indexing para los
Ciclos While están deshabilitados de forma predeterminada. Por ejemplo, deshabilite auto-indexing si
solamente necesita el último valor que pasó por el túnel.
Crear Arreglos en 2D
Puede usar dos Ciclos For, anidados uno dentro del otro, para crear un arreglo en 2D. El Ciclo For externo
crea los elementos en fila y el Ciclo For interno crea los elementos en columna.
Figura 8. Crear un Arreglo en 2D

Clusters
Los clusters agrupan elementos de datos de diferentes tipos. Un ejemplo de un cluster es el cluster de error
de LabVIEW, el cual combina un valor Booleano, un valor numérico y uno de cadena de caracteres. Un cluster
es similar a un registro o a una estructura en lenguajes de programación basados en texto.

Construir varios elementos de datos en clusters elimina el desorden de cables en el diagrama de bloques y
reduce el número de terminales del panel conector que los subVIs necesitan. El panel conector tiene, a lo
más, 28 terminales. Si su panel frontal contiene más de 28 controles e indicadores que quiera pasar a otro VI,
agrupe algunos de ellos en un cluster y asigne el cluster a una terminal en el panel conector.

La mayoría de los clusters en el diagrama de bloques tienen un patrón de cable rosa y terminal de tipos de
datos. Los clusters de error tienen un patrón de cable amarillo obscuro y terminal de tipo de datos. Los
clusters de valores numéricos, algunas veces conocidos como puntos, tienen un patrón de cable café y
terminal de tipo de datos. Puede cablear clusters numéricos cafés a funciones Numéricas, como Suma o Raíz
Cuadrada, para realizar la misma operación simultáneamente en todos los elementos del cluster.
Orden de Elementos de Cluster
Aunque el cluster y los elementos de arreglo están ordenados, debe desagrupar todos los elementos del
cluster una vez usando la función Unbundle. Puede usar la función Unbundle by Name para desagrupar los
elementos del cluster por nombre. Si utiliza la función Unbundle by Name, cada elemento del cluster debe
tener una etiqueta. Los clusters también se diferencian de los arreglos ya que tienen un tamaño fijo. Como un
arreglo, un cluster puede ser un control o un indicador. Un cluster no puede contener una combinación de
controles e indicadores.

Construir varios elementos de datos en clusters elimina el desorden de cables en el diagrama de bloques y
reduce el número de terminales del panel conector que los subVIs necesitan. El panel conector tiene, a lo
más, 28 terminales. Si su panel frontal contiene más de 28 controles e indicadores que quiera pasar a otro VI,
agrupe algunos de ellos en un cluster y asigne el cluster a una terminal en el panel conector.

La mayoría de los clusters en el diagrama de bloques tienen un patrón de cable rosa y terminal de tipos de
datos. Los clusters de error tienen un patrón de cable amarillo obscuro y terminal de tipo de datos. Los
clusters de valores numéricos, algunas veces conocidos como puntos, tienen un patrón de cable café y
terminal de tipo de datos. Puede cablear clusters numéricos cafés a funciones Numéricas, como Suma o Raíz
Cuadrada, para realizar la misma operación simultáneamente en todos los elementos del cluster.

Crear Clusters
Controles e Indicadores
Cree un control o indicador de cluster en el panel frontal al añadir una estructura de cluster al panel frontal,
como se muestra en la Figura 9 y al arrastrar un objeto de datos o elemento, que puede ser un control o
indicador numérico, Booleano, de cadena de caracteres, path, refnum, arreglo o cluster hacia el interior de la
estructura del cluster. Cambie el tamaño de la estructura del cluster al arrastrar el cursor mientras coloca la
estructura del cluster.

Figura 9. Creación de un Control de Cluster


La Figura 10 es un ejemplo de un cluster que contiene tres controles: una cadena de caracteres, un interruptor
Booleano y un numérico. Un cluster es un control o un indicador; no puede contener una combinación de
controles e indicadores.

Figura 10. Ejemplo de Control de Cluster


Crear Constantes del Cluster
Para crear una constante cluster en el diagrama de bloques, seleccione una Cluster Constant en la paleta
Funciones, coloque la estructura del cluster en el diagrama de bloques y coloque una constante de cadena de
caracteres, constante numérica, constante Booleano o constante cluster en la estructura del cluster. Puede
usar una constante de cluster para almacenar datos constantes o como un punto de comparación con otros
clusters.

Si tiene un control o indicador de cluster en la ventana del panel frontal y quiere crear una constante de cluster
que contenga los mismos elementos en el diagrama de bloques, puede arrastrar el cluster desde la ventana
del panel frontal al diagrama de bloques o dar clic con botón derecho en el cluster en la ventana del panel
frontal y seleccione Create»Constant en el menú de acceso directo.

Usar Funciones de Cluster


Use las funciones de Cluster para crear y manipular clusters. Por ejemplo, puede realizar tareas similares a
las siguientes:

-Extraiga elementos de datos individuales desde un cluster.


-Añada elementos de datos individuales a un cluster.
-Fracture un cluster en sus elementos de datos individuales.

Use la función de Bundle para ensamblar un cluster, use la función Bundle y la función Bundle by Name para
modificar un cluster y use la función Unbundle y la función Unbundle by Name para desensamblar clusters.

También puede colocar las funciones Bundle, Bundle by Name, Unbundle, y Unbundle by Name en el
diagrama de bloques al dar clic con botón derecho en la terminal del cluster en el diagrama de bloques y al
seleccionar Cluster, Class & Variant Palette en el menú de acceso directo. Las funciones de Agrupar y
Desagrupar contienen automáticamente el número correcto de terminales. Las funciones Agrupar por Nombre
y Desagrupar por Nombre aparecen con el primer elemento en el cluster. Use la herramienta de Posición para
cambiar el tamaño de las funciones de Agrupar por Nombre y Desagrupar por Nombre para mostrar los otros
elementos del cluster.
Ensamblar Clusters
Use la función Bundle para ensamblar un cluster desde elementos individuales o para cambiar los valores de
los elementos individuales en un cluster existente sin tener que especificar los nuevos valores para todos los
elementos. Use la herramienta de Posición para cambiar el tamaño de la función o haga clic con botón
derecho en una entrada de elemento y seleccione Añadir Entrada desde el menú de acceso directo.

Figura 11. Ensamblar un Cluster en el Diagrama de Bloques


Modificar un Cluster
Si cablea la entrada de cluster, puede cablear solamente los elementos que desea cambiar. Por ejemplo, el
Cluster de Entrada que se muestra en la Figura 12 contiene tres controles.

Figura 12. Bundle se Usa para Modificar un Cluster


Si conoce el orden del cluster, puede usar la función Bundle para cambiar el valor del Comando al cablear los
elementos que se muestran en la Figura 12.

También puede usar la función Bundle By Name para reemplazar o tener acceso a elementos etiquetados de
un cluster. La función de Bundle by Name funciona como la función de Bundle, pero en lugar de relacionar los
elementos del cluster por su orden de cluster, los relaciona por sus etiquetas. Solamente puede tener acceso
a elementos con etiquetas propias. El número de entradas no necesita ser igual al número de elementos en
un cluster de salida.

Use la herramienta de Operación para hacer clic en una terminal de entrada y seleccionar un elemento en el
menú desplegable. También puede hacer clic con botón derecho en la entrada y seleccionar el elemento con
Seleccionar Elemento en el menú de acceso directo.

En la Figura 13, puede usar la función de Bundle by Name para actualizar los valores de Comando y Función
con los valores del Nuevo Comando y Nueva Función.

Figura 13. Bundle by Name se Usa para Modificar un Cluster


Use la función de Bundle by Name para estructuras de datos que pueden cambiar durante el desarrollo. Si
añade un nuevo elemento al cluster o modifica su orden, no necesita reescribir la función de Bundle
by Name ya que los nombres siguen siendo válidos.
Desensamblar Clusters
Use la función Unbundle para separar un cluster en sus elementos individuales.
Use la función Unbundle By Name para regresar los elementos del cluster de los cuales especificó los
nombres. El número de terminales de salida no depende del número de elementos en el cluster de entrada.

Use la herramienta de Operación para hacer clic en una terminal de salida y seleccionar un elemento en el
menú desplegable. También puede hacer clic con botón derecho en la terminal de salida y seleccionar el
elemento con Seleccionar Elemento en el menú de acceso directo.
Por ejemplo, si usa la función Unbundle con el cluster en la Figura 14, tiene cuatro terminales de salida que
corresponden a los cuatro controles en el cluster. Debe conocer el orden del cluster para que pueda asociar la
terminal Booleano correcta del cluster desagrupado con el interruptor correspondiente en el cluster. En este
ejemplo, los elementos están ordenados de arriba hacia abajo comenzando con el elemento 0. Si usa la
función Unbundle by Name, puede tener un número arbitrario de terminales de salida y tener acceso a
elementos individuales por nombre en cualquier orden.

Figura 14. Unbundle and Unbundle By Name

Enums
Un enum (control, constante o indicador enumerado) es una combinación de tipos de datos. Un enum
representa un par de valores, una cadena de caracteres y un valor numérico, donde el enum puede ser uno
de una lista de valores. Por ejemplo, si usted creó un tipo de enum llamado Mes, los pares de valores posibles
para una variable Mes son Enero-0, Febrero-1 y así hasta Diciembre-11. La Figura 15 muestra un ejemplo de
estos pares de datos en la ventana de diálogo de Propiedades para un control enumerado. Se obtiene acceso
al dar clic con botón derecho en el control enum y al seleccionar Edit Items.
Figura 15. Propiedades para el Control Enumerado Mes

Los enums son útiles porque es más fácil manipular números en el diagrama de bloques que cadena de
caracteres. La Figura 16 muestra el control enumerado Mes, la selección de un par de datos en el control
enumerado y la terminal del diagrama de bloques correspondiente.

Figura 16. Control Enumerado Mes, Selección en Control, Terminal de Diagrama de Bloques

También podría gustarte