Desarrollar, implementar e interpretar algoritmos de programacin en lenguaje G bajo el entorno de programacin de Labview a un nivel bsico
Qu es Labview? Labview es el acrnimo de Laboratory Virtual Instrument Engineering Workbench.
Labview es un entorno de programacin grfica usado por miles de ingenieros e investigadores para desarrollar sistemas sofisticados de medida, pruebas y control usando conos grficos e intuitivos y cables que parecen un diagrama de flujo. Labview ofrece una integracin incomparable con miles de dispositivos de hardware y brinda cientos de bibliotecas integradas para anlisis avanzado y visualizacin de datos.
Dnde se aplica Labview? Diseo de sistemas embebidos Diseo de sistemas de Control y simulacin de procesos. Procesamiento de imgenes y seales. Monitoreo y control industrial. Desarrollo e implementacin de software. Generacin de reportes y almacenamiento de datos. Labview = Instrumentacin Virtual VI Relacionado con este concepto se da nombre a sus dos ventanas principales: Un instrumento real tendr un panel frontal donde estarn sus botones, pantallas o indicadores, etc. Y una circuitera interna. Entorno de desarrollo Panel frontal: Es la parte que ver el usuario, tpicamente en fondo gris. Diagrama de bloques: Es donde se relazar la programacin y suele tener fondo blanco. Para acceder al programa elegimos la siguiente ruta: Inicio>Todos los programas>National Instruments Labview 2009 Una vez presente la pantalla de inicio seleccionamos la opcin New > Blanck VI Una vez seleccionado se abrir el Front Panel y Block Diagram. Tal como se ilustra a continuacin: Para poder trabajar en ambas pantallas, damos clic derecho sobre la barra de tareas, seleccionamos la opcin mosaico vertical. Barra de Mens y Herramientas Barra de men Barra de herramientas La barra de men contiene las mismas opciones y funciones en ambas ventanas. La barra de herramientas contiene iconos que funcionan igual en ambas ventanas.
Barra de Herramientas Sirven para controlar la ejecucin de un programa.
Este grupo de botones tiene la funcin de depuracin.
Men desplegable que permite formatear textos, es recomendable usar los formatos predefinidos como Application Font o System font.
Este grupo de botones, permiten alinear, distribuir y controlar el tamao, agrupar y ordenar objetos.
Paleta de herramientas Esta paleta se puede mostrar mediante el menu View-Tools Palette. Permite seleccionar el instrumento que se desea usar, esto se logra cambiando el tipo de cursos del ratn.
Automatic Tool Selection. Si est activado sirve para que se selecciones la herramienta de forma automtica dependiendo de los elementos sobre el que se site el cursor.
Operate value. Sera el cursor disponible cuando el VI est ejecutndose, sirve principalmente para cambiar valores en los controles del Panel Frontal
Position/Size/Select. Como su nombre indica sirve para posicionar objetos, tanto en el diagrama de bloques.
Edit, Text. Cambia el cursor para poder escribir texto. Permite escribir comentarios sobre el Diagrama de Bloques.
Connect wire. Es la herramienta que sirve para cablear. Uniendo unos elementos con otros mediante cables, permitiendo el flujo de datos a travs de ellos
Get Color. Obtiene el valor del color de un elemento.
Set Color. Colorea un elemento. Tiene dos posibles colores, el principal y el secundario, ambos pueden ser asignados de forma independiente. Uno de los colores disponibles est marcado mediante una T, se trata del color transparente. Paleta de controles y funciones Para colocar terminales en el Panel frontal y funciones en el Diagrama de Bloques se tienen paletas, o mens flotantes, llamadas paleta de controles y paleta de funciones. Dichas paletas se muestran con clic derecho en cada una de las ventanas.
Panel Frontal=Controles Diagrama de Bloques=Funciones
Para fijar una paleta en pantalla se da clic en el cono
Controles Funciones Modos sintetizados. Modo Funcin CNTRL + R Ejecuta el programa CNTRL + . Aborta la ejecucin CNTRL + E Conmuta entre las dos ventanas principales CNTRL + B Elimina los hilos rotos CNTRL + H Muestra u oculta ayuda contextual CNTRL + ? Muestra la ayuda CNTRL + C Copia objetos al portapapeles CNTRL + X Corta objetos al portapapeles CNTRL + V Pega objetos desde portapapeles CNTRL + Z Deshace la ltima accin CNTRL + SHIFT + Z Rehacer CNTRL + S Guarda el VI TAB Cambia herramientas de las paletas CNTRL + arrastrar Crea copia de objetos seleccionados SHIFT + arrastrar Mueve los objetos en una sola direccin Creacin de programas En Labview un programa se realiza en primer lugar insertando los controles e indicadores necesarios en la pantalla de panel frontal y despus estructurando la lgica del programa con funciones en la pantalla diagrama de bloques y est formado por las siguientes partes: Controles: Son las entradas para los datos. Funciones, VIs y estructuras: Realizan una o varias operaciones con los datos. Indicadores: Sirven de salida para los datos.
Secuencia de un programa. Los datos circulan por el programa mediante los cables, que sirven para unir unos elementos con otros. Para realizar la conexin de los elementos se utiliza la herramienta Connect Wire de la paleta de herramientas. Un cable tendr una nica fuente (control, constante o salida de otro elemento) y uno o varios destinos (indicador o entradas de otros elementos) siempre y cuando stos sean compatibles.
Tipos de datos En Labview se manejan los siguientes tipos de datos que estan claramente diferenciados por colores TIPO COLOR Numrico entero Azul Numrico decimal Naranja Texto Rosa Booleano Verde Se desea implementar un programa en Labview capaz de leer los datos numricos provenientes de un control tipo perilla (knop), para posteriormente mostrarlos en una cartula de instrumento analgico (Meter). Programa en Labview Black VI En la pantalla de Frontal Panel se busca el elemento de entrada solicitado mediante la ruta: Botn derecho del mouse> Cntrls> Num Cntrls> Knobs y se agrega, tal como se muestra: Solucin Observe como al incluir el Knob en el Panel Frontal se crea en el Block Diagram el cono que representa el elemento de entrada del programa Procedemos ahora a editar los lmites numricos de la perilla de entrada, dichos valores sern asignados en funcin de las necesidades del diseo propuesto, que en este caso de manera particular se establecer entre 0 y 100, donde la ruta de acceso a la edicin es la siguiente: Sobre el objeto: Botn derecho del mouse >Properties > Knob Properties > Scale> 0 100.
Es posible editar la esttica del panel frontal cambiando los colores, tipografa, etc. Esto depender del usuario o de las caractersticas visuales que requiera el diseo de la cartula del VI. Una vez agregado y editado el elemento de entrada, se incluir el instrumento de salida, que en este caso corresponde a un instrumento analgico del tipo meter Botn derecho del mouse> Cntrls> Num Inds> Meter y se agrega, tal como se muestra:
Procedemos ahora a editar los lmites numricos del indicador de salida, dichos valores sern asignados en funcin de las necesidades del diseo propuesto, que en este caso de manera particular se establecer entre 0 y 100.
Una vez establecidos los componentes del panel frontal, parmetros, distribucin y caractersticas estticas se procede a desarrollar el interconectado de los elementos para resolver el problema planteado, siendo esto equivalente al desarrollo del algoritmo de programacin. En la pantalla de Block Diagram, se encuentran los elementos de entrada y salida propuestos, con lo que se procede a manipular los datos mediante las funciones, aritmtico, lgicas, etc. Para conectar los elementos, debemos de habilitar desde View> Tool Palette la herramienta Connect Wire, la cual permite unir los componentes del VI.
Una vez terminado el VI y verificando que no tenga errores, guardamos el archivo bajo las siguientes consideraciones: no inicia con nmero, No espacios inciales, No acentos, tildes u otra simbologa lxica complementaria, La referencia de almacenamiento debe ser clara. Ruta para guardar el archivo File > Save As > primer programa Ejecucion del programa con boton Ejercicios Propuestos Desarrollaremos ejercicios que nos permitan utilizar controles as como sus indicadores, con lo que se mostrara la diferencia entre ellos, tambin conoceremos las funciones mas usuales y el manejo de estructuras, que nos permitan llevar acabo la programacin G. DATOS NUMRICOS EJERCICIO 1 Utilizando Labview realice la suma entre dos nmeros enteros y muestre el resultado en el Panel Frontal en una representacin numrica, mediante un medidor anlogo y con un termmetro.
SOLUCION 1 EJERCICIO 2 Desarrolle un programa en Labview que permita representar la funcin 3X+2, donde X es una variable proporcionada por una perilla rotacional desde -10 hasta 50, establezca el valor mximo y mnimo para el indicador de salida.
SOLUCION 2 EJERCICIO 3 Usando Labview realice la comparacin entre 2 cantidades, indique si la cantidad 1 es mayor que la cantidad 2, si es menor o si es igual mediante el uso de indicadores booleanos (Led virtual).
SOLUCION 3 EJERCICIO 4 Juego de Azar: desarrolle un algoritmo en Labview que permita comparar un valor ofrecido por un jugador a travs de una perilla de juego (valores de 0 a 1) y lo compare con un generador aleatorio de datos en el mismo rango. El programa deber indicar cuando el nmero propuesto es mayor, menor o igual que el dato generado aleatoriamente. SOLUCION 4 EJERCICIO 5 Usando Labview realice la conversin de grados centigrados a farenheit y kelvin representados con indicadores de termometro y que al rebasar los 100 c nos encienda una alerta luminosa.
SOLUCION 5 EJERCICIO 6 Usando Labview realice un programa que permita conocer por medio de un indicador luminoso cuando se ha rebasado el nivel mnimo y mximo de un tank. Dicho tanque podr ser llenado con un control numrico de forma manual.
SOLUCION 6 EJERCICIO 7 Implemente un sistema tipo calculadora en Labview que sea capaz de realizar las operaciones de suma, resta, multiplicacin, divisin y comparacin de manera simultnea entre dos datos suministrados por controles de entrada internos. Los resultados se debern presentar en diferentes indicadores donde se aclare a que operacin corresponde cada resultado. SOLUCION 7 EJERCICIO 8 Utilizando Labview construya un instrumento virtual de medicin elctrica. Las entradas de los instrumentos son: Voltaje rms y carga en Ohms. El instrumento deber mostrar las siguientes mediciones: Voltaje rms, Voltaje pico, Voltaje pico-pico, Corriente, Potencia. La escala de medicin deber darse entre los 0 y los 480V rms, de ah se derivarn las dems escalas. Debe incluir una alarma que indique visualmente que la carga es 0 ohms SOLUCION 8 EJERCICIO 9 Usando Labview realice un programa que para cualquier valor de los catetos, permita calcular la hipotenusa, seno, coseno y tangente de un triangulo rectngulo, dichos clculos se realizaran utilizando la funcin Formula.
SOLUCION 9 SUB VIS Definicin de sub VI Un SubVI es el equivalente a una subrutina en los lenguajes de programacin tradicionales, en el caso de Labview permite simplificar programas con operaciones repetitivas y/o complejas a secuencias ms simples. Como ejemplo considere la Aplicacin donde se tiene un instrumento virtual de adquisicin de variables elctricas, como es de notarse la programacin a pesar de ser simple resulta demasiado extensa, por lo que sera ptimo poderla encapsular en una funcin particular. Cmo crear un SubVI? La creacin de un SubVI resulta sencilla como casi todas las aplicaciones en Labview, y en realidad existen varios mtodos para su creacin, siendo la ms simple la que se explica:
Teniendo el programa a simplificar seleccione los elementos que desea simplificar: Una vez que esto ocurre, entonces vemos que las funciones se convierten en un pequeo cono editable, tal como se ilustra:
Si damos doble clic en el cono generado, se apreciar un FP sintetizado que involucra los controles e instrumentos bsicos que conforman al SubVI. Observe que el nombre del archivo va seguido de la leyenda SubVI
Ahora procedemos a guardar el SubVI con un nombre relacionado con el programa original. Una vez creado el sub VI podremos ver sus caractersticas de manera muy simple, apretando botn derecho sobre el cono y seleccionando > view as an icon podremos apreciar que las propiedades funcionales del cono son idnticas a las del programa creado.
Quedando tal como sigue:
El subVI creado se puede cargar en cualquier programa y lo podemos utilizar. EJERCICIO 10 Realice un sistema completo de medicin de variables, voltaje, corriente y temperatura para un panel de control industrial de monitoreo de procesos, utilice sub VIs, implemente de acuerdo a los estndares de instrumentacin tradicionales.
SOLUCION 10 DATOS DE TEXTO EJERCICIO 11 (a) Minsculas y Maysculas Patrn de concordancia EJERCICIO 11 (b) Cadena de texto inversa EJERCICIO 11 (c) Seleccin T/F EJERCICIO 11 (d) ESTRUCTURAS EJERCICIO 12 Elabore un dispositivo de temperatura, con histresis variable, que nos indique aleatoriamente (automtico), su estado bajo con un leed, y su estado alto termine el programa.
SOLUCION 12 SOLUCION 12 EJERCICIO 13 Crear un programa simulando un cronometro controlado por un timer, usando el ciclo while, un retardo de 10 ms, el tiempo real, la funcin de doble precisin, un indicador de caratula y un indicador luminoso que encienda al llegar al tiempo definido por el timer.
RETARDO TIEMPO REAL DOBLE PRECISION EJERCICIO 14 Crear un programa que utilice datos aleatorios y los grafique. Utilizar un ciclo For, un arreglo de cuatro indicadores numricos y un retardo de 10ms
EJERCICIO 15 Crear un programa que utilice datos un sistema de fichas con 3 paginas, utilizando la estructura case.
Sistema de fichas (etiquetas) Dos etiquetas (predeterminadas) Cambiar de pagina y agregar una pagina (despus de) Seleccionar (Estructura caso) Aadir un caso despus ESTRUCTURA CASE (Caso) PAGINA 1 Unir enlazar (concatenate) Cambiando etiqueta en ambas ventanas PAGINA 2 Array (Matriz) PAGINA 2 PAGINA 3 (Cuadros combinados) Editar elementos desplegables PAGINA 3 DATOS BOOLEANOS EJERCICIO 16 Crear un programa que realice el encendido secuencial de leds. Utilizando la estructura flat sequence.
SECUENCIA DE LEDS (5 leds) Utilizando variables locales SECUENCIA DE LEDS EJERCICIO 17 Agregar un control de velocidad manual, al ejercicio anterior de (100ms - 2000ms)
EJERCICIO 18 Realice un sistema de etiquetas de 3 paginas, en cada una de las cuales deber programar una tabla de verdad de las compuertas AND, OR y EXOR, respectivamente utilizando arrays.
EJERCICIO 3 TABLAS DE VERDAD AND PAGINA 2 OR PAGINA 3 NOT EXCLUSIVE OR ARREGLOS, CLOUSTER Y MATRICES Desarrollar un VI capas de ingresar datos diferentes y reflejarlos en sus respectivos indicadores mediante un concentrador (Bundle y Unbndle). EJERCICIO 19 CLUSTER Y MATRIX Cluster & Array Caso 1 Caso 2 Suma y multiplicacin de matrices EVENTOS Desarrollar un VI en el que se gradu la transparencia del panel frontal. Utilizando event structures EJERCICIO 20 Editar las propiedades del nodo Utilizar estructura de eventos Editar le estructura de evento Editar la estructura de evento Nota: el nodo fuera del ciclo wile contiene dos etiquetas (expandir) CASO 1 CASO 2 CASO 1 CASO 2 GRAFICAS Desarrollar un VI para cambiar una seal dentro y fuera, de la utilizacin del rel Express VI.
EJERCICIO 21 Captura de seales EJERCICIO 22 EJERCICIO 23 EJERCICIO 24 Graficas con transparencia ENTRADA Y SALIDA DE DATOS PUERTO PARALELO ENTRADA Y SALIDA DE DATOS CON PUERTO PARALELO ENTRADA DE DATOS SALIDA DE DATOS PUERTO PARALELO, SN74LS244 PUERTO PARALELO ENTRADA DE AUDIO SALIDA DA DATOS MANUAL SALIDA DE DATOS AUTOMTICA ADQUISICIN DE DATOS