Instrumentación virtual Tema 2 Desarrollo de VI s Introducción al tema En este apartado aprenderás a desarrollar en lenguaje G, y evidentemente tendrás que conocer los diversos elementos que conforman los dos paneles: el de control y el frontal. 1
Introducción al tema Cabe mencionar que este punto es crítico para que tu curso sea todo un éxito, dado que si puedes generar un instrumento virtual VI, podrás generar cualquiera que se necesite. En el resto del curso tendrás el conocimiento y uso de las diferentes utilerías para generar diversos niveles de programación, así como el uso de adquisición de datos (medición de temperatura, presión, etc.) y control de diversos actuadores (motores, sistemas neumáticos, hidráulicos, entre otros). Creación El panel frontal es la interface del usuario con el VI, es similar a una interface hombre-máquina HMI. Construye el panel frontal con controles e indicadores que son las entradas y salidas que interactúan con las terminales del VI, respectivamente. Los controles son interruptores, perillas, ventanas, marcadores y otros componentes de entradas. Los indicadores son las gráficas, lámparas y otros dispositivos. 2
Creación A. Los controles simulan instrumentos de entradas de equipos y suministran datos al diagrama de bloques del VI. B. Los indicadores simulan salidas de instrumentos y suministran datos que el diagrama de bloques adquiere o genera. Para lo anterior es importante destacar que se convierten en dispositivos físicos, tanto de entrada y salida, como lo son: sensores de temperatura, presión, conductividad, etc., así como también motores, válvulas, lámparas, etc. Creación 3
Creación En la imagen anterior, el interruptor de poder (encendido o apagado) es un control booleano. Un valor booleano contiene ambos, un valor verdadero y uno falso: El valor es falso hasta que el interruptor se presione. Cuando el interruptor se presiona, el valor se convierte en verdadero. El indicador del historial de temperatura es una gráfica de forma de onda, la cual muestra valores múltiples. En este caso, la gráfica señalará grados farenheit versus tiempo (segundos). Creación El panel frontal también contiene una barra de herramientas, y sus funciones serán discutidas después. El panel de bloques contiene el código fuente gráfico. Los objetos del panel frontal aparecen como terminales en el diagrama. En el diagrama de bloques se tienen funciones y estructuras incorporadas en las bibliotecas de LabVIEW VI, que son utilizadas para el desarrollo de los programas de control. Los cables conectan cada uno de los nodos en el diagrama de bloques, incluyendo controles e indicadores de terminal, funciones y estructuras, estos cables se adaptan de acuerdo al tipo de dato que se maneja. 4
Creación Creación En el diagrama de bloque anterior, el subvitemp llama a la subrutina, la cual obtiene una temperatura desde una tarjeta de adquisición de datos (DAQ). Esta temperatura es graficada junto con el valor promedio de la temperatura en la gráfica de forma de onda Temperature History. El interruptor de poder es un control booleano en el panel frontal, el cual va a detener la ejecución de la estructura (While Loop), es decir, el programa se ejecutará mientras esté encendido el circuito; adicionalmente se tiene que el tiempo en el cual se ejecuta el programa está sincronizado a pasos de 500 ms. 5
Edición de proyectos LabVIEW tiene un tipo de subvi llamado VIs Expreso (Express VIS). Estos son VIs interactivos que tienen una configuración de caja de diálogo que permite al usuario personalizar la funcionalidad del VI Expreso. Los VIs estándar son aquellos VIs (que consisten de un panel frontal y un diagrama de bloque) que son usados adentro de otro VI. Edición de proyectos Las funciones son los bloques de construcción de todos los VIs. Las funciones no tienen un panel frontal o un diagrama de bloque, son las estructuras básicas de la programación. VI Expreso VI Estándar 6
Edición de proyectos El panel de control sirve para colocar los controles e indicadores en la interface al usuario, la paleta de controles está disponible solamente en el panel frontal o de control. Selecciona Window y ShowControlspalette o haz clic derecho en el espacio de trabajo en el panel frontal para desplegar la paleta de controles. Para desaparecer la paleta de controles, cierra la ventana correspondiente. Edición de proyectos La paleta de funciones sirve para construir un diagrama de bloques, es decir programar con Lenguaje G. La paleta de funciones está disponible solamente en el diagrama de bloques. Selecciona Window y ShowFunctionsPalette o haz un click derecho en el espacio de trabajo del diagrama de bloque para desplegar la paleta de funciones. 7
Edición de proyectos Para cerrar la ventana se hace de la forma tradicional. Puede haber variaciones de las diversas versiones de LabView en idioma y edición, pero los elementos básicos aquí mostrados aplican para cualquier caso; pudiendo en el mejor de los casos incrementar el tipo de funciones, VI s y controles dependiendo de los factores anteriormente descritos. Edición de proyectos Existe una paleta de herramientas para el desarrollo de las aplicaciones de ambos paneles, en otras palabras las herramientas para hacer los gráficos necesarios para que nuestro VI funcione. 8
Edición de proyectos Existe en la parte superior de ambos paneles una barra de estado que nos ayuda a procesar, depurar y editar nuestros VIs generados, al igual de manera gráfica se induce qué hace cada uno de los botones que lo componen, para lo cual se tiene: 9
Pulsa el botón de Ejecución (Run) para ejecutar el VI. Mientras el VI se está ejecutando, el botón de ejecución aparecerá con una flecha negra, en caso contrario no se ejecutará el programa y la flecha se romperá. Pulsa el botón de Ejecución Continua (ContinuousRun) para ejecutar el VI hasta que el botón de cancelación de ejecución o de pausa sea presionado. Oprimiendo el botón nuevamente se deshabilita la ejecución continua. Mientras el VI se está ejecutando, el botón de Cancelación de Ejecución (AbortExecution) aparece. Presiona este botón para detener el VI inmediatamente. Nota: trata de completar el proceso antes de cancelar la ejecución. Pulsa el botón de Pausa (Pause) para detener momentáneamente la ejecución de un VI. Cuando presionas el botón de Pausa, LabVIEW señala la posición donde detuviste la ejecución en el diagrama de bloque. Pulsa el botón de Pausa nuevamente para que el VI continúe ejecutándose. 10
Seleccionando el menú Configuración de Textos (TextSettings) para cambiar el tipo de fuente (letra) del VI, incluyendo el tamaño, estilo y color. Con el menú Alineamiento de Objetos (AlignObjects) se alinean objetos con respecto a los ejes, incluyendo eje vertical, superior, izquierdo, etc. Ahora con el menú Distribución de Objetos (DistributeObjects) se espacian objetos uniformemente, incluyendo espacios vacíos, compresiones, etc. Selecciona el Redimensionamiento de Objetos (ResizeObjects) para cambiar el ancho y alto de objetos del panel frontal. Con el menú Reordenamiento (Reorder) cuando tengas objetos superpuestos unos con otros y quieras definir cuál está enfrente de quien y cuál atrás. Selecciona uno de los objetos con la herramienta de posicionamiento y escoge entre mover hacia adelante (Move Forward), mover hacia atrás (MoveBackward), mover al frente (Move to Front) y mover hacia atrás (Move to Back). 11
Los siguientes puntos sólo aparecen en la barra de herramientas del diagrama de bloques. Pulsa en el botón de Ejecución Resaltada foquito (HighlightExecution) para ver el flujo de información en el diagrama de bloques. Pulsa el botón nuevamente para detener este tipo de ejecución resaltada. Al pulsar el botón de Entrada al ciclo (StepInto) para entrar un paso adentro de un ciclo, un SubVI, etc. entrando un paso a la vez adentro de un VI, te permite introducirte en la VI nodo a nodo. Cada nodo se resalta para señalar cuando está listo para ejecutarse. Al entrar un paso adentro de un nodo, estás listo para caminar paso a paso adentro del nodo. Cuando se oprime el botón de Sobre (StepOver) para posicionarse encima de un ciclo, un SubVI, etc. Al posicionarse encima del nodo, ejecutas el nodo sin entrar paso a paso adentro del nodo. Con el botón de Salida del Ciclo (Step Out) para salirse de un ciclo, SubVI, etc. Al posicionarse fuera del nodo, completas la ejecución de un nodo y puedes moverte al siguiente nodo. 12
Sabiendo todo lo anterior, ahora del apartado de nuevo VI de la pantalla de arranque hagamos lo siguiente: Cuando creas un objeto en el panel frontal, una terminal es creada en el diagrama de bloques, las terminales le dan acceso a los objetos del panel frontal del código creado mediante el diagrama de bloque. Cada terminal contiene información útil referente al objeto al cual corresponde en el panel frontal. Por ejemplo, el color y los símbolos proporcionan el tipo de dato. Números de punto flotante y de doble-precisión, son representados con terminales anaranjadas y las letras DBL. Las terminales booleanas son verdes y son representadas por las letras TF. 13
En general, las terminales anaranjadas deben unirse (cablearse) con las terminales anaranjadas, verdes con verdes, y así sucesivamente. Esta no es una regla que no se puede romper; por ejemplo LabVIEW permitirá al usuario conectar una terminal azul (valor entero) a una terminal anaranjada (valor fraccional); pero en la mayoría de casos, busque mejor una igualdad en colores. Los controles tienen una flecha en el lado derecho y tienen un borde grueso; los indicadores tienen una flecha en el lado izquierdo y un borde fino. Reglas lógicas pueden ser aplicadas al conectar en LabVIEW: Cada cable debe tener una (pero sólo una) fuente (o control), y cada cable puede tener varios destinos (o indicadores). Toma en cuenta que usarás todas las paletas para el uso de funciones y de los diversos controles y evidentemente conectar los diversos elementos con el apoyo de la paleta de herramientas. 14
Cada función puede tener múltiples terminales de entradas y salidas. La conexión de estas terminales es una parte muy importante de la programación en LabVIEW. Una vez que tengas cierta experiencia programado en LabVIEW, la conexión de cables se te hará más fácil, aunque puede ser que al principio necesites ayuda. En seguida se te muestran algunas recomendaciones para comenzar: La herramienta para conectar o de cableado es utilizada para conectarse a los nodos de las funciones. Cuando apuntes con la herramienta de cableado, apunta con el extremo del cable que cuelga del carrete. Aquí es donde el cable será colocado. Mientras muevas la herramienta de cableado sobre las funciones, observa la viñeta amarilla que aparece. Esto te dirá el nombre de la terminal al que te estás conectando. Mientras muevas la herramienta de cableado encima de una terminal, ésta va a mostrar información. 15
Para más ayuda con los terminales, haz clic derecho en la función y selecciona Visible Items >>Terminals. un dibujo de la función será colocada atrás para revelar las terminales de la conexión. Para ayuda adicional, selecciona Help>> Show ContextHelp, o presiona CTRL+H. Si el cableado no se mira muy bien, haz clic derecho en el cable que se desea arreglar y escoja la opción de Clean Up Wire para que automáticamente el cable haga su ruta de nuevo. Características más comunes del cableado en LabVIEW El hacer un simple, doble, y triple clic en el cable selecciona el cable para moverlo o para borrarlo. El hacer un clic mientras se está cableando, hace un doblez en el cable. Haciendo clic derecho o presionando el botón Esc mientras se está cableando, cancela la operación de cableado. 16
Cableando objetos automáticamente LabVIEW cablea automáticamente los objetos a medida que son colocados en el diagrama de bloque. También se puede cablear automáticamente objetos que ya están colocados en el diagrama de bloque. LabVIEW conecta la terminal que mejor combina (match) y deja las terminales que no combinan (match) sin conectar. Cada que muevas un objeto seleccionado cerca de otros objetos en el diagrama de bloque, LabVIEW dibuja cables temporales para mostrarte conexiones válidas. Cuando sueltes el botón del mouse para poner el objeto en el diagrama de bloque, LabVIEW conecta automáticamente los cables. Cambia al cableado automático presionando el espaciador (spacebar) mientras mueve un objeto utilizando la herramienta de posicionamiento (Positioningtool). Puede ajustar las opciones del cableado automático seleccionando Tools >>Options y seleccionando Block Diagram del menú superior principal. LabVIEW sigue un modelo de flujo de datos para correr los VIs. 17
Considera el siguiente diagrama de bloque, el cual suma dos números y luego resta un número aleatorio del resultado de la suma. Se ejecuta de izquierda a derecha, no porque los objetos están puestos en ese orden, sino porque una de las entradas de la función de resta no es válida hasta que la función de suma o adición haya terminado su ejecución y pasado los datos a la función de resta. Ventana de Ayuda Contextual (ContextHelpWindow) Para desplegar la ventana de ContextHelp, selecciona Help>>Show ContextHelp o presiona las teclas <Ctrl- H>. 18
Cierre En este tema tiene una trascendencia en los paneles que usarás. Así como en sus respectivos palletes para el desarrollo de tus VI s, de aquí que no te quedes con dudas y elabora los ejercicios propuestos. 19
Cierre En lo particular, te darás cuenta que el aprendizaje de esta poderosa herramienta será muy sencillo y además fácil de aplicar a diversos problemas en los cuales un programa de código como C o Java te llevaría tiempo, el cual se optimiza al usar el lenguaje G. Así pues disfrutemos de las posibilidades de desarrollo de aplicaciones de una forma rápida y efectiva. En el siguiente tema conocerás el desarrollo de los SubVI s. Referencias bibliográficas Robert, H. B. (2009). LabView2009 Student Edition. (1 st ed.) USA: Prentice Hall. 20
Créditos Diseño de contenido: Ing. José de Jesús López Villalobos, MSE y ME Coordinador de Calidad Académica de Área: Ing. Norma Yolanda Loera Hdz, MA y MED Universidad Tec Milenio Producción y edición del curso: Tecnología Educativa Universidad Virtual, ITESM 21