Programación Gráfica

Contenido de esta Sección

 

Video: Programación de Flujo de Datos en LabVIEW

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

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 caracteres Rosa

Tabla 1. Tipos Comunes de Cable

lanzado con niBCVideo v1.1

Video: Tipos de Datos en LabVIEW

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 paletaFunctionso 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 seleccioneClean Up Wireen 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.

Aprenda Fundamentos de LabVIEW en una Nueva Forma

Aprenda estos conceptos de LabVIEW a través de nuestra nueva experiencia interactiva.

Continúe Aprendiendo

Anterior Fundamentos del Entorno
Herramientas Comunes Siguiente