LABVIEW NIVEL BASICO
¿Qué es Labview? Labview es el acrónimo de Laboratory Virtual Instrument Engineering Workbench. Labview es un entorno de programación gráfica usado por miles de ingenieros e investigadores para desarrollar sistemas sofisticados de medida, pruebas y control usando íconos gráficos e intuitivos y cables que parecen un diagrama de flujo. Labview ofrece una integración incomparable con miles de dispositivos de hardware y brinda cientos de bibliotecas integradas para análisis avanzado y visualización de datos.
¿Dónde se aplica Labview? Diseño de sistemas embebidos Diseño de sistemas de Control y simulación de procesos. Procesamiento de imágenes y señales. Monitoreo y control industrial. Desarrollo e implementación de software. Generación de reportes y almacenamiento de datos.
Entorno de desarrollo Labview = Instrumentación Virtual VI Relacionado con este concepto se da nombre a sus dos ventanas principales: Un instrumento real tendrá un panel frontal donde estarán sus botones, pantallas o indicadores, etc. Y una circuitería interna.
Panel frontal: Es la parte que verá el usuario, típicamente en fondo gris.
Diagrama de bloques: Es donde se relazará la programación 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 opción New > Blanck VI
Una vez seleccionado se abrirá el Front Panel y Block Diagram. Tal como se ilustra a continuación:
Para poder trabajar en ambas pantallas, damos clic derecho sobre la barra de tareas, seleccionamos la opción mosaico vertical.
Barra de Menús 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 ejecución de un programa. Este grupo de botones tiene la función de depuración. 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 tamaño, 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 ratón.
Automatic Tool Selection. Si está activado sirve para que se selecciones la herramienta de forma automática dependiendo de los elementos sobre el que se sitúe el cursor. Operate value. Sería el cursor disponible cuando el VI está ejecutándose, 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 través 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 menús 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
Controles
Funciones
Modos sintetizados. Modo
Función
CNTRL + R
Ejecuta el programa
CNTRL + .
Aborta la ejecución
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 acción
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 dirección
Creación de programas En Labview un programa se realiza en primer lugar insertando los controles e indicadores necesarios en la pantalla de panel frontal y después estructurando la lógica 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 conexión 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
Numérico entero
Azul
Numérico decimal
Naranja
Texto
Rosa
Booleano
Verde
Programa en Labview Se desea implementar un programa en Labview capaz de leer los datos numéricos provenientes de un control tipo perilla (knop), para posteriormente mostrarlos en una carátula de instrumento analógico (Meter).
Solución Black VI En la pantalla de Frontal Panel se busca el elemento de entrada solicitado mediante la ruta: Botón derecho del mouse> Cntrls> Num Cntrls> Knobs y se agrega, tal como se muestra:
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 límites numéricos de la perilla de entrada, dichos valores serán asignados en función de las necesidades del diseño propuesto, que en este caso de manera particular se establecerá entre 0 y 100, donde la ruta de acceso a la edición es la siguiente: Sobre el objeto: Botón derecho del mouse >Properties > Knob Properties > Scale> 0 – 100. Es posible editar la estética del panel frontal cambiando los colores, tipografía, etc. Esto dependerá del usuario o de las características visuales que requiera el diseño de la carátula 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 analógico del tipo “meter” Botón derecho del mouse> Cntrls> Num Inds> Meter y se agrega, tal como se muestra:
Procedemos ahora a editar los límites numéricos del indicador de salida, dichos valores serán asignados en función de las necesidades del diseño propuesto, que en este caso de manera particular se establecerá entre 0 y 100.
Una vez establecidos los componentes del panel frontal, parámetros, distribución y características estéticas se procede a desarrollar el interconectado de los elementos para resolver el problema planteado, siendo esto equivalente al desarrollo del algoritmo de programación. 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, aritmético, lógicas, 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 número, No espacios iníciales, No acentos, tildes u otra simbología léxica 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, también conoceremos las funciones mas usuales y el manejo de estructuras, que nos permitan llevar acabo la programación G.
DATOS NUMÉRICOS
EJERCICIO 1 Utilizando Labview realice la suma entre dos números enteros y muestre el resultado en el Panel Frontal en una representación numérica, mediante un medidor análogo y con un termómetro.
SOLUCION 1
EJERCICIO 2 Desarrolle un programa en Labview que permita representar la función 3X+2, donde X es una variable proporcionada por una perilla rotacional desde -10 hasta 50, establezca el valor máximo y mínimo para el indicador de salida.
SOLUCION 2
EJERCICIO 3 Usando Labview realice la comparación 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 través 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 número propuesto es mayor, menor o igual que el dato generado aleatoriamente.
SOLUCION 4
EJERCICIO 5 Usando Labview realice la conversión 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 mínimo y máximo de un tank. Dicho tanque podrá ser “llenado” con un control numérico de forma manual.
SOLUCION 6
EJERCICIO 7 Implemente un sistema tipo “calculadora” en Labview que sea capaz de realizar las operaciones de suma, resta, multiplicación, división y comparación de manera simultánea entre dos datos suministrados por controles de entrada internos. Los resultados se deberán presentar en diferentes indicadores donde se aclare a que operación corresponde cada resultado.
SOLUCION 7
EJERCICIO 8 Utilizando Labview construya un instrumento virtual de medición eléctrica. 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 medición deberá darse entre los 0 y los 480V rms, de ahí se derivarán las demás escalas. Debe incluir una alarma que indique visualmente que la carga es 0
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 rectángulo, dichos cálculos se realizaran utilizando la función Formula.
SOLUCION 9
SUB VI´S
Definición de sub VI Un SubVI es el equivalente a una subrutina en los lenguajes de programación tradicionales, en el caso de Labview permite simplificar programas con operaciones repetitivas y/o complejas a secuencias más simples. Como ejemplo considere la Aplicación donde se tiene un instrumento virtual de adquisición de variables eléctricas, como es de notarse la programación a pesar de ser simple resulta demasiado extensa, por lo que sería óptimo poderla “encapsular” en una función particular.
¿Cómo crear un SubVI? La creación de un SubVI resulta sencilla como casi todas las aplicaciones en Labview, y en realidad existen varios métodos para su creación, siendo la más 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 pequeño í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 básicos 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 características de manera muy simple, apretando botón derecho sobre el ícono y seleccionando > view as an icon podremos apreciar que las propiedades “funcionales” del ícono son idénticas 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 medición de variables, voltaje, corriente y temperatura para un panel de control industrial de monitoreo de procesos, utilice sub VI’s, implemente de acuerdo a los estándares de instrumentación tradicionales.
SOLUCION 10
DATOS DE TEXTO
EJERCICIO 11 (a) Minúsculas y Mayúsculas
EJERCICIO 11 (b) Patrón de concordancia
EJERCICIO 11 (c) Cadena de texto inversa
EJERCICIO 11 (d) Selección T/F
ESTRUCTURAS
EJERCICIO 12 Elabore un dispositivo de temperatura, con histéresis variable, que nos indique aleatoriamente (automático), 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 función de doble precisión, 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 numéricos 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 (después de)
ESTRUCTURA CASE (Caso)
Seleccionar (Estructura caso)
Añadir un caso después
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 LED´S (5 led´s)
Utilizando variables locales
SECUENCIA DE LED´S
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
EJERCICIO 19 Desarrollar un VI capas de ingresar datos diferentes y reflejarlos en sus respectivos indicadores mediante un concentrador (Bundle y Unbndle).
CLUSTER Y MATRIX
Cluster & Array
Caso 1
Caso 2
Suma y multiplicación de matrices
EVENTOS
EJERCICIO 20 Desarrollar un VI en el que se gradué la transparencia del panel frontal. Utilizando event structures
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
EJERCICIO 21 Desarrollar un VI para cambiar una señal dentro y fuera, de la utilización del relé Express VI.
Captura de señales
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 AUTOMÁTICA
ADQUISICIÓN DE DATOS