El diagrama de bloques contiene el código fuente gráfico de un programa de LabVIEW. El concepto del diagrama de bloques es separar el código fuente gráfico de la interfaz de usuario de una manera lógica y sencilla. Los objetos del panel frontal aparecen como terminales en el diagrama de bloques. Las terminales del diagrama de bloques reflejan los cambios realizados en sus correspondientes objetos del panel frontal y viceversa.
Cuando crea o abre un nuevo VI, el panel frontal se abre automáticamente. Para que aparezca el diagrama de bloques, seleccione Window»Show Block Diagram en la barra del menú. Además, puede alternar entre el diagrama de bloques y el panel frontal presionando <Ctrl-E>.
Los objetos del diagrama de bloques incluyen terminales, subVIs, funciones, constantes, estructuras y cables, que transfieren datos junto con otros objetos del diagrama de bloques. Puede usar las herramientas de LabVIEW para crear, modificar y depurar un VI. Una herramienta es un modo de operación especial del cursor del mouse, por lo que el modo de operación del cursor corresponde al ícono de la herramienta seleccionada. LabVIEW escoge cuál herramienta se debe seleccionar de acuerdo a la ubicación actual del mouse. Puede elegir manualmente la herramienta que necesita seleccionándola en la paleta Tools (en la barra de menú, seleccione View»Tools Palette). Ahora puede elegir la herramienta que desee, que permanece seleccionada hasta que elija otra herramienta de la paleta Tools.
Para colocar objetos en el diagrama de bloques, simplemente seleccione y arrastre desde la paleta Functions. La paleta Functions aparece automáticamente cuando hace clic derecho en cualquier lugar del espacio de trabajo del diagrama de bloques. Contiene funciones, constantes, estructuras y algunos subVIs.
Tenga en cuenta los dos botones en la parte superior de la paleta Functions.
El Thumb Tack fija la paleta Functions al diagrama de bloques.
El botón Search abre un cuadro de diálogo de búsqueda que puede usar para buscar funciones por nombre.
Haga clic en el botón Search para iniciar el motor de búsqueda de funciones. Tarda unos minutos en iniciarse.
Puede utilizar esta herramienta para buscar una función por su nombre si tiene problemas para encontrarla.
Una vez que vea la función que desea, haga doble clic y LabVIEW saltará al lugar en la paleta Functions donde puede encontrar esa función.
Nota: Complete los siguientes pasos para cambiar las subpaletas visibles en la paleta Functions:
1. Utilice el thumb tack para fijar la paleta Functions al diagrama de bloques.
2. Tome en cuenta que el botón View aparece cuando se fija la paleta Functions al diagrama de bloques.
3. Seleccione View y, en el menú de acceso directo, seleccione Change Visible Categories.
4. En el cuadro de diálogo Change Visible Categories, puede seleccionar las paletas que más usa o hacer clic en Select All para incluir todas las paletas.
Para cambiar la apariencia del diagrama de bloques, seleccione Tools»Options en la barra de menú. En el cuadro de diálogo Options, seleccione la categoría Block Diagram. Aquí puede personalizar la apariencia de su diagrama de bloques. Para ahorrar espacio en el diagrama de bloques, anule la selección de Place front panel terminals as icons.
Las terminales crean la apariencia del diagrama de bloques de los objetos en el panel frontal. Además, son puertos de entrada y salida que intercambian información entre el panel frontal y el diagrama de bloques. De manera análoga a los parámetros y constantes en los lenguajes de programación basados en texto, las terminales vienen en dos tipos: terminales de control o indicadores y terminales de nodo. Las terminales de control e indicador pertenecen a los controles e indicadores del panel frontal.
En el ejemplo anterior, los datos que introdujo en controles del panel frontal a y b entran en el diagrama de bloques a través de sus respectivas terminales de control a y b. Entonces los datos ingresan las funciones de Add y Subtract Cuando las funciones de Add y Subtract terminan sus cálculos, producen nuevos valores de datos. Los valores de datos van a las terminales del indicador, donde actualizan los indicadores del panel frontal a+b y a-b.
Los controles, indicadores y constantes funcionan como entradas y salidas del algoritmo del diagrama de bloques. Los controles reciben sus valores desde el panel frontal y pasan datos a otros objetos del diagrama de bloques. Los indicadores reciben sus valores de la lógica del diagrama de bloques y pasan datos del diagrama de bloques al panel frontal. Las constantes pasan datos al objeto al que están conectadas. Considere un algoritmo para calcular el área de un triángulo. Es posible que tenga el siguiente panel frontal y el diagrama de bloques correspondiente.
La constante de multiplicador triangular no aparece necesariamente en la ventana del panel frontal, excepto como documentación del algoritmo. Simplemente pasa el valor de .5 a la función de multiplicación. Note que las terminales del diagrama de bloques Base(cm) y Height(cm) tienen una apariencia diferente a la terminal Area(cm^2) 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 salientes de la terminal, mientras que el indicador tiene una flecha que muestra los datos entrantes 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 crear controles e indicadores desde el diagrama de bloques o desde el panel frontal. Este tutorial demuestra esto en una sección posterior.
Los nodos son objetos del diagrama de bloques que tienen entradas y/o salidas, y realizan operaciones cuando se ejecuta un VI. Son análogos a las instrucciones, operaciones, funciones y sub rutinas en lenguajes de programación basados en texto. Los nodos pueden ser funciones, subVIs o estructuras. Las estructuras son elementos de control de procesos, como estructuras de caso, ciclos For o ciclos While que se discuten en un tutorial posterior. La siguiente imagen muestra algunos ejemplos de nodos del diagrama de bloques.
Las funciones son los elementos de operación fundamentales de LabVIEW. Las funciones no tienen ventanas en el panel frontal o ventanas de diagrama de bloques, pero tienen terminales de entrada y salida para pasar datos dentro y fuera de manera similar a los controles e indicadores. Puede saber si un objeto de diagrama de bloques es una función por el fondo amarillo pálido de su ícono. La paleta Functions tiene funciones organizadas en grupos según el tipo de función que realizan. Busque funciones que realizan operaciones numéricas en la subpaleta Numeric.
Hay diferentes tipos de funciones. Recuerde que una función tiene un fondo amarillo pálido como las funciones que se muestran a continuación.
Los subVIs son VIs que usted crea para usar dentro de otro VI o a los que usted tiene acceso en la paleta de Functions. Cualquier VI tiene el potencial para usarse como un subVI. Cuando hace doble clic en un subVI que está en el diagrama de bloques, aparece la ventana del panel frontal y puede acceder a su diagrama de bloques. A continuación se muestran algunos ejemplos de los subVIs que puede encontrar en la paleta Functions.
Las estructuras, que incluyen ciclos For, estructuras de caso y ciclos While, se utilizan para el control de procesos. Se examinan en un tutorial posterior. Puede abrir la subpaleta Structures desde la paleta Functions en Programming.
A continuación se muestran algunos ejemplos de diferentes estructuras y cómo se ven en el diagrama de bloques.
Ahora cree el diagrama de bloques que se muestra a continuación siguiendo estos pasos:
1. Abra un VI en blanco desde la barra de herramientas. Seleccione File»New VI.
2. Coloque dos funciones de multiplicación en el diagrama de bloques arrastrándolas al diagrama de bloques desde la subpaleta Numeric en Programming. Repita para poner una segunda función de multiplicación en el diagrama de bloques.
Sugerencia: Para copiar un objeto en el diagrama de bloques, mantenga presionada la tecla <Ctrl> mientras hace clic y arrastra el objeto.
3. Pase el mouse sobre la función de multiplicación situada más a la izquierda para que aparezcan las terminales de entrada y salida. Si mantiene el mouse sobre una de las terminales, el carrete de cableado aparece junto con el nombre de la terminal sobre el que se desplaza.
Para crear un control para la terminal y, simplemente pase el mouse sobre ella y haga clic derecho.
Haga lo mismo para la terminal x en la función de multiplicación situada más a la izquierda para que tenga un control para cada terminal de entrada.
4. Conecte la terminal de salida de la función de multiplicación de la izquierda a la entrada x de la función de multiplicación de la derecha pasando el mouse sobre la terminal de salida. Cuando se convierta en el carrete de cableado, haga clic y mantenga presionado mientras arrastra el cable a la entrada deseada.
5. Cree la constante del multiplicador triangular .5 haciendo clic derecho en la terminal de entrada y de la función de multiplicación situada más a la derecha y seleccionando Create»Constant. Puede cambiar el valor de una constante haciendo doble clic en ella para resaltar el texto y escribiendo el nuevo valor. Escriba .5 y presione <Enter>.
6. Ahora haga clic con botón derecho en la salida de la función de multiplicación de la derecha y seleccione Create»Indicator para crear un indicador que pase el valor de la lógica del diagrama de bloques al panel frontal.
Sugerencia: Puede hacer comentarios en el diagrama de bloques o en el panel frontal haciendo doble clic en el diagrama de bloques y escribiendo su comentario en el cuadro de texto que se crea automáticamente.
Puede cambiar el nombre de los indicadores, controles y constantes haciendo doble clic en la etiqueta y escribiendo el nombre deseado. Si no se muestra ninguna etiqueta, haga clic derecho en el objeto deseado y seleccione Visible Items»Label.
7. Ahora mire el panel frontal que se generó a partir de su trabajo en el diagrama de bloques presionando <Ctrl+E> o seleccionando Window»Show Front Panel. Observe que los dos controles Base(cm) y Height(cm) y el indicador Area(cm^2) se generaron automáticamente y se colocaron en el panel frontal. Ejecutará este programa después de conocer los íconos de la barra de herramientas.
Cuando ejecuta un VI, aparece la siguiente barra de herramientas en el diagrama de bloques. Puede utilizar algunos de los botones de la barra de herramientas del diagrama de bloques para depurar el VI. Esos botones se discuten en un tutorial posterior.
Haga clic en el botón Run para ejecutar su VI. No es necesario que compile su código; LabVIEW lo compila automáticamente. Puede ejecutar un VI si el botón Run aparece como una flecha en blanco, que se muestra a continuación.
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 terminó 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 Run Continuously para ejecutar el VI hasta que cancele o pause la ejecución. También puede hacer clic en el botón otra vez para deshabilitar la ejecución continua.
Mientras se ejecuta el VI, 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 nivel superior en ejecución utiliza el VI, el botón está en color borroso.
Precaución: 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 Stop para evitar este problema.
Haga clic en Pause para pausar un VI en ejecución. 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 la configuración de fuente para las partes seleccionadas de su VI, incluyendo tamaño, estilo y color.
Haga clic en el menú desplegable Align Objects para alinear objetos a lo largo de los ejes, incluyendo vertical, borde e izquierda.
Haga clic en el menú desplegable Distribute Objects para cambiar el tamaño de varios objetos del panel frontal al mismo tamaño.
Haga clic en el menú desplegable Reorder cuando sus objetos se superpongan entre sí y desee definir cuál está delante o detrás de otro. Seleccione uno de los objetos con la herramienta de Positioning y después seleccione entre Move Forward, Move Backward, Move To Front y Move To Back.
Haga clic en el botón Show Context Help Window para alternar la visualización de la ventana de ayuda contextual.
Aparece Enter Text para recordarle que hay un nuevo valor disponible para reemplazar un valor anterior. 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.
Finalmente, haga clic en el botón Run Continuously en el VI que acaba de crear y cambie los valores en el panel frontal. Observe cómo cambiar los valores de control de a y b actualiza el valor del indicador de a*b.
Los valores colocados en los controles en el frente se pasan al diagrama de bloques, y el resultado que es calculado por la lógica del diagrama de bloques se regresa al indicador del panel frontal.
Haga clic en el botón Abort Execution para detener el VI. Guarde y cierre el VI seleccionando File»Save en la barra de menú y luego haciendo clic en el botón Close en la esquina superior derecha de la ventana del panel frontal.
El diagrama de bloques es el aspecto más fundamental de cualquier instrumento virtual. Controla todo, desde el flujo de datos hasta la entrada y salida de datos del panel frontal. Es esencial para un programador de LabVIEW tener una comprensión clara y sólida de cómo funciona el diagrama de bloques.