Está en la página 1de 18

Instrumentacin Avanzada. J. A.

Surez

GUIA DE INICIACIN PRCTICA N 1 INSTRUMENTACIN AVANZADA

PROGRAMACION GRAFICA LABVIEW

Instrumentacin Avanzada. J. A. Surez

1.-INTRODUCCIN AL ENTORNO LABVIEW


1.- Creacin de controles. En el panel frontal (PF) nos encontramos con controles e indicadores, conformando las entradas y salidas de datos respectivamente. Desde el Panel Frontal, incorporamos los siguientes controles: 1) 2) 3) 4) 5) 6) 7) 8) Control Numrico Control Booleano Control String Indicador Meter Indicador Thermometer Indicador Tank Indicador Boolean Indicador String

Con la paleta Tools activada en seleccin automtica podemos incrementar el valor del control numrico, haciendo clic en las flechas o bien ingresando un nmero con doble clic en el control. Con la combinacin de teclas CTRL+E, intercambiamos las pantallas desde PF a DB y viceversa y con CTRL+T aparecen juntas una al lado de la otra.

El DB est compuesto por nodos, terminales y cables. El cableado se completa acercando el cursor a los terminales y teniendo la paleta Tools en Seleccin Automtica o bien haber presionado antes el icono , el resultado es el que se muestra en la figura siguiente:

Instrumentacin Avanzada. J. A. Surez

En el grfico diferenciamos tres cableados con colores distintos: a) Color Naranja para los datos numricos de punto flotante (azul en caso de enteros) b) Color Verde para datos del tipo booleano. c) Color Violeta para los datos Strings. El grosor del cableado indicar si se trata una magnitud escalar, de una matriz de una o de dos dimensiones. Para mejorar la presentacin del cableado apoyamos el cursor sobre el mismo y con la tecla derecha nos aparece un men pop-up. Seleccionando la primera opcin Clean Up Wire automticamente se optimizar las conexiones. Con la combinacin de teclas CTRL+B limpiamos las conexiones que pudieran quedar quebradas. Finalizado el cableado pulsando el botn en la barra de herramientas de Estado el programa se ejecuta. Si el botn apareciera con la flecha quebrada es indicio que el programa tiene irregularidades, con pulsar el botn aparecer un dilogo con las fuentes de errores. Entre los errores ms comunes aparecen:

a) Terminal de entrada de una funcin sin conectar. b) Cable roto en el DB por incompatibilidad de tipos de datos o bien por conexiones sin continuidad. c) Un Sub VI est roto.

Instrumentacin Avanzada. J. A. Surez

Ejercicio 1.1 Crear un VI para convertir C a F 1. Seleccionamos File New, para abrir un nuevo PF. 2. Ubicamos un control numrico desde la paleta ControlsNumeric. Este control le ponemos etiqueta C. 3. Ubicamos en el PF un indicador numrico, con etiqueta F. 4. Seleccionando Windows Show Diagram o bien con CTRL+E, pasamos al DB. 5. Seleccionamos las funciones Multiply y Add desde la paleta FunctionsNumeric. 6. Completamos los cableados entre funciones, controles e indicadores, agregando en cada uno de los terminales de las funciones dos constantes: 1.8 y 32. Para esto ltimo estando la paleta en Seleccin Automtica, acercamos el cursor sobre el terminal inferior de las funciones, con clic derecho en el men pop-up optamos por Create Constant.

7. Luego grabamos el archivo VI desde FileSave. 8. Pulsando el botn obtendremos en el PF el resultado de la aplicacin:

Instrumentacin Avanzada. J. A. Surez

CREACION DE SUB VI
Despus de crear un VI, este puede ser usado en otra aplicacin VI. Cuando un VI se introduce dentro de otro VI se lo llama sub VI y se corresponde con una subrutina llamada en un lenguaje de programacin (VB, Pascal, etc.). Ejercicio 1.2: Convertir la aplicacin del Ejercicio 1.1 en un sub VI. 1. Seleccionamos desde FileOpen el ejercicio Conversor de C a F

2. Seleccionamos con clic derecho sobre el icono de la aplicacin (borde superior derecho) la opcion Edit Icon, apareciendo el editor de iconos:
Dibujar y borrar pixel

Select Tool

Con Select Tool y presionando la tecla <Borrar> removemos el icono por defecto y creamos el siguiente:

3. Pulsando OK cerramos el editor de iconos y repetimos la operacin indicada en 2, pero esta vez optamos por Show Connector:

Instrumentacin Avanzada. J. A. Surez

Puesto que la aplicacin tiene dos terminales, uno de entrada el control numrico (C) y otro de salida el indicador numrico (F), seleccionamos desde Patterns la opcin con dos terminales, tal como muestra la figura anterior. Ahora con la opcin desde la paleta Tools marcamos el conector izquierdo (el conector cambiar a negro) y luego hacemos clic en el control numrico (el conector cambiar a naranja). Repetimos para el conector derecho asignndole el indicador numrico. Para agregarle una descripcin a la aplicacin que luego se leer con la ayuda contextual CTRL+H, desde FileVI propertiesDocumentation agregamos Sub VI convertidor de grados centigrados a grados Farenheit. Finalmente grabamos creando de esta manera un sub VI con el nombre conversor c a f listo para ser aplicado en otras aplicaciones. Ejercicio 1.3.- Termmetro VI. 1. Seleccionamos FileNew y completamos el siguiente esquema en el panel frontal:

Desde el DB reemplazamos el sensor adquisidor de datos de temperatura por la funcin Demo Read Voltage. Se incorpora la funcin Select desde la paleta FunctionsComparison. Esta funcin regresa Falso si el valor de temperatura est en Farenheit y Verdad si est en C. El sub VI C F se incorpora desde FunctionsSelect a VI conversor c a f.vi

Funcin Select

Finalmente el archivo es guardado como termometro.vi.

Instrumentacin Avanzada. J. A. Surez

Ejercicio 1.4 Convertir el ingreso de segundos al formato hora, minutos y segundos, utilizando la funcin Quotient&Remainder

Ejercicio 1.5 Construir una aplicacin VI que a partir de dos temperaturas ingresadas mxima y mnima se comparen con otra actual indicando en pantalla el alerta cuando la mxima y mnima es superada. Caso a) no hay alarma:

Caso b) se supera el mnimo

Caso c) se supera el mximo

Instrumentacin Avanzada. J. A. Surez

Ejercicios adicionales: 1) Construir un VI que compare dos nmeros e indique en un LED si el primero es mayor o igual al segundo. 2) Construir un VI que genere un nmero aleatorio entre 0.00 y 10, dividiendo este nmero por otro especificado desde el PF. Si el divisor es cero, el VI debe indicarlo encendiendo un LED de control. 3) Ejecutar en una aplicacin VI la siguiente ecuacin:

4) Graficar la ecuacin x3+x+3, para x=1 hasta 100. 5) Ingresar en el PF dos nmeros x1 y x2. Realizar las cuatro operaciones matemticas (suma, resta, producto y divisin). Agregar controles booleanos que indiquen si A=B, A>B, A<B y B=0.

Instrumentacin Avanzada. J. A. Surez

USO DE ESTRUCURAS

While Loop Es una estructura similar a la utilizada en otros lenguajes (do While Loop), en la que una rutina se repite hasta que la condicin impuesta se cumple. Para colocar un While Loop en el DB lo seleccionamos desde FunctionsStructures

Terminal de Iteracin

Terminal Condicionante

While Loop ejecuta el subdiagrama hasta que la condicin terminal reciba un especfico valor Sop if True y booleano. Por defecto el terminal condicional se detiene si es verdad haciendo clic sobre el mismo puede cambiarse a continuar si es verdad Continue is True. El contador de la iteracin siempre arrancar desde cero. Ejercicio 2.1. Armar un VI que cuente la cantidad de iteraciones para alcanzar la igualdad con un nmero ingresado por el operador: En el panel frontal quedar esta presentacin:

El diagrama de bloques ser el siguiente:

Se ha introducido la funcin Increment (+1), para contar el nmero real de iteraciones, dado que como se ha dicho se inician en cero.

Instrumentacin Avanzada. J. A. Surez

FOR LOOP

Contador de Ciclos: indica cuantas veces se repite el subdiagrama

N Terminal de conteo i - Terminal de Iteracin

Si N es cero o negativo el ciclo no se ejecuta

EJECUTA UN SUBDIAGRAMA UN DETERMINADO NMERO DE VECES Terminal de iteracin Contiene el nmero de iteraciones completas

For I=0 to N-1 Ejecuta Cdigo Next I

NOTA: El CERO es indexado y aparece en la primera iteracin

En For Loop la rutina se ejecuta un nmero determinado de veces, impuesto por el contador de ciclos N (borde superior izquierdo). Ejercicio 2.2 Ejecutar una aplicacin VI que genere 100 nmeros aleatorios y los muestre en un grfico (Waveform Chart). Diagrama de Bloques:

Panel Frontal:

Opciones de Waveform Chart Desde el men propiedades (con clic derecho): Update Mode: Strip Chart
10

Instrumentacin Avanzada. J. A. Surez

Desde el men Plot efectuar los siguientes cambios:

Con la paleta Tools efectuar el cambio de color de fondo (negro a blanco) de la pantalla.

Generacin de un Array Se puede usar tanto la secuencia FOR como WHILE LOOP para generar un array. Esto es llamado autoindexado y se logra a travs de un tnel en el borde de la estructura. Ejercicio 2.3 Obtener el resultado en un array de los cuadrados de los primeros 10 nmeros naturales y graficarlos.

Auto-Indexed Tunnel

Si en el tnel con clic derecho pasamos a Disable Indexing, aparecer el cableado de salida quebrado. Si apoyamos el cursor con Create habilitamos un nuevo indicador numrico, que solo entregar el ltimo resultado de la iteracin. Comprobar lo anterior agregando un nuevo tunel a For:

11

Instrumentacin Avanzada. J. A. Surez

Shift Register Shift registers (SR) se utiliza tanto en los WHILE LOOP como en FOR LOOP. Se utilizan para transferir datos desde una iteracin a la siguiente. Son similares a las variables estticas en los lenguajes de programacin basados en texto. Un SR se crea haciendo click sobre el borde derecho o izquierdo del loop y seleccionando Add Shift registers desde el men emergente. Los datos a cablear en los terminales de cada SR deben ser del mismo tipo.

Ejercicio 2.4 Ejecutar un VI que realice un nmero determinado de iteraciones (hasta 5), mostrando en el panel frontal los valores correspondientes a x(i-1), x(i-2), x(i-3):

12

Instrumentacin Avanzada. J. A. Surez

CASE STRUCTURE Esta estructura es equivalente a IF/ THEN/ ELSE de los lenguajes tradicionales de texto.
If condition=TRUE then Ejecute el cdigo 1 ELSE Ejecute el cdigo 2 Endif

Ejercicio 2.5 Ejecute una aplicacin para obtener la raz cuadrada de un nmero. Si el nmero ingresado es menor que cero debe aparecer un dilogo de advertencia. Si el nmero ingresado es positivo ejecuta la rutina True:

Si el nmero ingresado es negativo ejecuta la rutina False.

13

Instrumentacin Avanzada. J. A. Surez

Ejercicio 2.6 Construir una aplicacin VI que muestre en un solo termmetro la medicin de temperatura en C y F, utilizando la estructura CASE y las propiedades de NODE visible.

14

Instrumentacin Avanzada. J. A. Surez

Ejercicio 2.7 Construir un VI que 5 LEDS, que se iluminen en forma cclica de izquierda a derecha:

Ejercicio 2.8 Construir un VI que simule el llenado y vaciado de un tanque. El nivel del tanque debe controlarse desde el panel frontal. Debe incorporarse el control de apertura y cierre de la vlvula.

Vlvula abierta Llenado del tanque

Vlvula cerrada Vaciado del tanque

Ejercicio 2.9 Crear un vi que cuente un nmero ingresado y lo muestre. El programa puede reiniciarse con el botn contar, cada vez que un nuevo nmero es ingresado

Ejercicio 2.10 Graficar un nmero aleatorio con delay variable en el panel frontal en segundos.

15

Instrumentacin Avanzada. J. A. Surez

Ejercicio 2.11 Graficar la temperatura actual y la media con dos sensores de temperatura ubicados en dos lugares distintos (cmara 1 y cmara 2).

Ejercicio 2.12 En un arreglo de 10 LEDS hacer que encienda a travs de un control numrico un determinado LED. De la misma manera con otro control numrico efectuar la operacin de apagado.

Ejercicio 2.13 Simular la presin en el interior de un tanque agregando una imagen de archivo en el panel frontal. 1) Creamos desde FileNew un nuevo archivo. 2) Desde Edit seleccionamos Import Picture to Clipboard, seleccionamos la imagen tanque.jpg desde la carpeta ejercicios. 3) En el panel frontal agregamos un control para la alarma un LED- cuando se supere el valor mximo de 5.5 kg/cm2. Al LED desde propiedades le cambiamos el color a rojo. 4) Insertamos un control para medir la presin GAUGE.

16

Instrumentacin Avanzada. J. A. Surez

5) Desde el DB agregamos las funciones Random Number, Add y Greater. Completamos con un While Loop y un temporizador Wait con una constante igual a 1000, simulando la adquisicin de un dato cada segundo.

17

Instrumentacin Avanzada. J. A. Surez

2.14 .- Simular el llenado el vaciado de un Tanque 1, simultneamente con el llenado del Tanque 2, luego de la apertura de la vlvula. Completar el esquema del VI con tuberas y simulacin del control de apertura-cierre de la vlvula

2.15.- Crear un VI que simule el cierre de un interruptor (control personalizado) y arranque el motor de una cinta que al llegar al 90% de su recorrido se detenga, abriendo el interruptor.

18

También podría gustarte