Вы находитесь на странице: 1из 18

Curso Bsico LabVIEW

1.- CONCEPTOS BSICOS DE LabVIEW.


INTRODUCCIN A LabVIEW. LabVIEW es un lenguaje de programacin en grficos, que utiliza iconos en sustitucin de lneas de texto para crear aplicaciones. LabVIEW utiliza una programacin basada en el flujo de datos, la cual determina la ejecucin del programa. En LabVIEW se debe construir una interfase de usuario mediante un conjunto de herramientas y objetos disponibles, esta interfase es conocida como PANEL FRONTAL. Posteriormente se agrega el cdigo del programa utilizando una representacin grafica de funciones para controlar los objetos en el panel frontal, lo cual se realiza en una seccin llamada DIAGRAMA A BLOQUES. INTRODUCCIN A LOS INSTRUMENTOS VIRTUALES. Los programas realizados en LabVIEW son llamados INSTRUMENTOS VISTUALES (VIs), porque su apariencia simula fsicamente instrumentos tales como un multmetro, frecuencmetro, osciloscopio, etc. Un VI contiene principalmente los siguientes componentes: 1. PANEL FRONTAL.- Funciona como la interfase de usuario. 2. DIAGRAMA A BLOQUES.- Contiene el cdigo fuente en forma de grficos que determina la funcin del VI. PANEL FRONTAL. El panel frontal es la interfase de usuario del programa. La figura 1.1 muestra un ejemplo de un panel frontal.

Figura 1.1 Panel frontal en LabVIEW.

Pgina 1

Curso Bsico LabVIEW El panel frontal se construye con controles e indicadores, los cuales son entradas y salidas respectivamente en el VI. Los controles permiten la entrada de datos al diagrama a bloques del VI y pueden ser perillas, interruptores, push buttons, entre otros dispositivos de entrada. Los indicadores muestran los datos provenientes del diagrama a bloques y pueden ser graficas, LEDs, indicadores de aguja, etc. DIAGRAMA A BLOQUES. El diagrama a bloques contiene el cdigo fuente en forma de grficos para realizar el control de los objetos colocados en el panel frontal. Los objetos en el panel frontal aparecen en forma de terminales en el diagrama a bloques. La figura 1.2 muestra un ejemplo de un diagrama a bloques en el cual se pueden ver funciones, terminales y conexiones por medio alambres, adems del panel frontal.

Figura 1.2 Ejemplo de diagrama a bloque y su panel frontal correspondiente.

TERMINALES, NODOS Y ESTRUCTURAS. Las terminales representan el tipo de dato del control o indicador. Por ejemplo una terminal con la iniciales DBL y de color naranja representa un control o indicador numrico de punto flotante de doble precisin. La tabla 1.1 muestra las formas en que son representados los diferentes tipos de datos en LabVIEW por medio de terminales. Pgina 2

Curso Bsico LabVIEW Control Indicador Tipo de dato


Numrico de punto flotante sencillo Numrico de punto flotante de doble precisin Numrico de punto flotante extendido Numrico complejo de punto flotante sencillo Numrico complejo de punto flotante doble precisin Numrico complejo de punto flotante extendido Numrico entero de 8 bits con signo Numrico entero de 16 bits con signo Numrico entero de 32 bits con signo Numrico entero de 8 bits sin signo Numrico entero de 16 bits sin signo Numrico entero de 32 bits sin signo Tipo enumerado Booleano Cadena Arreglo (Toma el color del tipo de dato que maneja) Cluster Path (Ruta de archivos en memoria) Forma de onda Tabla 1.1 Terminales que representan los tipos de dato en LabVIEW.

Color
Naranja Naranja Naranja Naranja Naranja Naranja Azul Azul Azul Azul Azul Azul Azul Verde Rosa Varios Caf o rosa Aqua Cafe

Los nodos son los objetos en el diagrama a bloques que contienen entradas o salidas y ejecutan operaciones cuando el programa se est ejecutando. Se puede decir que son anlogos a instrucciones, operadores, funciones y subrutinas en los lenguajes de programacin en lneas de texto. Las estructuras son representaciones grficas de ciclos y condiciones como case en los lenguajes de programacin en lneas de texto.

Pgina 3

Curso Bsico LabVIEW

2.- CREANDO VIs (Instrumentos Virtuales) y SubVIs.


PRIMER PROGRAMA EN LabVIEW El primer programa a realizar en LabVIEW calcula la suma, resta, multiplicacin y divisin de dos nmeros, por lo cual necesitamos dos controles para ingresar el valor de los datos de entrada y cuatro indicadores que mostrarn los resultados. En la figura 2.1 a y b se muestra el panel de control y el diagrama a bloques respectivamente de dicho programa. Se usara el tipo de dato DBL que es el asignado automticamente. Los controles e indicadores se colocan utilizando la paleta de controles sobre el panel frontal mediante la seleccin adecuada de estos, mientras que las funciones se colocan en el diagrama a bloques utilizando la paleta de funciones. Realice las conexiones necesarias utilizando la herramienta de conexin (conecct wire) que se encuentra en la paleta de herramientas.

Figura 2.1 a Panel frontal del VI para sumar, restar, multiplicar y dividir dos nmeros.

Pgina 4

Curso Bsico LabVIEW

Figura 2.1 b Diagrama a bloques del VI para sumar, restar, multiplicar y dividir dos nmeros.

EJERCICIO 1. Realice un VI, el cual convierta grados centgrados a grados fahrenheit. Los C y F deben de mostrarse adems de un indicador numrico en uno de tipo grfico como lo es un termmetro.

Pgina 5

Curso Bsico LabVIEW UTILIZACIN DE DATOS BOOLEANOS EN LabVIEW Como es conocido los datos de tipo booleano son aquellos que slo tienen dos valores posibles: FALSO o VERDADERO (1 o 0, encendido o apagado, etc). En la tabla 1.1 se muestra que los datos de tipo booleano se representan en LabVIEW con la terminal con las iniciales TF (TRUE/FALSE) en color verde. Los controles booleanos ms utilizados en LabVIEW son los interruptores y los indicadores son los LEDs. La figura 2.2 muestra el panel frontal y el diagrama a bloques de un interruptor controlando el encendido y apagado de un LED.

Figura 2.2 Empleo de datos booleanos en LabVIEW utilizando un interruptor como control y un LED como indicador.

El siguiente ejemplo muestra como utilizar las funciones booleanas AND, OR y EXOR en LabVIEW. Se utilizan dos entradas por medio de los interruptores A y B y como indicadores LEDs que representan las funciones booleanas mencionadas.

Figura 2.3 Utilizacin de las funciones AND, OR y EX-OR.

EJERCICIO 2. Realice un VI el cual implemente la siguiente expresin booleana: S(A, B, C, D)=(A.B).((A+B)+(C.D)). Pgina 6

Curso Bsico LabVIEW EJERCICIO 3. Realizar un VI el cual calcule el promedio de tres calificaciones y muestre mediante un LED que encender en color verde si el promedio es mayor o igual a 70 o de lo contrario encender color rojo. UTILIZACIN DE STRINGS (CADENAS) EN LabVIEW Los datos tipo string son aquellos que involucran el empleo de caracteres alfanumricos, como pueden ser nombres propios, direcciones, ciudades, etc. En LabVIEW se utiliza un control tipo string para entrada de datos y un indicador string para la salida. Adems existe una serie de funciones para la manipulacin de las cadenas, como concatenar, longitud de cadena, conversin entre maysculas y minsculas, etc. En la figura 2.4 se observa un VI el cual utiliza datos tipo sring. Contiene tres controles para entrada de datos (nombre, apellido paterno y apellido materno), y un indicador en el cual se puede observar juntos la tres cadenas de entrada. Se muestra tambin el diagrama a bloques correspondiente en el cual se emplea la funcin de concatenacin de cadenas.

Figura 2.4 Utilizacin de datos tipo string en LabVIEW.

EJERCICIO 4. Crear un VI con un control sring y un indicador booleano (LED). El LED encender solo cuando se teclea en el control la palabra: LABVIEW. Nota: Este ejemplo servir para basarse en como colocar palabras de acceso (PASSWORD) a futuras aplicaciones.

3.- ESTRUCTURAS
Pgina 7

Curso Bsico LabVIEW

Las estructuras son representaciones graficas de ciclos y sentencias en los lenguajes de programacin basados en texto. La utilizacin de estructuras en el diagrama a bloques permite repetir bloques de programacin y evaluar condiciones que deben cumplirse para realizar una sentencia. Las estructuras disponibles en el diagrama a bloques en LabVIEW son las siguientes: a) CASE: Contiene mltiples sub diagramas, de los cuales solo uno se ejecuta dependiendo del valor de entrada a la estructura. b) FOR LOOP: Ejecuta un sub diagrama un nmero de veces establecido. c) WHILE LOOP: Ejecuta un sub diagrama mientras la condicin de control lo permite. d) SEQUENCE: Contiene uno o mas sub diagramas , los cuales se ejecutan en forma secuencial. e) FORMULA NODE: Ejecuta operaciones matemticas basadas en los valores de entrada.

ESTRUCTURA CASE Una estructura CASE puede tener dos o mas sub diagramas u opciones. Solo un sub diagrama es visible a la vez, y la estructura ejecuta una opcin a la vez. Un valor de entrada determina cual sub diagrama se ejecuta. La estructura CASE es similar a las sentencias CASE e IF... THEN... ELSE en los lenguajes de programacin en lneas de texto. La forma bsica de utilizar una estructura CASE es con dos sub diagramas u opciones, una se ejecutar si una condicin es falsa y la otra si es verdadera. Por ejemplo se tienen dos controles numricos y un solo indicador el cual puede mostrar el resultado de la suma o la resta de los datos de entrada segn la posicin que tenga un interruptor. Este ejemplo se muestra en la figura 3.1.

Figura 3.1 Utilizacin de la estructura case con solo dos opciones. Se muestra solo la opcin falsa en el diagrama a bloques.

Pgina 8

Curso Bsico LabVIEW En el ejemplo anterior se utiliz la estructura CASE solo con dos opciones y el control de la ejecucin es realizado por un interruptor el cual permite obtener solo dos estados: FALSO Y VERDADERO. Es posible utilizar un CASE con mas de dos opciones, en lugar de utilizar un control booleano se puede utilizar un control numrico que permitir seleccionar mas de dos opciones. El ejemplo siguiente va a permitir seleccionar la operacin deseada (suma, resta, multiplicacin o divisin) a los dos datos de entrada y desplegar el resultado en un indicador. La operacin se seleccionar mediante otro control numrico el cual cuando est colocado a 0 significar suma, 1 = resta, 2 = multiplicacin y 3 = divisin. Lo anterior se muestra en la figura 3.2.

Pgina 9

Curso Bsico LabVIEW

Figura 3.2 Utilizacin de la estructura CASE con mas de dos opciones, utilizando un control numrico como seleccionador de la opcin. Se muestran las cuatro opciones posibles.

EJERCICIO 5. Realice el mismo programa anterior, solo que en lugar de utilizar un control numrico como seleccionador, a) utilice una lista de texto y b) un control tipo string. EJERCICIO 6. Utilizando la estructura CASE, realizar un VI, el cual permita cambiar grados Centgrados a grados Fahrenheit o Kelvin segn una opcin que se sea seleccionada. ESTRUCTURA FOR LOOP Una estructura FOR LOOP ejecuta un sub diagrama un nmero de veces establecido. Un valor en la terminal de conteo (terminal de entrada -N- ) indica cuantas veces se repetir el sub diagrama. La terminal de iteracin (-i-) contiene el nmero de iteraciones realizadas. El contador de iteraciones siempre empieza en cero. En la figura 3.3 se muestra la estructura FOR LOOP y se sealan las terminales de entrada y de iteracin. Terminal de entrada

Terminal de iteracin
Figura 3.3 Estructura FOR LOOP en LabVIEW.

Pgina 10

Curso Bsico LabVIEW El ejemplo siguiente muestra la utilizacin de un ciclo FOR LOOP el cual ejecuta el sub diagrama 10 veces e imprime el valor de la iteracin sobre un indicador digital.

Figura 3.4 Utilizacin de la estructura FOR LOOP para imprimir los nmeros del 0 al 9.

Al ejecutar el programa mostrado en la figura 3.4 solo se aprecia en el indicador el nmero 9, debido a que el programa se ejecuta a la velocidad del equipo de computo lo cual no permite apreciar la impresin de las primeras iteraciones. Si se desea observar como se imprime cada valor de la iteracin, es necesario agregar un retardo entre cada iteracin. Se puede hacer un retardo utilizando la funcin: Wait Until Next ms Mltiple, la cual realiza un retardo en milisegundos especificado a la entrada de dicha funcin. La figura 3.5 muestra el ejemplo anterior con la funcin de retardo dentro de la estructura FOR LOOP, la cual realizar un retardo de 1 segundo entre cada iteracin.

Figura 3.5 Utilizacin de la funcin Wait Until Next ms Mltiple para realizar un retardo de 1 segundo entre cada iteracin de la estructura FOR LOOP.

EJERCICIO 7. Imprima en pantalla los nmeros del 0 al 20 en incrementos de 2, haciendo un retardo de medio segundo entre cada iteracin. EJERCICIO 8. Imprima en pantalla los nmeros del 9 al 0 en decrementos de 1, haciendo un retardo de 2 segundos entre cada iteracin.

Pgina 11

Curso Bsico LabVIEW Se pueden utilizar graficas como indicadores en cualquier aplicacin. La figura 3.6 muestra el empleo de la grafica: Waveform Chart como indicador de las iteraciones realizadas por un ciclo FOR LOOP como el de los ejemplos anteriores, mientras que la figura 3.7 utiliza una grafica: Waveform Graph.

Figura 3.6 Utilizacin de Waveform Chart como indicador dentro de un ciclo FOR LOOP.

Figura 3.7 Utilizacin de Waveform Graph como indicador fuera de un ciclo FOR LOOP.

Puede observarse la diferencia al utilizar las dos graficas en los ejemplo anteriores. La grafica tipo Chart grafica dato por dato, por lo cual es necesario colocar su terminal dentro del ciclo. Por otro lado la de tipo Graph, grafica un conjunto o arreglo de datos es por eso que Pgina 12

Curso Bsico LabVIEW es necesario colocarla fuera del ciclo, el cual se encarga de pasarle todos los datos de las iteraciones a la vez. EJERCICIO 9. Generar una grafica de 50 datos aleatorios con valores entre 0 y 10, utilizando: a) Waveform Chart y b) Waveform Graph, si el valor del dato es mayor a 5, activar un LED rojo como indicador de este evento. EJERCICIO 10. Generar y mostrar 2 ciclos de una seal senoidal con una amplitud de 10 y una frecuencia de 10Hz. En el siguiente ejemplo se ve la forma de mostrar un nmero en binario mediante el empleo de LEDs. Se utiliza un control digital para la entrada de datos y tipo de dato U8 (entero sin signo de 8 bits) para ser mostrados en un arreglo de 8 LEDs. Los 8 LEDs, que representarn cada bit en binario son colocados dentro de un arreglo. Se utiliza la funcin: Number to Boolean Array, la cual se encarga de convertir un nmero a un arreglo de bits en binario. Lo anterior se puede observar en la figura 3.8

Figura 3.8 Utilizacin de la funcin Number to Boolean Array para convertir un nmero a un arreglo de bits.

EJERCICIO 11. Mostrar los nmeros en un arreglo de LEDs de las iteraciones de un ciclo desde 0 a 255. Realizar un retardo de 300 milisegundos entre cada iteracin. EJERCICIO 12. En el arreglo de 8 LED, encender cada LED en forma secuencial desde el bit 0 hasta el 7. Nota: Utilizar la funcin Scale by Power of 2. EJERCICIO 13. Encender los LEDs en forma secuencial pero ahora del bit 7 al 0. EJERCICIO 14. Realizar los dos ejercicios anterior utilizando un arreglo de constantes de lugar de la funcin Scale by Power of 2.

Pgina 13

Curso Bsico LabVIEW ESTRUCTURA WHILE LOOP Esta estructura es similar a los ciclos DO WHILE o REPEAT UNTIL en los lenguajes de programacin en lneas de texto. Una estructura WHILE LOOP ejecuta un sub diagrama mientras una condicin coincide. Esta estructura ejecuta el sub diagrama hasta que la terminal de condicin recibe un valor booleano especificado. La condicin por default en la terminal de condicin de la estructura es: Continue If True (Continuar si es verdadero). En esta condicin, el ciclo ejecutar el sub diagrama hasta que recibe un valor falso a la entrada de la terminal. Puede cambiarse el estado de la condicin a: Stop If True (Parar si es verdadero). Cuando la terminal de conexin est en Stop If True, el ciclo ejecutar el sub diagrama hasta que la terminal de entrada reciba un valor verdadero. Este ciclo siempre ejecutar por lo menos una vez el sub diagrama, debido a que la condicin se verifica hasta el final de cada iteracin. La figura 3.9 muestra la estructura WHILE LOOP y sus componentes. En la parte de arriba de la figura se aprecia la terminal de condicin en la posicin: Continue If True, mientras que la figura de bajo muestra la condicin: Stop If True.

Terminal de condicin: Continue If True

Terminal de condicin: Stop If True

Figura 3.9 Estructura WHILE LOOP. La figura superior muestra la terminal de condicin en el estado: Continue If True, mientras que la inferior muestra el estado: Stop If True.

Pgina 14

Curso Bsico LabVIEW El ejemplo en la figura 3.10 genera un dato aleatorio y es desplegado en una grafica (Waveform Chart) cada 300ms, hasta que se presiona un botn de paro, el cual detiene la ejecucin de un ciclo WHILE LOOP. Ntese que la terminal de condicin se encuentra en la posicin: STOP IF TRUE.

Figura 3.10 Estructura WHILE LOOP con la terminal de condicin en la posicin: STOP IF TRUE.

FUNCIN PARA GRABAR DATOS EN UN ARCHIVO Si se desea grabar los datos hacia un archivo o de lo contrario leer datos, se pueden utilizar las funciones: Write To Spreadsheet File y Read From Spreadsheet File respectivamente. Estas funciones graban datos en un archivo en formato de texto.

Figura 3.11 Funciones para grabar y leer datos hacia y desde un archivo en formato de texto.

Pgina 15

Curso Bsico LabVIEW Estas funciones se encuentran en la barra de funciones en la seccin FILE I/O. Al utilizar estas funciones solamente se tiene que indicar la ruta (path) del archivo que se desea abrir para realizar la escritura o lectura de datos, as como especificar algunos parmetros de escritura y lectura. El siguiente VI genera 100 datos aleatorios mediante el empleo de la estructura FOR LOOP y finalmente se almacenan a un archivo tipo texto ubicado en la siguiente ruta del disco duro: C:\Archivo1.txt.

Figura 3.12 Utilizacin de la funcin Write To Spreadsheet File

A continuacin se utiliza la funcin Read From Spreadsheet para leer los datos del archivo que se mand a grabar en el ejemplo anterior.

Figura 3.13 Funcin Read From Spreadsheet para cargar los datos desde un archivo en formato de texto.

Pgina 16

Curso Bsico LabVIEW EJERCICIO 15. Generar 3 ciclos de una seal senoidal de 1000Hz y amplitud de 5. Graficar la seal y grabar los datos en un archivo tipo texto, esto debe realizarse slo cuando se presione un botn que de la orden de graficar y grabar. Nota: Para evitar ejecutar el programa en modo continuo, es preferible agregar un ciclo WHILE LOOP que controle la ejecucin de todo el programa, esto es recomendable realizarlo en todos los programas para tener un mejor control del VI. EJERCICIO 16. Cargar los datos del archivo grabado en el ejercicio anterior y mostrarlos sobre una grfica. EJERCICIO 17. Grabar y leer los datos del ejercicio 15 utilizando un archivo en formato binario.

Pgina 17

Curso Bsico LabVIEW ESTRUCTURA FORMULA NODE Esta estructura es un nodo basado en texto que puede realizar una operacin matemtica dentro del diagrama a bloques. Esta estructura acepta la sintaxis muy similar a la utilizada en los compiladores de C. Esta estructura es til para ecuaciones que poseen varias variables. La estructura Formula Node puede tener una o mas sentencias delimitadas por punto y coma muy similar a la sintaxis utilizada en C. La figura 3.14 muestra un ejemplo de cmo utilizar la estructura mencionada.

Figura 3.14 Estructura Formula Node para calcular el valor de una ecuacin con cuatro variables de entrada y una de salida.

En el ejemplo anterior se ve como pueden crearse las variables necesarias para calcular una expresin, En este se puede ver la utilizacin de cuatro variables de entrada las cuales reciben el dato mediante un control o una constante y una variable de salida que pasa el valor calculado a un indicador. Cuando se trabaja con expresiones de una sola variable se puede utilizar la funcin Expression Node. Esta funcin utiliza el valor que se le pasa a la terminal de entrada y la terminal de salida devuelve el valor calculado. El ejemplo siguiente muestra el uso de esta funcin.

Figura 3.15 Funcin Expression Node.

Pgina 18

Вам также может понравиться