Está en la página 1de 54

Introducción a LabVIEW

Este manual técnico introduce a los conceptos requeridos para desarrollar un sistema básico con LabVIEW.
Recomendamos que los nuevos usuarios pasen tiempo aprendiendo las herramientas y los conceptos básicos
necesarios para utilizar y navegar en el entorno antes de desarrollar sus primeras aplicaciones.

Fundamentos del Entorno de LabVIEW


—Examine los bloques fundamentales de construcción para cualquier aplicación de LabVIEW, incluyendo el panel frontal, diagrama de bloques, paletas, controles e indicadores.

Panel Frontal
Cuando abre un VI nuevo o existente, aparece la ventana del panel frontal del VI. La ventana del panel frontal es la
interfaz de usuario para el VI. La Figura 1 muestra un ejemplo de una ventana del panel frontal.

(1) Ventana de Panel Frontal | (2) Barra de Herramientas | (3) Paleta de Controles
Figura 1. Ejemplo de un Panel Frontal

Paleta de Controles
La paleta de Controles contiene los controles e indicadores que utiliza para crear el panel frontal. Puede tener acceso
a la paleta de Controles de la ventana del panel frontal al seleccionar View»Controls Palette o al dar clic con botón
derecho en cualquier espacio en blanco en la ventana del panel frontal. La paleta de Controles está dividida en varias
categorías; puede exponer algunas o todas estas categorías para cumplir con sus necesidades. La Figura 2 muestra
la paleta de Controles con todas las categorías expuestas y la categoría Moderna expandida.
Figura 2. Paleta de Controles

Para ver o esconder categorías (subpaletas), haga clic en el botón Customize y seleccione Change Visible Palettes.

Controles e Indicadores
Cada VI tiene un panel frontal que usted puede diseñar como una interfaz de usuario. Usted también puede usar
paneles frontales como la manera de transmitir entradas y recibir salidas cuando se llama al VI desde otro diagrama
de bloque. Usted crea la interfaz de usuario de un VI al colocar controles e indicadores en el panel frontal de un VI.
Cuando interactúa con un panel frontal como una interfaz de usuario, puede modificar los controles para transmitir
entradas y ver los resultados en los indicadores. Los controles que definen las entradas y los indicadores muestran
las salidas.
Los controles generalmente son perillas, botones, perillas, deslizadores y secuencias. Simulan dispositivos de
entrada de instrumentos y suministran datos al diagrama de bloques del VI. Los indicadores generalmente son
gráficas, tablas, LEDs y secuencias de estado. Los indicadores simulan dispositivos de salida de instrumentos y
muestran los datos que diagrama de bloques adquiere o genera.
La Figura 1 tiene dos controles: Number of Measurements y Delay (sec). Tiene un indicador: una gráfica XY llamada
Temperature Graph.
El usuario puede cambiar el valor de entrada para los controles Number of Measurements and Delay (sec). El usuario
puede ver el valor generado por el VI en el indicador Temperature Graph. El VI genera los valores para los
indicadores basados en el código creado en el diagrama de bloques.
Cada control o indicador tiene un tipo de datos asociado con él. Por ejemplo, el slide horizontal Delay (sec) es un tipo
de datos numérico. Los tipos de datos utilizados con mayor frecuencia son numéricos, Booleano y cadena de
caracteres.

Controles e Indicadores Numéricos


El tipo de datos numérico pueden representar números de varios tipos como un entero o real. Los dos objetos
numéricos comunes son el control numérico y el indicador numérico, como se muestra en la Figura 3. Los objetos
como medidores y perillas también representan datos numéricos.
(1) Botones de Incremento/Reducción | (2) Control Numérico | (3) Indicador Numérico
Figura 3. Controles e Indicadores Numéricos

Para proporcionar o cambiar valores en un control numérico, haga clic en el botón de incremento y reducción o haga
doble clic en el número, introduzca un nuevo número y presione la tecla <Enter>.

Controles e Indicadores Booleano


El tipo de datos Booleano representa datos que solamente tienen dos estados posibles, como TRUE y FALSE u ON y
OFF. Use los controles e indicadores Booleano para proporcionar y visualizar valores Booleano. Los objetos
Booleano simulan interruptores, botones y LEDs. El interruptor de encendido vertical y los objetos LED redondos se
muestran en la Figura 4.

Figura 4. Controles e Indicadores Booleano

Controles e Indicadores de Cadena de Caracteres


El tipo de datos cadena de caracteres es una secuencia de caracteres ASCII. Use controles en cadena para recibir
texto desde el usuario como una contraseña o nombre de usuario. Use indicadores en cadena para mostrar texto al
usuario. Los objetos en cadena más comunes son tablas y cuadros de texto, como se muestra en la Figura 5.

Figura 5. Controles e Indicadores de cadena de caracteres

Diagrama de Bloques
Los objetos del diagrama de bloques incluyen terminales, subVIs, funciones, constantes, estructuras y cables, los
cuales transfieren datos junto con otros objetos del diagrama de bloques.
(1) Terminales de Indicador | (2) Cables | (3) Nodos | (4) Terminales de Control
Figura 6. Ejemplo de un Diagrama de Bloques y Panel Frontal Correspondiente

Después de que crea la ventana del panel frontal, añade código usando representaciones gráficas de funciones para
controlar los objetos del panel frontal. La ventana del diagrama de bloques contiene este código de fuente gráfica.

Figura 7. Diagrama de Bloques

Terminales
Los objetos en la ventana del panel frontal aparecen como terminales en el diagrama de bloques. Las terminales son
puertos de entrada y salida que intercambian información entre el panel frontal y diagrama de bloques. Son análogos
a parámetros y constantes en lenguajes de programación basados en texto. Los tipos de terminales incluyen
terminales de control o indicador y terminales de nodo. Las terminales de control e indicador pertenecen a los
controles e indicadores del panel frontal. Los puntos de datos que usted proporciona en los controles del panel frontal
(a y b en el panel frontal anterior) pasan al diagrama de bloques a través de las terminales de control. Entonces los
puntos de datos ingresan las funciones de Suma y Resta. Cuando las funciones de Suma y Resta terminan sus
cálculos, producen nuevos valores de datos. Los valores de datos van a las terminales de indicador, donde actualizan
los indicadores del panel frontal (a+b y a-b en el panel frontal anterior).
Controles, Indicadores y Constantes
Los controles, indicadores y constantes se comportan como entradas y salidas del algoritmo del diagrama de
bloques. Considere la implementación del algoritmo para el área de un triángulo:

Área = .5 * Base * Altura


En este algoritmo, Base y Altura son entradas y Área es una salida, como se muestra en la Figura 8.

Figura 8. Panel Frontal del Área de un Triángulo

El usuario no cambiará o tendrá acceso a la constante 0.5, así que no aparecerá en el panel frontal a menos que se
incluya como documentación del algoritmo.
La Figura 9 muestra una posible implementación de este algoritmo en un diagrama de bloques de LabVIEW. Este
diagrama de bloques tiene cuatro terminales diferentes creadas por dos controles, una constante y un indicador.

(1) Controles | (2) Indicador | (3) Constante


Figura 9. Diagrama de Bloques del Área de un Triángulo con Vista de Terminal de Ícono

Note que las terminales del diagrama de bloques Base (cm) y Altura (cm) tienen una apariencia diferente de la
terminal Área (cm2). Existen dos características distintivas entre un control y un indicador en el diagrama de bloques.
La primera es una flecha en la terminal que indica la dirección del flujo de datos. Los controles tienen flechas que
muestran los datos que salen de la terminal, mientras que el indicador tiene una flecha que muestra los datos que
entran a la terminal. La segunda característica distintiva es el borde alrededor de la terminal. Los controles tienen un
borde grueso y los indicadores tienen un borde delgado.
Puede ver terminales con o sin vista de íconos. La Figura 10muestra el mismo diagrama de bloques sin usar la vista
de ícono de las terminales; sin embargo existen las mismas características distintivas entre los controles y los
indicadores.
Figura 10. Diagrama de Bloques del Área de un Triángulo sin Vista de Terminal de Ícono

Nodos de Diagrama de Bloques


Los nodos son objetos en el diagrama de bloques que tienen entradas y/o salidas y realizan operaciones cuando el
VI se ejecuta. Son análogos a instrucciones, operaciones, funciones y sub rutinas en lenguajes de programación
basados en texto. Los nodos pueden ser funciones, subVIs, Express VIs o estructuras. Las estructuras son
elementos de control de procesos, como Estructuras de Casos, Ciclos For o Ciclos While.

Funciones
Las funciones son los elementos de operación fundamentales de LabVIEW. Las funciones de Suma y Resta en
la Figura 6 son nodos de función. Las funciones no tienen ventanas del panel frontal o ventanas del diagrama de
bloques pero no tienen paneles conectores. Al hacer doble clic en la función solamente selecciona la función. Una
función tiene un fondo amarillo pálido en su ícono.

SubVIs
Después de desarrollar un VI, usted puede usarlo en otro VI. Un VI llamado desde el diagrama de bloques de otro VI
es llamado un subVI. Usted puede reutilizar un subVI en otros VIs. Para crear un subVI, necesita desarrollar un panel
conector y crear un ícono.
Un nodo de subVI corresponde a una llamada de subrutina en lenguajes de programación basados en texto. El nodo
no es subVI, solamente una instrucción de llamada de subrutina en un programa que no es la propia subrutina. Un
diagrama de bloques que contiene varios nodos de subVI idénticos llama al mismo subVI varias veces.
Los indicadores y controles de subVI reciben datos y regresan datos al diagrama de bloques del VI que hace el
llamado. Cuando hace doble clic en un subVI en el diagrama de bloques, aparece la ventana del panel frontal. El
panel frontal incluye controles e indicadores. El diagrama de bloques incluye cables, íconos, funciones, subVIs
probables u otros objetos de LabVIEW.

Cada VI muestra un ícono en la esquina superior derecha de la ventana del panel frontal y la ventana del diagrama
de bloques. Un ejemplo del ícono predeterminado se muestra aquí. Un ícono es una representación gráfica de un VI.
El ícono puede contener texto e imágenes. Si usa un VI como un subVI, el ícono identifica al subVI en el diagrama de
bloques del VI. El ícono predeterminado contiene un número que indica cuántos nuevos VI abrió después de iniciar
LabVIEW.

Para usar un VI como un subVI, necesita construir un panel conector, como se muestra arriba. El panel conector es
un conjunto de terminales en el ícono que corresponde a los controles e indicadores de ese VI, similares a la lista de
parámetros de una función llamada en lenguajes de programación basados en texto. Obtenga acceso al panel
conector al dar clic con botón derecho en el ícono en la parte superior derecha de la ventana del panel frontal. Usted
puede tener acceso al panel conector desde el ícono en la ventana del diagrama de bloques. Un ícono de subVI tiene
un fondo blanco en su ícono.

Express VIs
Los Express VIs son nodos que requieren cableado mínimo ya que usted los configura con ventanas de diálogo. Use
Express VIs para tareas de medidas comunes. Consulte el tema de Express VIs de la Ayuda de LabVIEW para más
información. Aparecen en el diagrama de bloques como nodos expandibles con iconos rodeados por un campo azul.
Paleta de Funciones
La paleta de Funciones contiene los VIs, funciones y constantes que usted utiliza para crear el diagrama de bloques.
Usted tiene acceso a la paleta de Funciones del diagrama de bloques al seleccionar View»Functions Palette. La
paleta de Funciones está dividida en varias categorías; usted puede mostrar y esconder categorías para cumplir con
sus necesidades. La Figura 11 muestra la paleta de Funciones con todas las categorías expuestas y la categoría de
Programación expandida.

Figura 11. Paleta de Funciones

Para ver o esconder categorías, haga clic en el botón Customize y seleccione Change Visible Palettes.

Buscar Controles, VIs y Funciones


Cuando usted selecciona View»Controls o View»Functions para abrir las paletas Controles y Funciones, aparecen
dos botones en la parte superior de la paleta.

Search—Cambia la paleta para el modo buscar, así usted puede realizar búsquedas basadas en texto para ubicar los
controles, VIs o funciones en las paletas. Mientras una paleta está en modo de búsqueda, haga clic en el botón
Return para salir del modo de búsqueda y regresar a la paleta.
Customize—Proporciona opciones para seleccionar un formato para la paleta actual, mostrar y esconder categorías
para todas las paletas y clasificar alfabéticamente elementos en los formatos de Texto y Árbol. Seleccione Options
del menú de acceso directo para mostrar la página Controls/Functions Palettes de la ventana de diálogo Options, en
la cual puede seleccionar un formato para todas las paletas. Este botón aparece solamente si hace clic en la tachuela
en la esquina superior izquierda para prender la paleta.
Hasta que se familiarice con la ubicación de los VIs y funciones, busque la función o VI usando el botón Search. Por
ejemplo, si desea encontrar la función Random Number, haga clic en el botón Search en la barra de herramientas de
la paleta de Funciones y comience a escribir Random Number en la ventana de diálogo en la parte superior de la
paleta. LabVIEW enlista todos los elementos parecidos que comienzan con o contienen el texto que escribió. Puede
dar clic en alguno de los resultados de búsqueda y arrástrelo al diagrama de bloques, como se muestra en la Figura
12.

Figura 12. Buscar un Objeto en la Paleta de Funciones

Haga doble clic en le resultado de la búsqueda para identificar su ubicación en la paleta.

Quick Drop
O bien, usted puede encontrar y colocar VIs y objetos del panel frontal por nombre en la ventana de diálogo Quick
Drop. Para iniciar Quick Drop, presione las teclas <Ctrl-Space>.
Quick Drop es especialmente útil al buscar una función u operación muy específica. Conforme escribe, Quick Drop
completa automáticamente el nombre con las funciones que coinciden. Después de seleccionar la función apropiada,
haga clic en el diagrama de bloques o en el panel frontal para colocar el objeto en ese lugar.
Fundamentos de la Programación Gráfica
funciones y trabajar con una variedad de tipos de datos al desarrollar aplicaciones.

LabVIEW sigue un modelo de flujo de datos para ejecutar VIs. Un nodo de diagrama de bloques se ejecuta cuando
recibe todas las entradas requeridas. Cuando el nodo se ejecuta, produce datos de salida y pasa los datos al
siguiente nodo en la trayectoria del flujo de datos. El movimiento de datos a través de los nodos determina el orden
de ejecución de los VIs y las funciones en el diagrama de bloques.
Visual Basic, C++, Java y la mayoría de otros lenguajes de programación basados en texto siguen un modelo de flujo
de control para ejecución del programa. En el flujo de control, el orden secuencial de los elementos del programa
determina el orden de ejecución de un programa.
Para un ejemplo de programación de flujo de datos, considere un diagrama de bloques que suma dos números y
después resta 50.00 del resultado de la suma, como se muestra en la Figura 1. En este caso, el diagrama de
bloques se ejecuta de izquierda a derecha, no porque los objetos están colocados en ese orden, sino porque le
función de Resta no puede ejecutarse hasta que la función de Suma termina ejecutarse y pasa los datos a la función
de Resta. Recuerde que un nodo se ejecuta solamente cuando los datos están disponibles en todas sus terminales
de entrada y proporciona los datos a las terminales de salida solamente cuando el nodo termina la ejecución.

Figura 1. Ejemplo de Programación de Flujo de Datos

En la Figura 2, considere cuál segmento de código debe ejecutarse primero—la función de Suma, Número Aleatorio
o División. No se puede saber porque las entradas a las funciones de Suma y División están disponibles al mismo
tiempo y la función de Números Aleatorios no tiene entradas. En una situación donde un segmento de código debe
ejecutarse antes que otro y no existe ninguna dependencia de datos entre las funciones, use otros métodos de
programación como estructuras de secuencia o clusters de error para forzar el orden de la ejecución.

Figura 2. Ejemplo de Flujo de Datos para Múltiples Segmentos de Código

Cables
Transfiere datos entre objetos del diagrama de bloques a través de cables. En las figuras 1 y 2, los cables conectan
las terminales de control e indicador a la función de Suma y Resta. Cada cable tiene una sola fuente de datos, pero
puede cablearlo a varios VIs o funciones que leen los datos. Los cables son de diferentes colores, estilos y grosores
dependiendo de sus tipos de datos.

Un cable roto aparece como una línea negra punteada con una X roja a la mitad, como se muestra arriba. Los cables
rotos ocurren por una variedad de razones, como cuando intenta cablear dos objetos con tipos de datos no
compatibles.
La Tabla 1 muestra los cables más comunes.

Tipo de
Cable Escalar Arreglo de 1D Arreglo en 2D Color

Numérico Naranja (punto


flotante),
Azul (entero)

Booleano Verde

Cadena de Rosa
caracteres
Tabla 1. Tipos Comunes de Cable

En LabVIEW, puede usar cables para conectar múltiples terminales para pasar datos en un VI. Debe conectar los
cables a las entradas y salidas que son compatibles con los datos que son transferidos con el cable. Por ejemplo, no
puede cablear una salida de tipo arreglo a una entrada numérica. Además la dirección de los cables debe ser
correcta. Debe conectar los cables solamente a una entrada y por lo menos a una salida. Por ejemplo, no puede
cablear dos indicadores juntos. Los componentes que determinan la compatibilidad del cableado incluyen los tipos de
datos del control y/o el indicador y los tipos de datos de la terminal. Por ejemplo, si un interruptor tiene un borde
verde, puede cablear un interruptor a cualquier entrada con una etiqueta verde en un VI Express. Si una perilla tiene
un borde naranja, puede cablear una perilla a cualquier entrada con una etiqueta naranja. Sin embargo, no puede
cablear una perilla naranja a una entrada con una etiqueta verde. Note que los cables son del mismo color que la
terminal.

Cablear Objetos Automáticamente


Conforme acerca un objeto seleccionado a otros objetos en el diagrama de bloques, LabVIEW dibuja cables
temporales para mostrarle conexiones válidas. Cuando suelta el botón del mouse para colocar el objeto en el
diagrama de bloques, LabVIEW conecta los cables automáticamente. También puede cablear automáticamente los
objetos que ya están en el diagrama de bloques. LabVIEW conecta las terminales que corresponden mejor y no
conecta las terminales que no corresponden.
El cableado automático es habilitado de forma predeterminada cuando selecciona un objeto en la paleta Functions o
cuando copia un objeto que ya está en el diagrama de bloques al presionar la tecla <Ctrl> y arrastrar el objeto. El
cableado automático está deshabilitado de forma predeterminada cuando usa la herramienta de Ubicación para
mover un objeto que ya está en el diagrama de bloques.
Puede ajustar las configuraciones del cableado automático al seleccionar Tools»Options y seleccionar Block
Diagram en la lista Category.

Cablear Objetos Manualmente


Cuando pasa la herramienta de Cableado sobre una terminal, aparece una etiqueta con el nombre de la terminal.
Además, la terminal parpadea en la ventana Context Help y en el ícono para ayudarle a verificar que está cableando
a la terminal correcta. Para cablear objetos juntos, pase la herramienta de Cableado sobre la primera terminal, haga
clic y coloque el cursor sobre la segunda terminal y haga clic otra vez. Después de cablear, puede dar clic con botón
derecho en el cable y seleccione Clean Up Wire en el menú corto para hacer que LabVIEW escoja automáticamente
una trayectoria para el cable. Si tiene que eliminar cables rotos, presione <Ctrl-B> para eliminar todos los cables
rotos en el diagrama de bloques.
Herramientas Comunes
—Vea una colección de herramientas importantes y funciones comunes que todos los usuarios deben conocer.

En un lenguaje de programación gráfica como el software LabVIEW, el mouse es la manera principal de interactuar
con el entorno de programación. Dicho esto, el cursor del mouse debe ser capaz de completar diferentes tareas,
como seleccionar, cablear, resaltar texto y demás. Este módulo examina no solamente las diferentes funciones que el
mouse puede realizar en LabVIEW, sino también cómo realizar dichas tareas.
Este módulo también habla sobre algunas otras maneras de modificar sus VIs: menús de acceso directo, ventanas
de diálogo de propiedades y la barra de herramientas.

Seleccionar una Herramienta


Puede crear, modificar y depurar VIs usando las herramientas que proporciona LabVIEW. Una herramienta es un
modo de operación especial del cursor del mouse. El modo de operación del cursor corresponde al ícono de la
herramienta seleccionada. LabVIEW selecciona esta herramienta de acuerdo a la ubicación actual del mouse.

Figura 1. Paleta de Herramientas

Puede escoger manualmente la herramienta que necesita al seleccionarla en la paleta Tools. Seleccione View »
Tools Palette para mostrar la paleta Tools.

Automatic Tool Selector


El primer elemento en la paleta Tools es el botón Automatic Tool Selection. Cuando selecciona esto, LabVIEW
automáticamente escoge una herramienta de acuerdo a la ubicación de su cursor. Puede apagar la selección
automática de herramientas al anular la selección de este elemento y seleccionar otro elemento en la paleta.
Si va a comparar las herramientas en LabVIEW con herramientas caseras comunes, las herramientas enlistadas a
continuación podrían representar un desarmador, un cuchillo o un sacacorchos y el selector automático de
herramientas podría ser un cuchillo Swiss Army, capaz de realizar todas las tareas.

Figura 2. Herramientas Individuales y Selector Automático de Herramientas

A continuación se mencionan algunas de las herramientas más comunes que puede encontrar en LabVIEW. Note
que cuando el botón de Selección Automática de Herramientas está habilitado, el mouse cambia una de las
siguientes herramientas para realizar las tareas más comunes en LabVIEW.

Herramienta de Operación

Use la herramienta de Operación para cambiar los valores de un control. Por ejemplo, en la Figura 3 la herramienta
de Operación mueve el puntero en la Horizontal Pointer Slide. Cuando el mouse está sobre el puntero, el cursor
automáticamente obtiene acceso a la herramienta de Operación.
Figura 3. Usar la Herramienta de Operación

La herramienta de Operación es usada generalmente en la ventana del panel frontal, pero también puede usar la
herramienta Operativa en la ventana del diagrama de bloques para cambiar el valor de una constante Booleana.

Herramienta de Posicionamiento

Use la herramienta de Posicionamiento para seleccionar o cambiar el tamaño de los objetos. Por ejemplo, en
la Figura 4 la herramienta de Posicionamiento selecciona el control numérico Number of Measurements. Después
de seleccionar un objeto, puede mover, copiar o eliminar el objeto. Cuando el mouse está sobre la orilla de un objeto,
el cursor automáticamente obtiene acceso a la herramienta de Posicionamiento.

Figura 4. Usar la Herramienta de Posicionamiento para Seleccionar un Objeto


Si el mouse está sobre un nodo de cambio de tamaño de un objeto, el modo del cursor cambia para mostrarle que
puede cambiar el tamaño del objeto, como se muestra en la Figura 5. Note que el cursor está sobre una orilla de la
Gráfica XY en un nodo de cambio de tamaño y el modo del cursor cambia a una doble flecha.

Figura 5. Usar la Herramienta de Posicionamiento para Cambiar el Tamaño de un Objeto

Puede usar la herramienta de posicionamiento en la ventana del panel frontal y del diagrama de bloques.

Herramienta de Etiquetado

Use la herramienta de Etiquetado para proporcionar el texto en un control, para editar texto y para crear etiquetas.
Por ejemplo, en la Figura 6 la herramienta de Etiquetado proporciona el texto en el control numérico Number of
Measurements. Cuando el mouse está sobre el interior del control, el cursor automáticamente obtiene acceso a la
herramienta de Etiquetado. Haga clic para colocar un cursor dentro del control. Después haga doble clic para
seleccionar el texto actual.

Figura 6. Usar la Herramienta de Etiquetado


Cuando no está en un área en específico de una ventana del panel frontal o ventana del diagrama de bloques que
tiene acceso a cierto modo del mouse, el cursor aparece como cross-hairs. Si la selección automática de
herramientas está habilitada, puede dar doble clic en cualquier espacio abierto para tener acceso a la herramienta de
Etiquetado y crear una etiqueta.

Herramienta de Cableado

Use la herramienta de Cableado para cablear objetos juntos en el diagrama de bloques. Por ejemplo, en la Figura 7,
la herramienta de Cableado cablea la terminal Number of Measurements a la terminal de conteo del Ciclo For.
Cuando el mouse está sobre la salida o entrada de una terminal o sobre un cable, el cursor automáticamente obtiene
acceso a la herramienta de Cableado.

Figura 7. Usar la Herramienta de Cableado

La herramienta de Cableado funciona principalmente con la ventana del diagrama de bloques y cuando crea un panel
conector en la ventana del panel frontal.

Otras Herramientas a las que se tiene Acceso desde la Paleta


Usted puede tener acceso a las siguientes herramientas en la paleta:
Menú de Acceso Use la herramienta de para tener acceso al menú de objetos con el botón
Directo de Objetos izquierdo del mouse. Usted también puede tener acceso a este menú al dar clic
con botón derecho en cualquier objeto en LabVIEW.

Desplazamiento Para desplazarse a través de las ventanas sin usar barras de desplazamiento.

Breakpoint Use esta herramienta para establecer puntos de pausa en VIs, funciones, nodos
y estructuras para detener la ejecución en esa ubicación.

Probe Para crear puntos de prueba en el diagrama de bloques. También use la


herramienta de Sonda de Prueba para verificar los valores intermedios en un VI
que produce resultados cuestionables o inesperados.

Colorear Use la herramienta de Colorear para colorear un objeto. La herramienta de


Colorear también muestra las configuraciones actuales de color en primer plano
y el fondo.

Copiar Color Use la herramienta de Copiar Color para copiar colores y después pegarlos con
la herramienta de Coloreo.

Menús de Acceso Directo


Todos los objetos de LabVIEW tienen asociado menús de acceso directo, también conocidos como menús de
contexto, menús emergentes y menús de clic derecho. Al crear un VI, use los elementos del menú de acceso directo
para cambiar la apariencia o el comportamiento de los objetos del panel frontal o del diagrama de bloques. Para ver
el menú de acceso directo, haga clic con botón derecho en el objeto.

Figura 8. Menú de Acceso Directo para un Medidor

Ventanas de Propiedades
Los objetos en la ventana del panel frontal también tienen ventanas de diálogo de propiedades que usted puede usar
para cambiar la apariencia o el comportamiento de los objetos. Haga clic con botón derecho en un objeto y
seleccione Properties en el menú de acceso directo para tener acceso a la ventana de diálogo de un objeto.
La Figura 9 muestra la ventana de diálogo de propiedades para el medidor que se muestra en la Figura 8. Las
opciones disponibles en la ventana de diálogo de propiedades de un objeto son similares a las opciones disponibles
en el menú de acceso directo de ese objeto.

Figura 9. Ventana de Diálogo de Propiedades para un Medidor

Puede seleccionar múltiples objetos en el panel frontal o el diagrama de bloques y editar cualquier propiedad que los
objetos compartan. Para seleccionar múltiples objetos, use la herramienta de Ubicación para arrastrar un rectángulo
de selección alrededor de todos los objetos que desea editar o mantenga apretada la tecla <Shift> al hacer clic en
cada objeto. Haga clic con botón derecho en un objeto y seleccione Properties en el menú de acceso directo para
mostrar la ventana de diálogo Properties. La ventana de diálogo Properties solamente muestra secciones y
propiedades que comparte el objeto que seleccionó. Seleccione objetos similares para mostrar más secciones o
propiedades. Si selecciona objetos que no comparten propiedades comunes, la ventana de diálogo Properties no
muestra ninguna sección o propiedad.

Barras de Herramientas de la Ventana del Panel Frontal


Cada ventana tiene una barra de herramientas asociada con ella. Utilice los botones de la barra de herramientas de
la ventana del panel frontal para ejecutar y editar el VI.
La siguiente barra de herramientas aparece en la ventana del panel frontal.

Haga clic en el botón Run button to run a VI. LabVIEW compila el VI, si es
necesario. Puede ejecutar un VI si el botón Run aparece como una flecha en
blanco, como se muestra a la izquierda. La flecha blanca también indica que usted
puede usar el VI como subVI si crea un panel conector para el VI.

Mientras el VI se ejecuta, el botón Run aparece como se muestra arriba, si el VI es


un VI de alto nivel, lo cual significa que no tiene callers y por consiguiente no es un
subVI.

Si el VI que se está ejecutando es un subVI, el botón Run aparece como se


muestra arriba.

El botón Run aparece roto cuando el VI que está creando o editando contiene
errores Si el botón Run aún aparece roto después de que termino de cablear el
diagrama de bloques, el VI está roto y no se puede ejecutar. Haga clic en este botón
para mostrar la ventana Error list, la cual enlista todos los errores y advertencias.

Haga clic en el botón Run Continuously para ejecutar el VI hasta que usted finalice
o detenga la ejecución. También puede hacer clic en el botón otra vez para
deshabilitar la ejecución continua.
Hasta que el VI se ejecuta, aparece el botón Abort Execution. Haga clic en este
botón para detener el VI inmediatamente si no hay otra manera de detener el VI. Si
más de uno de los VIs de alto nivel ejecutándose utiliza el VI, el botón está en color
tenue.

Haga clic en el botón Pause para detener un VI ejecutándose. Cuando hace clic en
el botón Pause, LabVIEW resalta en el diagrama de bloques la ubicación donde
usted detuvo la ejecución y aparece en rojo el botón Pause. Haga clic en el
botón Pause otra vez para continuar ejecutando el VI.

Seleccione el menú desplegable Text Settings para cambiar las configuraciones de


la fuente para las porciones seleccionadas del VI, incluyendo tamaño, estilo y color.

Seleccione el menú desplegable Align Objects para alinear los objetos a lo largo
de los ejes, incluyendo vertical, orilla de arriba y así sucesivamente.

Seleccione el menú desplegable Distribute Objects para espaciar los objetos


uniformemente, incluyendo intervalos, compresión y así sucesivamente.

Seleccione el menú desplegable Resize Objects para cambiar el tamaño de


múltiples objetos del panel frontal al mismo tamaño.

Seleccione el menú desplegable Reorder cuando tiene objetos que se traslapan


entre ellos y quiere definir cuál está enfrente o atrás de cada uno. Seleccione uno
de los objetos con la herramienta de Posicionamiento y después seleccione
entre Move Forward, Move Backward, Move To Front y Move To Back.

La Búsqueda en LabVIEW puede ubicar información en LabVIEW Help, en las


paletas Funciones y Controles y desde las secciones de soporte de NI, soporte de
la comunidad, descargas e información de productos en ni.com. Usted puede
configurar las categorías en las que desea que LabVIEW realice la búsqueda al
seleccionar Tools»Options y al seleccionar Search en la lista Category.

Seleccione el botón Show Context Help Window para visualizar la


ventana Context Help.

Enter Text aparece para recordarle que un nuevo valor está disponible para
reemplazar uno viejo. El botón Enter Text desaparece cuando hace clic en él,
presiona la tecla <Enter> o hace clic en el área del panel frontal o del diagrama de
bloques.

Nota: El botón Abort Execution detiene al VI inmediatamente, antes que el VI termine la actual iteración. Al detener
un VI que utiliza recursos externos, como hardware externo, puede dejar los recursos en un estado desconocido sin
restablecerlos o liberarlos adecuadamente. Diseñe VIs con un botón de paro para evitar este problema.

Barras de Herramientas de la Ventana del Diagrama de Bloques


Haga clic en el botón Clean Up Diagram para enrutar automáticamente todos los cables existentes y para
reorganizar los objetos en el diagrama de bloques para generar un diseño más limpio. Para configurar las opciones
de limpieza, seleccione Tools»Options para mostrar la ventana de diálogo de Opciones y seleccione Block
Diagram: Cleanup en la lista Category.

Herramientas de Depuración
—Aprenda cómo usar herramientas y técnicas sencillas para comprender el comportamiento del código y resolver problemas o bugs.

El software LabVIEW contiene potentes herramientas de depuración para ayudarle a identificar las áreas
problemáticas en su código y poder realizar los cambios adecuados. Puede encontrar dos tipos generales de bugs de
software: aquellos que impiden que el programa se ejecute y aquellos que generan malos resultados o
comportamiento incorrecto. Este módulo le enseña cómo identificar y solucionar ambos tipos de errores.
Si LabVIEW no puede ejecutar su VI, le informa al cambiar la Run Arrow por un ícono roto y la ventana Error List
enlista las razones específicas por las que el VI está roto. El segundo tipo de bug generalmente es más difícil de
rastrear, pero LabVIEW tiene varias herramientas que usted puede usar para vigilar su código mientras se ejecuta, lo
cual hace el proceso mucho más fácil.

Arreglar VIs Rotos

Si un VI no se ejecuta, es un VI roto o no ejecutable. El botón Run aparece roto cuando el VI que está creando o
editando contiene errores.

Generalmente, esto significa que una entrada requerida no está cableada o un cable está roto. Presione el botón de
ejecutar roto para tener acceso a la ventana de lista de Errores. La ventana de lista de Errores muestra cada error y
describe el problema. Puede dar doble clic en un error para ir directamente al error.

Encontrar las Causas de VIs Rotos


Las advertencias no evitan que un VI se ejecute. Están diseñados para ayudarle a evitar problemas potenciales en
VIs. Los errores, sin embargo, pueden romper un VI. Primero debe resolver cualquier error para poder ejecutar el VI.
Haga clic en el botón Run roto o seleccione View»Error List para encontrar por qué el VI está roto. La ventana Error
list enlista todos los errores. La sección Items with errors enlista los archivos que tienen errores. Si dos o más
elementos tienen el mismo nombre, esta sección muestra la instancia de la aplicación específica para cada elemento.
La sección Errors and Warnings enlista los errores y advertencias para el VI que seleccione en la sección Items with
Errors. La sección Details describe los errores y en algunos casos recomienda cómo corregir los errores. Haga clic
en el botón Help para mostrar un tema en LabVIEW Help que describa el error en detalle e incluye instrucciones paso
a paso para corregir el error.
Haga clic en el botón Show Error o haga clic en la descripción del error para identificar el área en el diagrama de
bloques o panel frontal que contiene el error.
Figura 1. Ejemplo de la Ventana de Diálogo de Lista de Errores

Causas Comunes de VIs Rotos


La siguiente lista contiene razones comunes por las que el VI está roto mientras usted lo edita:
 El diagrama de bloques contiene un cable roto debido a la discrepancia de tipos de datos o una terminal
desconectada. Consulte el tema Correcting Broken Wires de LabVIEW Help para obtener información sobre
corregir cables rotos.
 Una terminal de diagrama de bloques requerida no está cableada. Consulte el tema Using Wires to Link
Block Diagram Objects de LabVIEW Help para obtener información sobre establecer entradas y salidas
requeridas.
 Un subVI está roto o editó su panel conector después de colocar su ícono en el diagrama de bloques del VI.

Arreglar Comportamiento Incorrecto


Si su VI se ejecuta pero produce resultados incorrectos, entonces tiene un error funcional en su código. LabVIEW
tiene varias herramientas para ayudarle a analizar donde su VI no se está comportando como debería.

Barra de Herramientas del Diagrama de Bloques


Cuando ejecuta un VI, aparecen botones en la barra de herramientas del diagrama de bloques que puede usar para
depurar el VI. La siguiente barra de herramientas aparece en el diagrama de bloques.

Haga clic en el botón Highlight Execution para mostrar una animación de la ejecución del
diagrama de bloques cuando ejecute el VI. Note el flujo de datos a través del diagrama de
bloques. Haga clic en el botón otra vez para deshabilitar la ejecución animada.

La ejecución resaltada muestra el movimiento de los datos en el diagrama de bloques desde un nodo a otro usando
burbujas que se mueven a lo largo del cable. Use la ejecución resaltada con la herramienta single-stepping para ver
cómo los valores de los datos se mueven de nodo a nodo a través del VI.

Nota: La ejecución resaltada reduce enormemente la velocidad a la cual se ejecuta el VI.


Figura 2. Ejemplo de Highlight Execution en Uso

Haga clic en el botón Retain Wire Values para guardar los valores del cable en cada punto en el flujo
de ejecución para que cuando coloque una sonda de prueba en el cable pueda retener
inmediatamente los valores más recientes de los datos que pasaron a través del cable. Debe
ejecutar con éxito el VI por lo menos una vez antes de que pueda retener los valores del cable.

Haga clic en el botón Step Into para abrir un nodo y hacer pausa. Cuando hace clic en el botón Step
Into otra vez, ejecuta la primera acción y hace pausa en la siguiente acción del subVI o estructura.
También puede presionar el <Ctrl> y la flecha hacia abajo. Avance a través de los pasos de VI por
medio del VI nodo por nodo. Cada nodo se prende para denotar cuando está listo para ejecutarse.

Haga clic en el botón Step Over para abrir un nodo y hacer pausa al siguiente nodo. También puede
presionar el <Ctrl> y la flecha hacia arriba. Al presionar el nodo, ejecuta el nodo sin avance simple a
través del nodo.
Haga clic en el botón Step Out para terminar de ejecutar un nodo actual y hacer pausa. Cuando el
VI termina se ejecutarse, el botón Step Out está en color tenue. También puede presionar el <Ctrl> y
la flecha hacia arriba. Al presionar un nodo, completa el avance en el nodo y navega al siguiente
nodo.
El botón de Advertencia aparece si un VI incluye una advertencia y si colocó una marca en la casilla
Show Warnings en la ventana Error List. Una advertencia indica que hay un problema potencial con
el diagrama de bloques, pero no detiene al VI.

Herramienta de Sonda de Prueba

Use la herramienta Probe para verificar los valores intermedios en un cable mientras un VI se ejecuta.

Use la herramienta de Sonda de Prueba si tiene un diagrama de bloques complicado con una serie de operaciones y
cualquiera de ellas puede regresar datos incorrectos. Use la herramienta de Probe con la identificación de ejecución,
avance simple y puntos de paro para determinar donde están los datos incorrectos. Si los datos están disponibles, la
punta de prueba se actualiza inmediatamente y muestra los datos en laProbe Watch Windowdurante la
identificación de ejecución, avance simple o cuando hace pausa en un punto de paro. Cuando la ejecución hace
pausa en un nodo por avance simple o un punto de paro, también puede medir el cable que se ejecutó para ver el
valor que fluye a través de ese cable.
Programar en LabVIEW

Estructuras de Datos
Arreglos, clusters y datos enumerados

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.

Cuerdas en el panel frontal


Utilice los controles e indicadores de cuerda como cuadros de entrada de texto y etiquetas.

Tipos cadena de presentación


Haga clic en un control de cuerdas o indicador en el panel frontal para seleccionar entre los tipos de pantalla que se
muestran en la siguiente tabla. También puede hacer clic en un control de cuerdas o indicador y seleccione Visible
Items »Estilo de visualización en el menú contextual para mostrar un glifo en el objeto que indica el tipo de
visualización. La tabla también muestra un mensaje de ejemplo en cada tipo de pantalla.

tipo Tipo de
Descripción Mensaje
Glifo visualización
norte Pantalla normal Muestra los caracteres imprimibles utilizando Hay cuatro tipos de pantalla.
la fuente del control. caracteres no \ Es una barra invertida.
visualizables generalmente aparecen como
cajas.
\ '\' Códigos de la Muestra la barra invertida códigos para todos Hay \ Sare \ sfour \ sdisplay \ stypes. \ N
pantalla los caracteres no visualizables. \\\ sis \ sa \ sbackslash.
PAG Mostrar Muestra un asterisco ( * ) para cada carácter, ****************************
contraseña incluidos los espacios. *****************
* hex Display Muestra el valor ASCII de cada carácter en 5468 6572 6520 6172 6520 7572 2064
hexadecimal en lugar del carácter propio. 6973 666F 706c 6179 2074 7970 6573
2061 6973 2E0A 5C20 2062 6163 7368
6B73 6C61 2E

Mesas
Utilice el control de tabla para crear una tabla en el panel frontal. Cada celda de una tabla es una cadena, y cada
célula reside en una columna y una fila. Por lo tanto, una tabla es una pantalla para una 2D matriz de cadenas.
La ilustración siguiente muestra una tabla y todas sus partes.
Edición, Formato y procesar las cadenas
Utilice las funciones de cadena para editar las cadenas de manera similar a lo siguiente:
 Buscar, recuperar y reemplazar caracteres o subcadenas dentro de una cadena.
 Cambiar todo el texto en una cadena a mayúsculas o minúsculas.
 Encontrar y recuperar patrones coincidentes dentro de una cadena.
 Recuperar una línea de una cadena.
 Rotar y revertir el texto dentro de una cadena.
 Concatenar dos o más cadenas.
 Eliminar caracteres de una cadena.
Consulte la Lista de verificación de estilo LabVIEW para obtener más consejos acerca de cómo minimizar el uso de
memoria durante la edición de cadenas mediante programación. Consulte el LabVIEW \ ejemplos \ Strings \
Strings.lvproj de ejemplos del uso de las funciones de cadena para editar cuerdas.

Formatear y procesar las cadenas


Para utilizar los datos en otro VI, función o aplicación, a menudo se debe convertir los datos en una cadena y luego
formato a la cadena de manera que el VI, función o aplicación puede leer. Por ejemplo, Microsoft Excel espera
cadenas que incluyen delimitadores, tales como pestañas, comas o espacios en blanco. Excel utiliza el delimitador
para separar los números o palabras en las células.
Por ejemplo, para escribir una matriz de valores numéricos 1D a una hoja de cálculo utilizando la escritura de archivo
de textofunción, debe formatear la serie en una cadena y separar cada numérico con un delimitador, como son las
tabletas. Puede utilizar la escritura del archivo de hoja de cálculo Para VI para dar formato a la matriz en una cadena
e insertar delimitadores.
Utilice las funciones de cadena para realizar tareas similares a las siguientes:
 Concatenar dos o más cadenas.
 Extraer un subconjunto de cadenas de una cadena.
 Convertir los datos en cadenas.
 Dar formato a una cadena para su uso en una aplicación de procesamiento de textos u hoja de cálculo.
Utilice el archivo de E / S VIs y funciones para guardar cadenas de texto y hojas de cálculo.

Los especificadores de formato


En muchos casos, se debe introducir una o más especificadores de formato en la cadena de formato de parámetros
de una función de cadena para dar formato a una cadena. Un especificador de formato es un código que indica cómo
convertir los datos numéricos o de una cadena. LabVIEW utiliza códigos de conversión para determinar el formato de
texto del parámetro. Por ejemplo, un especificador de formato de % x convierte un número entero hexagonal o de
una cadena.
El formato dentro de una cadena y escanear desde Cuerda en funciones puede utilizar múltiples especificadores de
formato en lacadena de formato de entrada, una para cada entrada o salida de la función ampliable.
El arreglo a cadena hoja de cálculo y la cadena de hoja de cálculo a la matriz funciones usar sólo un especificador de
formato en lacadena de formato de entrada debido a que estas funciones tienen una sola entrada para
convertir. LabVIEW trata cualquier especificadores adicionales se insertan en estas funciones como cadenas literales
que no tienen un significado especial.

Numéricas y de cadena de datos


Los datos numéricos y datos de cadena se diferencian porque los datos de cadena de caracteres ASCII es y datos
numéricos no lo es. Los archivos de texto y hojas de cálculo sólo aceptan cadenas. Para escribir datos numéricos a
un archivo de texto u hoja de cálculo, primero debe convertir los datos numéricos en una cadena.
Para agregar un conjunto de valores numéricos a una cadena existente, convertir los datos numéricos en una cadena
y usar el Cuerdas Concatenate u otra función String para agregar la nueva cadena a la cadena existente. Usa
los Conversión de cadenas / Número funciones para convertir los valores numéricos en cadenas.
Una cadena puede incluir un conjunto de valores numéricos se visualiza en un gráfico o tabla. Por ejemplo, se puede
leer un archivo de texto que incluye un conjunto de valores numéricos que desea trazar en un gráfico. Sin embargo,
esos valores numéricos están en texto ASCII, por lo que debe leer los valores numéricos en forma de una cadena y
luego formatee la cadena en un conjunto de valores numéricos antes de representarlas los valores numéricos de una
tabla.
El siguiente diagrama de bloques muestra una cadena que incluye un conjunto de valores numéricos, convierte la
cadena de valores numéricos , se construye una matriz de valores numéricos y gráficos de los valores numéricos de
una gráfica.

Busca Cuerdas
Use las cuerdas Funciones para buscar cadenas de caracteres, palabras, frases o números con expresiones
regulares. Se pueden utilizar expresiones regulares para buscar cadenas literales en el texto, como por ejemplo la
palabra "gato", o buscar cadenas en el texto que coinciden con un patrón particular, tales como las palabras que
comienzan con la letra "c" y termina con la letra "t" o subseries que comienzan con una letra seguida de uno o más
dígitos.
Utilice el patrón de ajuste de la función y la búsqueda y reemplazo del patrón VI para buscar cadenas mediante la
introducción de cadenas literales o caracteres especiales en la expresión normal de entrada. Utilice la búsqueda y
reemplazo de cuerdas función para buscar y reemplazar texto en una cadena.
Utilice la coincidencia de expresiones regulares función y la búsqueda y reemplazo de cuerdas función de patrón
regular más complejo juego utilizando el estándar de sintaxis de expresiones regulares compatibles con Perl
(PCRE) . Haga clic en el Buscar y reemplazar la función de cuerdas y seleccione de expresiones regulares en el
menú contextual para configurar la función de búsquedas de expresiones regulares avanzadas y la sustitución de
coincidencia parcial en la cadena de reemplazo. Cambiar el tamaño de la función de ajuste de expresiones regulares
para ver las coincidencias parciales que se encuentran en la cadena . Se puede utilizar el patrón de ajuste de función
o la función de coincidencia de expresiones regulares en cadenas para buscar expresiones regulares. La función de
coincidencia de expresiones regulares le da más opciones para las cadenas coincidentes pero funciona más
lentamente que la función Patrón de ajuste.

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.

Asociar unidades numéricas con números de coma flotante


Se puede asociar unidades físicas de medida , tales como metros o kilómetros / segundo, con cualquier control
numérico o indicador que tiene representación de coma flotante.
Las unidades para un control aparecen en una etiqueta de propiedad por separado, denominado etiqueta de la
unidad. Mostrar la etiqueta de la unidad, haga clic en el control y seleccionando Visible Items »etiqueta de la
unidad en el menú contextual. Haga clic en la etiqueta de la unidad y seleccione Construir unidad de la serie en el
menú contextual para editar la etiqueta de la unidad.
Cuando LabVIEW muestra la etiqueta de la unidad, se puede introducir una unidad mediante abreviaturas
estándar tales como mpara metros, pies para los pies, s por segundo, y así sucesivamente.
Nota: No es posible utilizar unidades de nodos Fórmula.

Las unidades y comprobación estricta de Tipo


Al asociar unidades con un objeto, se puede conectar sólo los objetos que tienen unidades compatibles. LabVIEW
utiliza estricta comprobación de tipos para verificar que las unidades son compatibles. Si cablea dos objetos con
unidades incompatibles, LabVIEW devuelve un error. Por ejemplo, LabVIEW devuelve un error si se cablea un objeto
con millas como su tipo de unidad a un objeto con litros como su tipo de unidad, debido a una milla es una unidad de
distancia y un litro es una unidad de volumen.
La siguiente VI muestra los objetos de cableado con las unidades compatibles. En este VI, LabVIEW reduce o amplía
automáticamente la distancia de indicador para mostrar kilómetros en lugar de metros debido kilómetros es la
unidad para el indicador.

Se produce un error en el siguiente VI debido a la distancia tiene un tipo de unidad de segundos. Para corregir el
error, cambie segundos a una unidad de distancia, tales como kilómetros, como se muestra en la VI anterior.

Algunos VIs y funciones son ambiguas con respecto a las unidades. No puede utilizar estos VIs y funciones con otros
terminales que tienen unidades. Por ejemplo, el Incremento función es ambigua con respecto a las unidades. Si
utiliza unidades de distancia, la función de incremento no puede decir si se debe añadir un metro, un kilómetro, o un
pie. Debido a esta ambigüedad, no se puede utilizar la función de incremento y otras funciones que se incrementan o
disminuir valores con los datos que se han asociado unidades.
Para evitar la ambigüedad en este ejemplo, utilice una constante numérica con la unidad adecuada y
el Agregar función para crear su propia función de la unidad de la subasta, como se muestra en el siguiente diagrama
de bloques.

Punto fijo de tipo de datos


El tipo de datos de punto fijo es un tipo de datos numérico que representa un conjunto de números racionales
utilizando dígitos binarios, o bits. A diferencia de la de punto flotante tipo de datos, lo que permite la precisión y el
rango de los datos para variar, puede configurar los números de punto fijo que utilice siempre un número específico
de bits de enteros y fraccionarios.
Nota: Para representar un número racional utilizando el tipo de datos de punto fijo, el denominador del número
racional debe ser reducible a una potencia de 2, debido a que el sistema de numeración binario es un sistema de
base-2 número.
Utilice el tipo de datos de punto fijo cuando no es necesario el rango dinámico de representación de coma flotante o
cuando se quiere trabajar con un objetivo que no sea compatible con aritmética de coma flotante.
Nota: (FPGA) Consulte Uso del punto fijo de tipo de datos para obtener más información sobre cómo utilizar el tipo
de datos de coma fija en un objetivo FPGA. Evaluar el uso de tipos de datos numéricos para determinar qué tipo de
datos se adapta mejor a su diseño.

En representación de los números racionales con el punto fijo Tipo de


Datos
Un número de coma fija tiene un número fijo de bits de enteros y fraccionarios. Los bits enteros aparecen a la
izquierda del punto binario, y los bits fraccionarios aparecen a la derecha del punto binario. Porque se puede
especificar el número exacto de bits que desea utilizar, el punto binario, que es el equivalente binario del punto
decimal, tiene una posición fija.
Por ejemplo, puede configurar LabVIEW para representar el número racional 0.5 como un número de coma fija con 8
bits totales y 4 bits enteros.

Número racional Equivalente de punto fijo


0,5 0000.1000

También puede configurar LabVIEW para representar el mismo número racional como un número de coma fija con 16
el total de bits y 8 bits enteros.

Número racional Equivalente de punto fijo


0,5 00000000.10000000

Los números de punto fijo difieren de los números de coma flotante en el que los números de coma flotante permiten
que el número de bits enteros y fraccionarios para variar cuando se realiza una operación en el número de coma
flotante. En otras palabras, el punto binario se puede mover, o flotar, en un número de coma flotante.
Nota: Si no se especifica el número exacto de bits que desea utilizar para representar el punto fijo equivalente a un
número racional, LabVIEW ajusta el número de bits para evitar la pérdida de datos, si es posible. LabVIEW no puede
manejar números de más de 64 bits.
Configuración de números de punto fijo
Para establecer un número a la representación de punto fijo, haga clic en el objeto numérico y
seleccione Representación en el menú contextual para cambiar el tipo de datos del objeto. Puede configurar la
codificación para los números de punto fijo. También puede especificar si se debe incluir un estado de
desbordamiento con números de punto fijo y cómo numérico funciones manejar desbordamiento de redondeo
y condiciones para los números de punto fijo. Para configurar un número de coma fija, haga clic en una constante, el
control, indicador o la función numérica y seleccione Propiedades en el menú contextual para mostrar las
propiedades numéricas , propiedades constantes numéricas , o las propiedades numéricas de nodo cuadro
de diálogo.

Codificación
Especificar la codificación binaria de un número de coma fija cuando se desea que el número de ajustarse a un
tamaño determinado de bits.
 Firmado -La opción que determina si se firma el dato de punto fijo. Si selecciona iniciado sesión, el bit de
signo es siempre el primer bit de la cadena de bits que representa los datos.
 Sin firmar opción -El que determina si los datos de punto fijo no está firmado.
 Longitud de palabra total -La de bits en la cadena de bits que LabVIEW utiliza para representar todos los
valores posibles de los datos de punto fijo. LabVIEW acepta una longitud máxima de palabra de 64 bits. Ciertos
objetivos pueden limitar los datos a longitudes de palabra más pequeñas . Si abre un VI en un objetivo y el VI
contiene datos de coma fija con longitudes de palabra más grande que el destino puede aceptar, la VI contiene
cables rotos. Consulte la documentación para un objetivo de determinar la longitud máxima de palabra acepta
el objetivo.
 Palabra de enteros longitud -El número de bits de enteros en la cadena de bits que LabVIEW utiliza para
representar todos los valores posibles de los datos de punto fijo, o, dada una posición inicial a la izquierda o a la
derecha del bit más significativo, el número de bits a desplazar el punto binario para alcanzar el bit más
significativo. La palabra entera de longitud puede ser mayor que la longitud de la palabra, y puede ser positivo o
negativo.
LabVIEW muestra esta configuración en el siguiente formato en el Contexto Ayuda ventana al mover el cursor sobre
un cable que transporta datos de punto fijo:
< Codificación , longitud de palabra , longitud de palabra número entero >
Por ejemplo:
<s, 16, 8> es un número de 16 bits con ocho bits enteros. La siguiente imagen representa un número firmado con
una longitud de palabra de 16 y una longitud de palabra de entero de 8.
1 longitud de palabra (16 bits)
2 longitud de palabra de entero (8 bits)
3 bit de signo
4 punto binario

Las longitudes de palabras largas o entero negativo


Si la palabra entera de longitud es mayor que la longitud de la palabra, LabVIEW no almacena los bits enteros que
exceden la longitud de la palabra. La siguiente imagen representa un número con una longitud de palabra de 8 y una
longitud de palabra de entero de 10.
1 longitud de palabra (8 bits)
2 longitud de palabra de entero (10 bits)
3 trozos enteros no guardan
4 punto binario

Si la palabra entera de la longitud es negativa, LabVIEW no almacena ningún bit entero y no almacena el número de
bits fraccionarios igual al número negativo, a partir del punto binario. La siguiente imagen representa un número con
una longitud de palabra de 8 y una longitud de palabra de enteros de -2.
1 longitud de palabra (8 bits)
2 longitud de palabra de entero menos la longitud de palabra (8 bits menos -2 bits)
3 los bits fraccionarios no se almacenan
4 punto binario
Distancia
LabVIEW calcula la gama y delta para un número de coma fija de acuerdo con los valores especificados para la
codificación del número de punto fijo.
 Mínimo valor mínimo -La para el rango de datos de punto fijo.
 Máximo valor máximo -La para el rango de datos de punto fijo.
 Delta incremento -La entre los números dentro del rango especificado.
LabVIEW expresa esta configuración en el siguiente formato en el Contexto Ayuda ventana al mover el cursor sobre
un cable que transporta datos de punto fijo:
[ Mínimo , máximo ]: Delta
Por ejemplo:
[-4, 4]: 1 tiene un valor mínimo de -4, un valor máximo de 4, y un delta de 1.
Aritmética de punto fijo
Cuando se realiza una operación aritmética con números de punto fijo para el que haya especificado una longitud de
palabra, la posición del punto binario no cambia desde la posición que especifique antes de ejecutar el VI. Este
comportamiento contrasta con los números de punto flotante, donde la posición del punto binario o decimal pueden
cambiar en tiempo de ejecución debido a una operación aritmética. Si el resultado de una operación aritmética
requiere una longitud de palabra mayor que la configuración de punto fijo permite, es posible que pierda los datos a
partir del resultado de la operación.
LabVIEW ajusta la longitud de palabra de valores de salida de numéricas funciones para evitar la pérdida de datos, si
es posible. Sin embargo, LabVIEW no puede evitar la pérdida de datos si la palabra necesaria para representar el
valor de salida de longitud excede el número máximo especificado o el LabVIEW máximo de 64 bits. Para configurar
los ajustes de salida para una función numérica, haga clic en la función y seleccione Propiedades en el menú
contextual para mostrar las propiedades numéricas de nodo cuadro de diálogo.
Desbordamiento y redondeo
Desbordamiento y condiciones de redondeo pueden ocurrir cuando se realiza una operación aritmética de números
de punto fijo o cuando se utiliza el a-Punto Fijo función para convertir datos numéricos en datos de coma
fija. LabVIEW configura las salidas de las funciones numéricas para evitar desbordamiento o redondeo de los datos
de punto fijo, si es posible. Sin embargo, LabVIEW no puede evitar el desbordamiento de redondeo o bajo ciertas
condiciones.
Por ejemplo, si los valores de punto fijo de alambre a funciones numéricas tales como Añadir , Restar , Multiplicar ,
y la plaza , LabVIEW aumenta la longitud de palabra del valor de salida para acomodar el resultado de la operación
por defecto. Este comportamiento es similar al comportamiento de los valores de punto flotante. Sin embargo, si
evitar desbordamiento o redondeo requiere un valor de salida que supera la longitud máxima de palabra que
LabVIEW acepta o la longitud máxima de palabra que especifique, desbordamiento o pueden producirse condiciones
de redondeo. LabVIEW acepta una longitud máxima de palabra de 64 bits.
Nota: Si usted valores de punto fijo de alambre a la divisoria función, el recíproco función, o la raíz cuadrada función
de redondeo, las condiciones siempre se producen debido a la precisión de los resultados puede ser infinita.
Otras condiciones se puedan producir desbordamientos o redondeo incluyen ciclos de tipo y los valores que no se
puede representar exactamente en un sistema de base 2 número.
Rebosar
Desbordamiento se produce cuando el resultado de una operación está fuera del rango de valores que el tipo de
salida puede representar. Puede seleccionar entre los siguientes modos de desbordamiento para manejar el
desbordamiento:
 Sature -Si el valor es mayor que el valor máximo en el intervalo deseado del tipo de salida, LabVIEW
coacciona, o rondas, el valor que el máximo especificado. Si el valor es menor que el valor mínimo en el rango
deseado del tipo de salida, LabVIEW coacciona el valor al mínimo especificado.
 Envuelve -Si el valor está fuera del intervalo deseado del tipo de salida, LabVIEW descarta bits
significativos del valor hasta que el valor está en el rango deseado del tipo de salida. Esta opción requiere que
el valor de salida para adaptarse a la codificación que se especifique. No se puede especificar un rango
deseado si se selecciona esta opción, porque LabVIEW establece automáticamente la gama para adaptarse a
la codificación.
Nota: Normalmente, el modo Saturar requiere recursos de hardware adicionales en una FPGA.
Para determinar si se produce un desbordamiento, se puede configurar un número de coma fija para incluir una
condición de desbordamiento. Cuando se incluye un estado de desbordamiento en un número de punto fijo,
LabVIEW asigna espacio de almacenamiento adicional para realizar un seguimiento de si el número de punto fijo es
el resultado de una operación que se desbordó. Después de configurar un número de coma fija para incluir una
condición de desbordamiento, puede mostrar un estado de desbordamiento LED en los controles de punto fijo,
constantes e indicadores. Este LED se ilumina cuando la condición de desbordamiento del número de punto fijo es
TRUE. También puede utilizar el punto fijo de desbordamiento? Funcionar para determinar el estado de
desbordamiento de un número de coma fija. Usa los de punto fijo de funciones para manipular el estado de
desbordamiento de un número de coma fija.
Nota: LabVIEW no comprueba las condiciones de flujo inferior en números de punto fijo.

Cuando se utiliza la comparación de funciones para comparar los números de punto fijo, LabVIEW hace caso omiso
de la condición de desbordamiento y compara solamente los números. Por ejemplo, si se utiliza
la Igualdad? Funcionar para comparar un valor de punto fijo de 1,5 con un estado de desbordamiento de TRUE para
un valor de punto fijo de 1,5 sin estado de overflow, LabVIEW devuelve TRUE.
Para configurar los ajustes de salida para una función numérica, haga clic en la función y seleccione Propiedades en
el menú contextual para mostrar las propiedades numéricas de nodo cuadro de diálogo. Puede utilizar este cuadro
de diálogo para configurar cómo LabVIEW maneja desbordamiento y las condiciones de redondeo.

Redondeo
El redondeo se produce cuando la precisión del valor de entrada o el resultado de una operación es mayor que la
precisión del tipo de salida. LabVIEW coacciona el valor de entrada en un valor con la misma precisión que el tipo de
salida. Por ejemplo, suponga que el tipo de salida puede representar los sucesivos valores de s y t. Si el resultado de
una operación es el valor x , y x es entre s y t tal que s < x < t , el redondeo se debe a que el tipo de salida no puede
representar x exactamente.
Puede elegir entre los siguientes modos de redondeo para manejar redondeo:
 Truncar o manos el valor hasta el valor más cercano que el tipo de salida puede representar. LabVIEW
descarta los bits menos significativos del valor. Este modo de redondeo tiene el mejor rendimiento, pero
también produce los valores de salida menos precisos.

Por ejemplo, si el valor de salida x se encuentra entre los sucesivos valores de s y t tal que

s<x<t,

juegos de LabVIEW x a la igualdad de s .


 Ronda-Media-Up o manos el valor al valor más cercano que el tipo de salida puede representar. Si el valor
que ronda es exactamente entre dos valores válidos, este modo redondea el valor hasta el mayor de los dos
valores válidos. LabVIEW añade medio de un bit menos significativo al valor de salida y, a continuación trunca
el valor. Este modo de redondeo produce valores de salida más precisos que truncado, pero también tiene un
mayor impacto en el rendimiento.

Por ejemplo, si el valor de salida x se encuentra entre los valores sucesivos s y t tal que

s<x<t,

juegos de LabVIEW x sea igual a la más cercana de s o t . Si x es exactamente entre s y t , LabVIEW


selecciona t .
 La mitad de ida y de equilibrio o manos el valor al valor más cercano que el tipo de salida puede
representar. Si el valor que ronda es exactamente entre dos valores válidos, LabVIEW comprueba el bit del
valor que se convierte en el bit menos significativo después de redondear. Si el bit es 0, este modo redondea el
valor para el menor de los dos valores que el tipo de salida puede representar. Si el bit no es 0, este modo
redondea el valor al mayor de los dos valores. Este modo de redondeo tiene el mayor impacto en el
rendimiento, pero produce valores de salida más preciso que truncado. Este modo también neutraliza la
tendencia hacia valores más altos que puede ocurrir cuando se realizan varias operaciones de redondeo que
utilizan el modo de ida y media para arriba. Este es el modo por defecto de redondeo.
Por ejemplo, si el valor de salida x se encuentra entre los sucesivos valores de s y t tal que

s < x < t,

juegos de LabVIEW x sea igual a la más estrecha de s o t . Si x es exactamente entre s y t , seleccione s si el


bit menos significativo después del redondeo es 0. Seleccione t si el bit menos significativo después del
redondeo no es 0.
Nota: El impacto en el rendimiento de cualquier modo de redondeo es mínima. Sin embargo, el impacto en el
rendimiento puede ser significativo si se ejecuta un VI que se encarga de desbordamiento en un objetivo como
FPGA.

La siguiente tabla muestra los tipos de datos numéricos disponibles en LabVIEW. LabVIEW tiendas de cada
tipo de datos de una manera diferente.

Los bits de Número


Tipo de datos
Terminal almacenamiento en aproximado de intervalo aproximado
numérico
disco dígitos decimales
De precisión 32 6 Número positivo mínima:
simple, de punto 1.40e-45
flotante
Máximo número positivo:
3.40e + 38
número negativo mínimo:
-1.40e-45
negativo máximo número: +
38 -3.40e
De doble 64 15 Número positivo mínima:
precisión, de 4.94e-324
punto flotante
Máximo número positivo:
1,79E + 308
número negativo mínimo:
-4.94e-324
negativo máximo número: +
308 -1.79e
Extendido 128 varía del 15 al 20 Número positivo mínima:
precisión, de por la plataforma 6.48e-4966
punto flotante
1.19e + 4932: Número
máximo positivo
número negativo mínimo:
-6.48e-4966
negativo máximo número:
4932 + -1.19e
Complejo de 64 6 Igual que la precisión simple
precisión simple, de punto flotante para cada
de punto flotante parte (reales e imaginarios)
Complejo de 128 15 Igual que el de doble
doble precisión, precisión, de punto flotante
de punto flotante para cada parte (reales e
imaginarios)
Complejo 256 varía del 15 al 20 Igual que la precisión
precisión por la plataforma extendida, de punto flotante
extendida, de para cada parte (reales e
punto flotante imaginarios)
Punto fijo 64, o 72 si seincluyen un varía según la varía según la configuración
estado de configuración del del usuario
desbordamiento usuario
Byte entero con 8 2 -128-127
signo
Palabra entero de dieciséis 4 32.768 a 32.767

firmado entero 32 9 -2147483648 A 2147483647


largo
Quad signo 64 18 -1e19 A 1e19
integrado

Byte entero sin 8 2 0-255


signo
Palabra entero sin dieciséis 4 0 a 65.535
signo
entero sin signo 32 9 0 y 4.294.967.295
de largo
Quad entero sin 64 19 0 a 2e19
signo

sello de tiempo de 128 19 Tiempo mínimo: 01/01/1600


128 bits 00:00:00
UTC tiempo máximo:
01/01/3001 00:00:00 UTC

Tipo de Dato Booleano

LabVIEW almacena datos Booleanos como valores de 8 bits. Usted puede usar un Booleano 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.

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.
Arreglos
Algunas veces es benéfico agrupar datos relacionados. Use arreglos y clusters para agrupar datos relacionados en
LabVIEW. Los arreglos combinan puntos de datos del mismo tipo de datos en una estructura de datos y los clusters
combinan puntos de datos de múltiples tipos de datos en una estructura de datos.
Un arreglo consiste de elementos y dimensiones. Los elementos son los puntos de 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 puntos 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 representa los 12 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 1 y el segundo elemento (1.00) está en 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 del la imagen del elemento.

(1) Imagen del Índice | (2) Imagen del Elemento


Figura 1. Control de Arreglo de Numéricos

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

Arreglos en Dos Dimensiones


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 Añadir Dimensión 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. La Figura 4muestra un control arreglo en 2D sin configurar. Note que todos los elementos están
atenuados. Esto indica que el arreglo no está configurado.

Figura 4. Arreglo en 2D sin Configurar

En un arreglo en 2D, después de que inició un elemento, cualquier elemento no iniciado en esa columna y en
columnas previas es iniciado y publicado con el valor predeterminado para el tipo de datos. En la Figura 5, un valor
de 4 fue proporcionado en la columna 2, del arreglo basado en 0. Los elementos previos en la columna 0, 1 y 2 son
iniciados en 0, el cual es el valor predeterminado para el tipo de dato numérico.

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

Crear Constantes tipo Arreglo


Para crear una constante del arreglo en el diagrama de bloques, seleccione una constante del arreglo 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.

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 Habilitar Índexado o Deshabilitar Índexado 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 terminal de conteo del Ciclo For no está cableada, el botón de ejecución esta roto y no permite la
ejecución del VI. Sin embargo, en este caso el botón de ejecución 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 Habilitar Índices o Deshabilitar Índices
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 Dos Dimensiones


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.

Crear Controles e Indicadores de Cluster


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 el siguiente panel frontal 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 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.

Figura 10. Ejemplo de Control de Cluster

Crear Constantes del Cluster


Para crear una constante del cluster en el diagrama de bloques, seleccione una constante del cluster en la paleta de
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 el Cluster,
Paleta Class & Variant 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 existente. La función de ABundle 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.LaFigura 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 16muestra el control enumerado Mes, la selección de un par de datos en el control enumerado y la
terminal del diagrama de bloques correspondiente.
(1) Control de Panel Frontal | (2) Seleccionar un Elemento | (3) Terminal de Diagrama de Bloques
Figura 16. Control Enumerado Mes

Herramienta de Sonda de Prueba

Use la herramienta Probe para verificar los valores intermedios en un cable mientras un VI se ejecuta.

Use la herramienta de Sonda de Prueba si tiene un diagrama de bloques complicado con una serie de operaciones y
cualquiera de ellas puede regresar datos incorrectos. Use la herramienta de Probe con la identificación de ejecución,
avance simple y puntos de paro para determinar donde están los datos incorrectos. Si los datos están disponibles, la
punta de prueba se actualiza inmediatamente y muestra los datos en laProbe Watch Windowdurante la
identificación de ejecución, avance simple o cuando hace pausa en un punto de paro. Cuando la ejecución hace
pausa en un nodo por avance simple o un punto de paro, también puede medir el cable que se ejecutó para ver el
valor que fluye a través de ese cable.
Estructuras de Ejecución

Las estructuras de ejecución contienen secciones de código gráfico y controlan cómo y dónde el código dentro se
ejecuta. Las estructuras de ejecución más comunes son Ciclos While, Ciclos For y Estructuras de Casos los cuales
puede usar para ejecutar la misma sección del código varias veces o para ejecutar una sección diferente del código
basada en alguna condición.

Ciclos
Ciclos While
Similar a un Ciclo Do o a un Ciclo Repeat-Until en lenguajes de programación basados en texto, un Ciclo While, que
se muestra en laFigura 1, ejecuta el código que contiene hasta que ocurre una condición.

(1) Ciclo While de LabVIEW | (2) Diagrama de Flujo | (3) Código Pseudo
La Figura 1 muestra un Ciclo While en LabVIEW, un diagrama de flujo equivalente a la funcionalidad de Ciclo While
y un código de ejemplo pseudo de la funcionalidad del Ciclo While.

El Ciclo While está ubicado en la paleta Structures. Seleccione el Ciclo While en la paleta y después use el cursor
para arrastrar una selección rectangular alrededor de la sección del diagrama de bloques que desea repetir. Cuando
suelte el botón del mouse, un borde del Ciclo While encierra la sección que seleccionó.
Añada objetos del diagrama de bloques al Ciclo While al arrastrarlos dentro del Ciclo While.
El Ciclo While ejecuta el código que contiene hasta la terminal condicional, una terminal de entrada, recibe un valor
Booleano específico.
También puede realizar manejo básico de error usando la terminal condicional de un Ciclo While. Cuando cablea un
cluster de error a la terminal condicional, solamente el valor True o False del parámetro de estatus del cluster de error
pasa a la terminal. También, los elementos del menú Stop if True y Continue if True cambian a Stop if Error y
Continue while Error.

La terminal de iteración es una terminal de salida que contiene el número de iteraciones terminadas.

La cantidad de iteraciones para el Ciclo While siempre comienza en cero.


Nota: El Ciclo While siempre se ejecuta por lo menos una vez.

Ciclos Infinitos
Los ciclos infinitos son un error común de programación que involucra un ciclo que nunca se detiene.
Si la terminal condicional es Stop if True, usted coloca la terminal de un control Booleano afuera de un Ciclo While. Si
el control es FALSE cuando el ciclo comienza, provoca un ciclo infinito.
Figura 2. Control Booleano Fuera del Ciclo While

Cambiar el valor del control no detiene al ciclo infinito ya que el valor es de lectura una vez y eso sucede antes que el
ciclo inicie. Para usar un control para detener un Ciclo While, debe colocar la terminal del control dentro del ciclo.
Para detener un ciclo infinito, debe abortar e VI al dar clic en el botón Abort Execution de la barra de herramientas.
En la Figura 3 el Ciclo While se ejecuta hasta que la salida de la función Random Number es mayor o igual que
10.00 y el control Enable esTrue. La función Añadir regresa True solamente su ambas entradas son True. De lo
contrario, regresa False.
En la Figura 3, hay un ciclo infinito ya que la función Random nunca generara un valor igual o mayor que 10.0 0.

Figura 3. Ciclo Infinito

Túneles de Estructura
Los túneles alimentan datos desde y hacia estructuras. El túnel aparece como un bloque sólido en el borde el Ciclo
While. El bloque es el color del tipo de datos cableado al túnel. Los datos salen fuera de un ciclo después de que el
ciclo termina. Cuando un túnel pasa datos a un ciclo, el ciclo se ejecuta solamente después que los datos llegan al
túnel.
En la Figura 4, la terminal de iteración está conectada a un túnel. El valor en el túnel no pasa al indicador de
iteraciones hasta que el Ciclo While termina de ejecutarse.
Figura 4. Túnel de Ciclo While

Solamente el último valor de la terminal de iteración se muestra en el indicador de iteraciones.

Ciclos For
Un Ciclo For ejecuta un subdiagrama un número de veces establecido. La Figura 5muestra un Ciclo For en
LabVIEW, un diagrama de flujo equivalente a la funcionalidad de Ciclo For y un código de ejemplo pseudo de la
funcionalidad del Ciclo For.

(1) Ciclo For de LabVIEW | (2) Diagrama de Flujo | (3) Código Pseudo
Figura 5. Ciclo For

El Ciclo For está en la paleta Structures. También puede colocar un Ciclo While en el diagrama de bloques, dar clic
con botón derecho en el Ciclo While y seleccionar Replace with For Loop en el menú de acceso directo para cambiar
un Ciclo While Loop a Ciclo For.

La terminal de conteo es una terminal de entrada cuyos valores indican cuantas veces se repite el subdiagrama.

La terminal de iteración es una terminal de salida que contiene el número de iteraciones terminadas.

La cantidad de iteraciones para el Ciclo For siempre comienza en cero.


El Ciclo For difiere del Ciclo While en que el Ciclo For ejecuta un número de veces establecido. Un Ciclo While
detiene la ejecución solamente si existe el valor en la terminal condicional.
El Ciclo For en la Figura 6 genera un número aleatorio cada segundo por 100 segundos y muestra los números
aleatorios en un indicador numérico.
Figura 6. Ejemplo de Ciclo For

Añadir Temporización a los Ciclos


Cuando un ciclo termina de ejecutar una iteración, inmediatamente comienza la próxima iteración, a menos que
alcance una condición de paro. A menudo se necesita controlar la frecuencia y la temporización de la iteración Por
ejemplo, si está adquiriendo datos y desea adquirir los datos una vez cada 10 segundos, necesita una manera de
temporizar las iteraciones del ciclo para que ocurran una vez cada 10 segundos. Aún si no necesita que la ejecución
ocurra a una cierta frecuencia, necesita proporcionar al procesador el tiempo para completar otras tareas, como
responder a la interfaz de usuario.

Función de Espera
Coloque una función de Espera dentro del ciclo para permitir que un VI se duerma por un cierto tiempo. Esto permite
que su procesador maneje otras tareas durante el tiempo de espera. Las funciones de espera utilizan el reloj de
milisegundos del sistema operativo.

La función de Espera (ms) espera hasta que el contador de milisegundos cuenta una cantidad igual a la entrada que
usted especificó. Esta función garantiza que la razón de ejecución del ciclo sea por lo menos la cantidad de la
entrada que usted especificó.

Estructuras de Casos

Una estructura de Casos tiene dos o más subdiagramas o casos.

Solamente un subdiagrama es visible a la vez y la estructura ejecuta solamente un caso a la vez. Un valor de entrada
determina cual subdiagrama se ejecuta. La estructura de Caso es similar a las instrucciones del interruptor o las
instrucciones si...después... en lenguajes de programación basados en texto.

La etiqueta del selector de caso en la parte superior de la estructura de Caso contiene el nombre del valor del
selector que corresponde al caso en el centro y a las flechas de incremento y reducción a cada lado.

Haga clic en las flechas de incremento y reducción para desplazarse en los casos disponibles. También puede hacer
clic en la flecha hacia abajo a lado del nombre del caso y seleccionar un caso en el menú desplegable.

Cablee un valor de entrada o selector a la terminal del selector para determinar qué caso se ejecuta.

Debe cablear un entero, valor Booleano, secuencia o valor de tipo enumerado a la terminal del selector. Puede
colocar la terminal del selector en cualquier parte del borde izquierdo de la estructura de Casos. Si el tipo de datos de
la terminal del selector es Booleano, la estructura tiene un caso True o un caso False. Si la terminal del selector es un
entero, secuencia o valor de tipo enumerado, la estructura tiene cualquier número de casos.
Nota: Los valores de cadena de caracteres que cablea a la terminal del selector son sensibles a las
mayúsculas/minúsculas de forma predeterminada. Para mostrar resultados no sensibles a las
mayúsculas/minúsculas, cablee un valor de caracteres a la terminal del selector, haga clic con botón derecho en el
borde de la estructura de Casos y seleccione Case Insensitive Match del menú.
Si no especifica un caso de forma predeterminada para la estructura de Casos para manejar los valores fuera del
rango, debe enlistar de forma explícita cada valor de entrada. Por ejemplo, si el selector es un entero y usted
especifica los casos para 1, 2 y 3, debe especificar un caso de forma predeterminada a ejecutar si el valor de entrada
es 4 o cualquier otro valor entero no especificado.
Nota: Usted no puede especificar un caso de forma predeterminada si cablea un control Booleano al selector.
Si hace clic con botón derecho en la etiqueta del selector de casos, Make This The Default Case no aparece en el
menú. Haga el control Booleano TRUE o FALSE para determinar cuál caso se ejecuta.
Haga clic con botón derecho en el borde de la estructura para añadir, duplicar, eliminar o reorganizar casos y para
seleccionar un caso predeterminado.

Seleccionar un Caso
La Figura 7 muestra un VI que utiliza una estructura de Caso para ejecutar código diferente dependiendo si el
usuario selecciona °C o °F para las unidades de temperatura. El diagrama de bloques de arriba muestra el caso True
en primer plano. En el diagrama de bloques del centro, el caso Falso es seleccionado. Para seleccionar un caso,
proporcione el valor en el identificador del selector de casos o use la herramienta de Etiquetado para editar los
valores. Después que seleccionó otro caso, ese caso se ve en el diagrama de bloques, como se muestra en la parte
inferior del diagrama de bloques Figura 7.

Figura 7. Cambiar la Vista de Casos de una Estructura de Casos

Si usted proporciona un valor de selector que no es del mismo tipo que el objeto cableado a la terminal del selector,
el valor aparece en rojo. Esto indica que el VI no se ejecutará hasta que elimine o edite el valor. También, por el
posible redondeo de error inherente a la aritmética de punto flotante, no puede usar los números de punto flotante
como valores de selector de casos. Si cablea un valor de punto flotante al caso, LabVIEW redondea el valor al entero
más cercano. Si escribe un valor de punto flotante en la etiqueta del selector de casos, el valor aparece en rojo para
indicar que debe eliminar o editar el valor antes que la estructura pueda ejecutarse.

Túneles de Entrada y Salida


Puede crear múltiples túneles de entrada y salida para una estructura de Casos. Las entradas están disponibles para
todos los casos, pero los casos no necesitan usar cada unidad. Sin embargo, debe definir un túnel de salida para
cada caso.
Considere el siguiente ejemplo: una estructura de Casos en el diagrama de bloques tiene un túnel de salida, pero por
lo menos en uno de los casos, no hay valor de salida cableado al túnel. Si ejecuta este caso, LabVIEW no sabe qué
valor regresar a la salida. LabVIEW indica este error al dejar el centro del túnel en blanco. El caso no cableado no
debe ser el caso que está visible actualmente en el diagrama de bloques.
Para corregir este error, muestre los casos que contienen el túnel de salida sin cablear y cablee una salida al túnel.
También puede dar clic con botón derecho en el túnel de salida y seleccionar Use Default If Unwired en el menú para
usar el valor predeterminado para el tipo de datos de túnel para todos los túneles no cableados. Cuando la salida
está cableada en todos los casos, el túnel de salida está en color sólido.
Evite usar la opción Use Default If Unwired. Al usar esta opción no documenta el diagrama de bloques bien y puede
confundir a otros programadores que utilizan su código. La opción Use Default If Unwired también hace difícil la
depuración del código. Si utiliza esta opción, tome en cuenta que el valor predeterminado usado es el valor
predeterminado para el tipo de datos que es cableado al túnel. Por ejemplo, si el tipo de datos es Booleano, el valor
predeterminado es FALSE.

Tipo de Datos Valor Predeterminado

Numérico 0

Booleano FALSE

Cadena de caracteres vacío (“”)


Tabla 1. Valores Predeterminados de Tipo de Datos

Otras Estructuras
LabVIEW tiene otros tipos más avanzados de estructuras de ejecución como estructuras de Eventos (usadas para
manejar tareas dirigidas por interrupciones como interacción UI) y estructuras de Secuencia (usadas para forzar el
orden de ejecución), las cuales están fuera del alcance de este material introductorio. Para aprender más sobre estas
estructuras, consulte el tema apropiado en LabVIEW Help.
Pasar Datos entre Iteraciones de Ciclo
Al programar con ciclos, generalmente debe tener acceso a datos desde iteraciones anteriores del ciclo en LabVIEW.
Por ejemplo, si está adquiriendo un elemento de los datos en cada iteración de un ciclo y debe promediar cada cinco
elementos, debe retener los datos de iteraciones anteriores del ciclo.

Registros de Desplazamiento

Use los registros de desplazamiento cuando quiera pasar valores de iteraciones anteriores a través del ciclo a la
siguiente iteración. Un registro de desplazamiento aparece como un par de terminales directamente opuestas en las
partes verticales del borde del ciclo.
La terminal en la parte derecha del ciclo contiene una flecha hacia arriba y almacena datos de la terminación de una
iteración. LabVIEW transfiere los datos conectados en la parte derecha del registro a la próxima iteración. Después
que el ciclo se ejecuta, la terminal en la parte derecha del ciclo regresa al último valor almacenado en el registro de
desplazamiento.
Cree un registro de desplazamiento al dar clic con botón derecho en el borde izquierdo o derecho y seleccione Add
Shift Register desde el menú de acceso directo.
Un registro de desplazamiento transfiere cualquier tipo de datos y cambia automáticamente al tipo de datos del
primer objeto cableado al registro de desplazamiento. Los datos que usted cablea a las terminales de cada registro
de desplazamiento deben ser del mismo tipo.
Puede añadir más de un registro de desplazamiento a un ciclo. Si tiene múltiples operaciones que usan valores de
iteraciones anteriores en su ciclo, use múltiples registros de desplazamiento para almacenar los valores de datos
desde esos procesos en la estructura, como se muestra en la Figura 1.

Figura 1. Usar Múltiples Registros de Desplazamiento

Iniciar Registros de Desplazamiento


Al iniciar un registro de desplazamiento se restablece el valor que el registro de desplazamiento pasa a la primera
iteración del ciclo cuando se ejecuta el VI. Inicie un registro de desplazamiento al cablear un control o constante a la
terminal del registro de desplazamiento en la parte izquierda del ciclo, como se muestra en la Figura 2.

Figura 2. Registro de Desplazamiento Iniciado


En la Figura 2, el Ciclo For se ejecuta cinco veces, incrementando el valor que el registro de desplazamiento
contiene por uno cada vez. Después de cinco iteraciones del Ciclo For, el registro de desplazamiento pasa el valor
final, 5, al indicador y el VI se detiene. Cada vez que ejecuta el VI, el registro de desplazamiento comienza con un
valor de 0. Si usted no inicia el registro de desplazamiento, el ciclo utiliza el valor escrito en el registro de
desplazamiento cuando el último ciclo es ejecutado o el valor pre determinado para el tipo de datos si el ciclo nunca
ha sido ejecutado. Use un registro de desplazamiento no iniciado para conservar la información del estado entre
ejecuciones subsecuentes de un VI.

Figura 3. Registro de Desplazamiento No Iniciado

En la Figura 3, el Ciclo For se ejecuta cinco veces, incrementando el valor que el registro de desplazamiento
contiene por uno cada vez. La primera vez que ejecuta el VI, el registro de desplazamiento comienza con un valor de
0, el cual es el valor predeterminado para un entero de 32 bits. Después de cinco iteraciones del Ciclo For, el registro
de desplazamiento pasa el valor final, 5, al indicador y el VI se detiene. La próxima vez que ejecuta el VI, el registro
de desplazamiento comienza con un valor de 5, el cual es el último valor de la ejecución anterior. Después de cinco
iteraciones del Ciclo For, el registro de desplazamiento pasa el valor final, 10, al indicador. Si ejecuta el VI otra vez, el
registro de desplazamiento comienza con un valor de 10 y así sucesivamente. Los registros de desplazamiento no
iniciados retienen el valor de la iteración anterior hasta que usted cierra el VI.

Registros de Desplazamiento Apilados


Con registros de desplazamiento apilados, usted puede tener acceso a los datos de iteraciones de ciclo anteriores.
Los registros de desplazamiento recuerdan los valores de múltiples iteraciones anteriores y llevan esos valores a las
próximas iteraciones. Para crear una fila de registro de desplazamiento, haga clic con botón derecho en la terminal
izquierda y seleccione Añadir Elemento en el menú de acceso directo.
Los registros de desplazamiento apilados pueden ocurrir solamente en la parte izquierda del ciclo porque la terminal
derecha transfiere los datos generados solamente desde la iteración actual a la siguiente iteración.

Figura 4. Usar Registros de Desplazamiento Anidados

Si añade otro elemento a la terminal izquierda en el diagrama de bloques anterior, los valores desde las últimas dos
iteraciones se llevan a la siguiente iteración, con el valor de la iteración más reciente almacenado en el último registro
de desplazamiento. La primera terminal almacena los datos pasados a ella desde la iteración anterior.
Manejo de Errores
No importa qué tanto confía en el VI que creó, puede predecir cada problema que un usuario puede encontrar. Sin un
mecanismo que verifica errores, solamente usted sabe que el VI no funciona adecuadamente. La detección de
errores le dice por qué y donde ocurren los errores.

Manejo Automático de Errores


Cada error tiene un código numérico y un mensaje de error correspondiente.
LabVIEW maneja automáticamente, de forma pre determinada, cualquier error cuando se ejecuta un VI al suspender
la ejecución, identificando el subVI o función donde ocurrió el error y mostrando una ventana de diálogo de error.
Para deshabilitar el manejo automático de errores para el VI actual, seleccione File»VI Properties y
seleccione Execution en el menú de acceso directo Category. Para deshabilitar el manejo de errores automático
para cualquier VI en blanco que usted crea, seleccioneTools»Options y seleccione Block Diagram en la
lista Category. Para deshabilitar el manejo automático de errores para un subVI o función en un VI, cablee su
parámetro error out al parámetro error in para otro subVI o función o a un indicador error out.

Manejo Manual de Errores


Puede escoger otros métodos de manejo de errores. Por ejemplo, si un VI de E/S en el diagrama de bloques se
multiplica, usted no querrá que la aplicación completa se detenga y muestre una ventana de diálogo de error.
También puede querer que el VI intente nuevamente en un cierto periodo de tiempo. En LabVIEW, puede realizar
estas decisiones de manejo de error en el diagrama de bloques del VI.
Use los VIs del manejo de errores de LabVIEW y las funciones en la paleta Dialog & User Interface y los
parámetros error in y error out de la mayoría de los VIs y las funciones para manejar errores. Por ejemplo, si
LabVIEW encuentra un error, puede mostrar el mensaje de error en diferentes tipos de ventanas de diálogo. Utilice el
manejo de errores con las herramientas de depuración para encontrar y manejar errores.
Cuando realice cualquier tipo de entrada y salida E/S, considere la posibilidad de que pueden ocurrir errores. Casi
todas las funciones de E/S regresan información de error. Incluyendo la verificación de errores en los VIs,
especialmente para operaciones de E/S (archivo, serial, instrumentación, DAQ y comunicación) y proporciona un
mecanismo para manejar errores apropiadamente.
Use los VIs del manejo de errores de LabVIEW, funciones y parámetros para manejar errores. Por ejemplo, si
LabVIEW encuentra un error, puede mostrar el mensaje de error en una ventana de diálogo. O puede arreglar el error
de forma programática y después borrar el error al cablear la salida error out del subVI o función a la entrada error
in del VI Borrar Errores. Utilice el manejo de errores con las herramientas de depuración para encontrar y manejar
errores.

Clusters de Error
El manejo de error en LabVIEW sigue el modelo del flujo de datos. Como los valores de datos fluyen a través de un
VI. Cablee la información del error desde el inicio del VI hasta el final. Incluya un VI para manejo de error, como el
Simple Error Handler VI, al final del VI para determinar si el VI se ejecutó sin errores. Use los clusters error in y error
out en cada VI que utilice o construya para pasar la información del error a través del VI.
Conforme el VI se ejecuta, LabVIEW hace pruebas para errores en cada nodo de ejecución. Si LabVIEW no
encuentra ningún error, el nodo se ejecuta normalmente. Si LabVIEW detecta un error, el nodo pasa el error al
siguiente nodo sin ejecutar la parte del código. El siguiente código hace lo mismo y así sucesivamente. Al final del
flujo de ejecución, LabVIEW reporta el error.
Use los controles e indicadores del cluster de error para crear entradas y salidas de error en los subVIs.
Los clusters error in y error out incluyen los siguientes componentes de información:
 status es un valor Booleano que reporta TRUE si ocurre un error.
 code es un entero firmado de 32 bits que identifica el error de forma numérica. Un código de error no igual a
cero unido a un estatus FALSE emite una advertencia más que un error.
 source es una cadena de caracteres que identifica donde ocurrió el error.

Explicar Error
Cuando ocurre un error, haga clic con botón derecho en la orilla del cluster y seleccione Explain Error en el menú de
acceso directo para abrir la ventana de diálogo de Explain Error. La ventana de diálogo de Explain Error contiene
información sobre el error. El menú de acceso directo incluye una opción de Explicar Advertencia si el VI contiene
advertencias pero no errores.
Usted también puede tener acceso a la ventana de diálogo Explain Error en el menú Help»Explain Error.

Usar Ciclos While para Manejo de Errores


Puede cablear un cluster de error a la terminal condicional de un Ciclo While o a un Ciclo For con una terminal
condicional para detener la iteración del ciclo. Si cablea el cluster de error a la terminal condicional, solamente el
valor TRUE o FALSE del parámetro de estatus del cluster de error pasa a la terminal. Si ocurre un error, el ciclo se
detiene. En un Ciclo For con una terminal condicional, también debe cablear un valor a la terminal de conteo o auto-
index un arreglo de entrada para establecer un número máximo de iteraciones. El Ciclo For se ejecuta hasta que
ocurre un error o hasta que se completa el número de iteraciones establecido.
Si cablea un cluster de error a la terminal condicional, el menú muestra Stop if True y Continue if True cambia a Stop
on Error y Continue while Error.
En la Figura 1, el cluster de error y un botón stop son usados juntos para determinar cuándo detener al ciclo. Este es
el método recomendado para detener la mayoría de los ciclos mientras el ciclo se detiene cuando usted lo pide, o
cuando algo anda mal (y se produce un error), cualquiera que suceda primero.

Figura 1. Detener un Ciclo While


Encontrar Ejemplos
Para la mayoría de los proyectos de LabVIEW, especialmente cuando es nuevo en LabVIEW, es benéfico comenzar
con un ejemplo y modificar el código para cumplir con sus necesidades.

NI Example Finder
Use el NI Example Finder para encontrar ejemplos instalados en su PC. Estos ejemplos demuestran cómo usar
LabVIEW para realizar una amplia variedad de tareas de pruebas, medidas, control y diseño. Seleccione Help»Find
Examples o haga clic en el enlace Encontrar Ejemplos en la sección de Ejemplos de la ventana de Getting Started
para iniciar el NI Example Finder.
Los ejemplos pueden mostrarle cómo usar VIs o funciones específicas. Puede dar clic con botón derecho en un VI o
función en el diagrama de bloques o en una paleta y seleccionar Ejemplos en el menú de acceso directo para
visualizar un tema de ayuda con enlaces a ejemplos para ese VI o función. Puede modificar un ejemplo de VI para
cumplir con una aplicación o puede copiar y pegar desde uno o más ejemplos en un VI que usted cree.

Figura 1. Buscador de Ejemplos

Los controladores de hardware como NI-DAQmx o controladores de instrumentos Plug-and-Play de LabVIEW


instalan ejemplos en la carpeta de Entrada y Salida de Hardware, los cuales son buenos puntos de inicio cuando se
trabaja con dispositivos de hardware.

ni.com/examples
Además de los ejemplos que se instalan con LabVIEW, existen miles más disponibles en línea en ni.com/examples.
Los ejemplos en línea incluyen códigos de la comunidad y contribuidos que puede descargar y usar como punto de
inicio para sus propias aplicaciones.

Usar la Ayuda de LabVIEW


Use la ventana Context Help y LabVIEW Help para crear y editar VIs.
Ventana Context Help

La ventana de Context Help muestra información básica sobre objetos de LabVIEW cuando mueve el cursor sobre
cada objeto. Para activar la visualización de la ventana de Context Help seleccione Help»Show Context Help,
presione las techas <Ctrl-H> o haga clic en el botón de Show Context Help Window en la barra de herramientas.

Cuando mueve el cursor sobre el panel frontal y objetos del diagrama de bloques, la ventana Context Help muestra el
ícono para subVIs, funciones, constantes, controles e indicadores con cables sujetos a cada terminal. Cuando mueve
el cursor sobre las opciones de ventana de diálogo, la ventana Context Help muestra descripciones de esas
opciones.

Figura 1. Ventana Context Help

Haga clic en el botón Show Optional Terminals and Full Path ubicado en la esquina inferior izquierda de la
ventana Context Help para mostrar las terminales opcionales de un panel conector y para mostrar la trayectoria
completa a un VI. Las terminales opcionales se muestran por puntas de cable, informando que existen otras
conexiones. El modo detallado muestra todas las terminales, como se muestra en la Figura 2. Las etiquetas de las
terminales requeridas aparecen en negrita, las terminales recomendadas aparecen como texto sencillo y las
terminales opcionales aparecen en color tenue. .

Figura 2. Ventana Context Help Detallada

Haga clic en el botón Lock Context Help para bloquear el contenido actual de la ventana Context Help. Cuando el
contenido es bloqueado, al mover el cursor sobre otro objeto no se cambia el contenido de la ventana. Para
desbloquear la ventana, otra vez haga clic en el botón. Puede tener acceso a esta opción desde el menú Help.
Si existe un tema en LabVIEW Help correspondiente a un objeto que describe la ventana Context Help, aparece un
enlace azul Detailed help en la ventana Context Help. También es habilitado el botón Detailed help. Haga clic en el
enlace o el botón para visualizar LabVIEW Help para obtener más información sobre el objeto.

Ayuda de LabVIEW
LabVIEW Help es el mejor recurso para obtener información detallada sobre características o funciones específicas
en LabVIEW. LabVIEW Help ofrece temas conceptuales, con instrucciones paso por paso para usar las
características de LabVIEW e información de referencia completa.
Usted puede tener acceso a LabVIEW Help al dar clic en el enlace azul Detailed help o en el botón en la ventana
Context Help o al seleccionar Help»LabVIEW Help. También puede hacer clic con botón derecho en un objeto y
seleccionar Ayuda en el menú de acceso directo.
Después de instalar un complemento de LabVIEW como una juego de herramientas, módulo o controlador, la
documentación para ese complemento aparece en LabVIEW Help o aparece en un sistema de ayuda separado al
que tiene acceso al seleccionar Help»Add-On Help, donde Add-On Help es el nombre del sistema de ayuda para el
complemento.

Recursos de Ayuda en Línea


Si no puede encontrar la ayuda que necesita en la Ayuda de LabVIEW, puede explorar más recursos en línea para responder a sus preguntas.
ni.com/support
La página principal de soporte en línea para LabVIEW es ni.com/support. Esta página contiene enlaces a los últimos manuales, actualizaciones y otros recursos de soporte para todo su software y hardware.
Documentos de Soporte
Los Documentos de Soporte contienen miles de respuestas a preguntas frecuentes, consejos de depuración para errores comunes y otra documentación de soporte escrita por ingenieros de aplicación.
Foros
Los Foros de Discusión NI son otro recurso de ayuda para usuarios de LabVIEW principiantes y avanzados. Busque en los foros preguntas similares o publique una de sus preguntas y aprenda del conocimiento de los usuarios de LabVIEW en todo el mundo. Los ingenieros de aplicación también monitorean los
foros para asegurarse que todas las preguntas son respondidas.
Obtener Ayuda Adicional—ayuda de un experto en LabVIEW
Si aún tiene preguntas sobre LabVIEW que no han sido contestadas por ninguno de nuestros centros de ayuda, contacte a un experto para obtener asistencia personal.
Ingenieros de Soporte
Si tiene un contrato de soporte váildo, puede contactar directamente a los ingenieros de aplicación de NI por teléfono o correo electrónico. Su compra de LabVIEW incluye un año de la membresía del Programa de Servicio Estándar (SSP), la cual le proporciona soporte técnico, así como actualizaciones de
software.
Cree una solicitud de servicio
Vea más información sobre SSP
Si no tiene un contrato de soporte, puede recibir asistencia por parte de National Instruments a través de los Foros de Discusión.
Formación y Capacitación
Si necesita más ayuda para comenzar a trabajar con LabVIEW, la formación y capacitación de NI le ayuda a construir las habilidades para desarrollar de manera más eficiente aplicaciones potentes y de fácil mantenimiento. NI ofrece varias opciones de formación y capacitación incluyendo capacitación en aula,
autodidacta, en línea o en su empresa.
Explore sus opciones de capacitación
NI Alliance Partners
Ya sea que usted necesite la asistencia para terminar un pequeño proyecto de integración, requiere de amplia experiencia en construir un sistema multifacético o solución o desea encontrar una solución lista para usar, los miembros de NI Alliance Partner tienen los recursos y saben cómo proporcionar lo que
usted necesita en cada región y cada industria.

También podría gustarte