You are on page 1of 77

Qu es LabVIEW?

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un lenguaje de


programacin grfico para el diseo de sistemas de adquisicin de datos,
instrumentacin y control, interfaces de usuario mediante una consola interactiva
basada en software.
Es a la vez compatible con herramientas de desarrollo similares y puede trabajar
con programas de otra rea de aplicacin, como por ejemplo Matlab.
Permite la integracin con hardware, especficamente con tarjetas de medicin,
adquisicin y procesamiento de datos.
Los programas creados en LabVIEW se guardan en archivos llamados
Instrumentos Virtuales con extensin VI.

Aplicaciones de LabVIEW
Labview tiene su mayor aplicacin en sistemas de medicin,
como monitoreo de procesos y aplicaciones de control,
sistemas de monitoreo en transportacin, Laboratorios para
clases en universidades, procesos de control industrial,
procesamiento digital de seales, procesamiento en tiempo
real de aplicaciones biomdicas, manipulacin de imgenes y
audio, automatizacin, generacin de seales, entre otras, etc.

Entorno LabVIEW

La programacin G (grfica) de Labview consta de un Panel Frontal y un Diagrama de


Bloques.
En el Panel Frontal es donde se disea la interface de usuario y se ubican los controles
e indicadores.

Entorno LabVIEW

La programacin G (grfica) de Labview consta de un Panel Frontal y un Diagrama de Bloques.


En el Diagrama de Bloques se encuentran las funciones y cdigo.
Cada control que se utiliza en la interfaz tiene una representacin en el panel de cdigo,
igualmente los indicadores necesarios para entregar la informacin procesada al usuario tienen
un icono que los identifica en el panel de cdigo o de programacin.

Ventanas de Trabajo

Herramientas
(Seleccin del
instrumento a utilizar)

Controles
(Elementos del Panel de Control)

Funciones
(Elementos para el diagrama de bloques)

Controles, Indicadores e Iconos

Controles: Entradas de Datos


Indicadores: Salidas de Datos

Iconos: Representacin de Controles en


el diagrama de bloques (cdigo)

Funciones

Estructuras
(While, For, Case)

Funciones
(Programacin, Medicin, matemticas, etc)

Numricas

Tipos de Datos
En el panel de Control

En el diagrama de bloques

String

Booleanos

Numricos

Creacin de Programas
En LabVIEW la programacin se realiza en el Diagrama de Bloques. Un programa generalmente tiene:
- Controles: sirven de entrada de datos
- Funciones, Vis y estructuras: realizan las operaciones con los datos
- Indicadores: sirven de salida para los datos

Ejemplo No.1

El programa lee el numero de caracteres de entrada los pone a la salida, detecta


la longitud y lo suma con el numero puesto en la entrada, dando el resultado en
el indicador de salida.

Flujo de Ejecucin
En LabVIEW el lenguaje de programacin es llamad lenguaje G. La Ejecucin se basa en el flujo de
datos. La funcin se ejecuta cuando tiene todos los datos de entrada. Esta programacin permite el
paralelismo ya que no es imperativa (sucesin de operaciones) siendo apropiada para sistemas
multiprocesadores.

Ejemplo No.2

Estructuras
For Loop: se ejecuta un subdiagrama un
nmero determinado de veces
While Loop: se ejecuta un subdiagrama hasta
que se cumpla una condicin determinada.
Case Structure: se ejecuta un subdiagrama
dependiendo del valor de entrada.
Flat Sequence Structure: Uno o ms
subdiagramas se ejecutan en una secuencia
determinada.

Event Structure: Uno o ms subdiagramas


se ejecutan segn el usuario interacte
con el VI
Formula Node: Realiza operaciones
matemticas basadas en entradas.
Stacked Sequence Structure (Similar a Flat
Sequence)

Do While Loop

Terminal de
Iteracin
Do While condition is true
Execute Sub diagram
Loop

Terminal de
Condicin

Ejecuta una rutina hasta


que se cumpla una
condicin determinada.

While Loop revisa la condicin al final del ciclo.


El ciclo se ejecuta al menos una vez.
El terminal de iteracin contiene el nmero de veces que el ciclo se ha
ejecutado.

For Loop
Contador de Ciclos:
indica cuantas
veces se repite
el subdiagrama

Dos atributos:
N Terminal de conteo

Haciendo click sobre WHILE loop


en el diagrama de bloques puede
cambiarse por FOR loop

i - Terminal de Iteracin

Si N es
cero o
negativo el
ciclo no se
ejecuta

For I=0 to N-1


Ejecuta Cdigo
Next I

Terminal de iteracin
Contiene el nmero de
iteraciones completas

Blank.vi

EJECUTA UN
SUBDIAGRAMA
UN
DETERMINADO
NMERO DE
VECES

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

CASE

Sentencias de secuenciacin
La herramienta de desarrollo de aplicaciones LabVIEW ofrece dos sentencias de
secuenciacin. Flat Sequence y Stacked Sequence
Structure y se encuentran en Functions/Programming/Structures. Cuando es
insertada en el diagrama de nuestra aplicacin, aparece con una nica ventana o
Frame: es la unidad o elemento donde ir un mdulo dado del cdigo de nuestra
aplicacin. Para aadir ms ventanas, se pulsa sobre la ventana con el botn
derecho del ratn y se ejecuta Add Frame Before o Add Frame After, para aadir la
ventana antes o despus de la actual, respectivamente.

Simulan como fotogramas de una pelcula

Presentacin del Problema

Cdigo a
procesar cada
vez que se
pulse un botn

Solucin CaseCase-While

ejemplo

Solucin CaseCase-While

Ejemplo

Solucin CaseCase-While

Structure Event

Ejemplo

a)Agregue el evento al mover el mouse sobre el control booleano de Proceso 1.

Structure Event

Structure Event
TimeOut

c) Incorpore presionando la tecla F10 la opcin de grabar pantalla simulada por un


dilogo de confirmacin del operador.

Structure Event

Al presionar la tecla a:

Al presionar la tecla F10:

Presionando la tecla F10:

Structure Event

Recomendaciones de NI sobre el uso de Event


No usar un Event dentro de otro
Si en un Event se inserta dentro de un While y ste finaliza con un
botn de stop, se debe incorporar dentro del subdiagrama asociado al
cambio de valor de dicho control.

FORMULA NODE
Planteo del problema:
Evaluar si un nmero es positivo o negativo. Obtener como resultado un 1 si es
positivo y -1 si es negativo.

FORMULA NODE
Planteo del problema:
Evaluar si un nmero es positivo o negativo. Obtener como resultado un 1 si es
positivo y -1 si es negativo.

Ejercicio

FORMULA NODE

Ejercicio

FORMULA NODE

Ejercicio

Ejercicio 3.- Ingrese dos variables de entrada x e y en una estructura FORMULA NODE. Si
el producto de ambas es positivo obtener el resultado
z 3 xy

Si el producto es negativo realice la operacin:


z 3x 2 2 y

Ejercicio

Ejercicio 4. Ingresando los valores de resistencia y reactancia inductiva de una carga


monofsica y la tensin de alimentacin a travs de controles numricos, calcule con
el uso de FORMULA NODE, la corriente, potencia activa y reactiva que debern leerse
a travs de los siguientes indicadores

Ejercicio

Ejercicio 4. Ingresando los valores de resistencia y reactancia inductiva de una carga


monofsica y la tensin de alimentacin a travs de controles numricos, calcule con
el uso de FORMULA NODE, la corriente, potencia activa y reactiva que debern leerse
a travs de los siguientes indicadores

Ejercicio

CREACIN
DE
VARIABLES

Trabajando con Variables


Dentro de la programacin es necesario almacenar el valor de una variable
para poder usarla posteriormente.
En LabVIEW tambin puede realizarse estas sentencias, almacenando una
variable para luego usarla dentro de otro bloque del VI o bien en otro VI.
LabVIEW dispone de dos tipos de variables locales y globales.

Creacin de una Variable Local


A continuacin hay dos pasos fundamentales a realizar:
Primero: determinar a que objeto del programa va a estar enlazado
Segundo: elegir si va a ser de lectura (read) o escritura (write).
Para el caso del ejemplo hacer click derecho sobre la variable local y
seleccionar Select Item/Boolean y luego Change to Read

Ejercicio 5
Desarrolle un VI, en el que se obtienen mediante simulacin valores eficaces de
corriente y tensin. Sabiendo que el factor de potencia siempre es constante e
igual a 0.95, obtenga a partir de variables locales el valor de la potencia activa en
intervalos de 100ms.

Ejercicio 5

Ejercicio 5

Ejercicio 6. Construir un VI que cumpla con las siguientes secuencias de tareas:


1. Capturar 20 lecturas de tensin con intervalos de 250ms provenientes de una DAQ
simulada.
2. Mostrar un aviso al operador de esta tarea finalizada.
3. Capturar 50 lecturas de corriente cada 100ms, tambin desde una DAQ simulada.
4. Mostrar el aviso de tarea concluida.
Las lecturas de tensin y corriente deben ser mostradas en un mismo grfico (Waveform
Chart).

Ejercicio

Ejercicio 6.

Ejercicio 7. Un ciclo While recibe lecturas de tensin en intervalos de 250ms. En


paralelo otro ciclo While recibe lecturas de corriente cada 100ms. Encontrar la forma
de detener ambos ciclos en forma simultnea.
Analice si es vlida esta opcin:

Ejercicio 7a

Ejercicio 7a

Solucin con uso de variable local para el control booleano Stop

Ejercicio 7b

Creacin de una Variable Global


Las variables locales solo tienen vida dentro de un mismo VI y no pueden
ser llamadas desde otro VI. Esto si ocurre con las variables globales.
En el ejercicio siguiente se va a utilizar una variable global para almacenar
un nmero generado en un VI para ser llevado a otro VI.
Para esto primero desde el DB creamos desde Structures la variable global

Ejercicio

Blank

Variable Global

Blank

Ejemplo

Creacin de una Variable Global


1.- Colocar una variable global en el diagrama de bloques:
Diagrama de bloques >> Botn derecho ratn >> Paleta de funciones >>
Programming >> Structures >> Global Variable.
2.- Hacer doble click en la variable global sita en el diagrama de bloques.
Esto abrir el panel frontal de la misma. Colocar los controles o indicadores
en este panel frontal.
3.- Cerrar el panel frontal de la variable global y grabar cambios.
4.- Seleccionar la variable global, en el diagrama de bloques, con el botn
derecho del ratn y selecciona Select Item. Asocia la variable al control o
indicador que se quiera y definido en pasos anteriores.
5.- Si se desea usar esta variable global en otro VI, simplemente ir al diagrama
de bloques de ese nuevo VI y botn derecho ratn >> Select VI y buscar la
variable donde previamente fue guardada.

PERSONALIZAR
CONTROLES

I. Navigator

Ejemplo

EJEMPLO DE APERTURA Y CIERRE DE UNA VLVULA

Ejemplo

Simulacin llenado y vaciado de un tanque

Vlvula abierta Llenado del tanque

Vlvula cerrada Vaciado del tanque

Ejercicio 8

Ejercicio 8

Ejercicio 10.- Resolver el ejercicio anterior utilizando la estructura stacked


sequence.

Ejercicio 9

Ejercicio 9

Ejercicio 9

Ejercicio 9

Creacin de una Variable Local (Control de la Vlvula apertura-cierre de


entrada de lquido)

Haciendo con el mouse clic derecho sobre el control Vlvula vamos a Create
y luego Local Variable
Seteado en Write

Ahora lo movemos al segundo cuadro de la estructura sequence y le


anexamos una constante booleana (falso).

GRACIAS

You might also like