You are on page 1of 62

INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA

Instrumentacin Virtual con LabVIEW


ESTRUCTURAS ESTRUCTURAS
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
ESTRUCTURAS
WHILE
FOR..
CASE
SEQUENCE
Opciones de seleccin de CASE
Controles Visibles
Variables Locales y Globales
Personalizar controles
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
1.- ENTORNO DE PROGRAMACIN
2.- ESTRUCTURAS
3.-ARRAYS Y CLUSTERS
4.- MATHSCRIPTS Y MATLAB
5.- STRINGS & FILES
6.- GRAFICOS
7.- ADQUISICION DE DATOS
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Do While Loop
Do While Loop
Terminal de
Iteracin
Terminal
Condicionante
Do While condicion is true
Execute Sub diagram
Loop
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.
Ejecuta una rutina hasta
que la condicin terminal
se cumple.
Blank.vi Blank.vi
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Do While Loop
Con Click derecho
derecho podemos
cambiar la condicin
La primera iteracin
inicia en cero
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
For Loop
For Loop
Contador de Ciclos:
indica cuantas veces
se repite el
subdiagrama
Terminal de iteracin
Contiene el nmero de
iteraciones completas
Dos atributos:
N Terminal de conteo
i - Terminal de Iteracin
For I=0 to N-1
Ejecuta Cdigo
Next I
NOTA: El CERO es
indexado y aparece en
la primera iteracin
A partir de LabVIEW7, haciendo
click sobre WHILE loop en el
diagrama de bloques puede
cambiarse por FOR loop
EJECUTA UN
SUBDIAGRAMA
UN
DETERMINADO
NMERO DE
VECES
Si N es
cero o
negativo el
ciclo no se
ejecuta
Ejercicio Ejercicio
Blank.vi Blank.vi
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Se obtiene el ltimo resultado
Se almacenan en cada una
de las celdas de una matriz
los resultados parciales
INDEXADO
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Shift Registers
Shift registers se utiliza tanto en los WHILE LOOP como en
FOR LOOP.
Se usan para transferir datos desde una iteracin a la siguiente.
Son similares a las variables estticas en los lenguajes de
programacin basados en texto.
Un Shift register 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.
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Ejercicio Ejercicio
Ejercicio Ejercicio: Obtener el penltimo y ltimo resultado del cuadrado de los
primeros cinco nmeros naturales.
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
EJERCICIO VI
Shift Registers
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Sentencias de Seleccin: Case Structures
Esta estructura es equivalente a IF/ THEN/ ELSE
CASE SELECT structures
F a l s e
If condition=TRUE THEN
Execute code
ELSE
Execute Code
End If
CASE SELECT var
var=1, do code1
var=2, do code2
var=3, do code3
otherwise, do code
0 , D e f a u lt
v a r
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Case Structures
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Opciones de Selecci Opciones de Selecci n para CASE n para CASE
Ejercicio (booleano Ejercicio (booleano- -num num rico rico- -Ring) Ring)
Ejercicio ( Ejercicio (tab tab control) control)
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Opcin de Seleccin con TAB CONTROL
Ejercicio Ejercicio
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
EJERCICIO VI
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Propiedades de Controles e Indicadores
Propiedades de Controles e Indicadores
Visible
Visible
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Marcando el control y haciendo
clic derecho con el mouse
seleccionamos:
Create->Property Node->Visible
Propiedades Propiedades node.vi node.vi
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
En lenguajes tradicionales basados en texto, el orden de
ejecucin lo impone el orden en que las instrucciones estn
escritas.
En LabVIEWsigue el modelo de Flujo de Datos, (un nodo
necesita tener disponibles todos los datos de sus entradas para
ejecutarse), por lo tanto no se puede determinar cual es el
orden de las tareas a ejecutar.
Puede presentarse el caso de nodos independientes, en
situacin de ejecutarse simultneamente, pero por manejo de
los datos, es necesario fijar el orden de los mismos, es decir
establecer una secuencia de ejecucin.
Sentencias de secuenciacin
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Se trata de un tipo de sentencia que garantiza la ejecucin secuencial (uno
detrs de otro) de varios mdulos de cdigo.
Cuando en el diagrama de LabVIEWson definidos varios mdulos de
cdigo, en realidad no se sabe en qu orden van a ser ejecutados, es decir, no
se sabe cul de ellos se ejecutar en primer lugar y cul en el ltimo lugar.
Hay aplicaciones en las que este orden de ejecucin no es importante, pero en
otras es de vital importancia. Por ello, en las aplicaciones donde el orden de
ejecucin de los distintos mdulos es crtico, resulta imprescindible utilizar las
sentencias de secuenciacin para garantizar esa secuencia de ejecucin de los
mdulos.
Sentencias de secuenciacin
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Simulan como
fotogramas de
una pelcula
La herramienta de desarrollo de aplicaciones LabVIEWofrece dos dos
sentencias de secuenciacin. La primera es la Flat Sequence Structure y se
encuentra 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.
Sentencias de secuenciacin
Ejercicio Ejercicio
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Ejercicio Ejercicio
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
FLAT SEQUENCE FLAT SEQUENCE
ejercicio
Ejercicio 2.7
Construir un VI que 5 LEDS, que se iluminen en forma cclica de izquierda a derecha:
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Cuando son necesarias muchas ventanas, porque as lo requiere la aplicacin,
aparece el problema del espacio en el diagrama, de tener que desplazar varias
pantallas desde el inicio de la secuencia hasta su final. Entonces, lo lgico es
sustituir la sentencia Flat Flat Sequence Sequence Structure Structure por la sentencia Stacked Stacked
Sequence Sequence Structure Structure, la cual funciona exactamente igual que la anterior, solo
que apila las ventanas una encima de otra. Aunque a simple vista no sea posible
ver la secuencia, resulta muy prctico su uso cuando el espacio disponible es
pequeo.
Sentencias de secuenciacin
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Sentencias de secuenciacin
Ejercicio
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Trabajando con Variables
Variable Local
Variable Global
Variable Compartida
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Trabajando con Variables
Trabajando con Variables
Muchas veces dentro de la programacin es necesario almacenar el valor
de una variable para poder usarla posteriormente.
En LabVIEWtambin puede realizarse estas sentencias, almacenando
una variable para luego usarla dentro de otro bloque del VI o bien en en
otro VI. otro VI.
LabVIEWdispone de dos tipos de variables locales y globales y a partir
de la versin 8.0 las compartidas.
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Creacin de una Variable Local
Construimos el siguiente VI, utilizando una Flat Sequence Structure
Ejercicio Ejercicio
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Creacin de una Variable Local
A continuacin le agregamos un cuadro a la secuencia, que consistir en una
variable local que almacenar el ltimo nmero generado y lo presentar en
el PF. La variable local la seleccionamos dentro de Structures :
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
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 (wirte).
Para el caso del ejemplo hacer click derecho sobre la variable local y
seleccionar Select Item/Numeric y luego Change to Read
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Creacin de una Variable Local
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Creacin de una Variable Local
Finalmente le agregamos un indicador a la variable y ejecutamos el programa,
comprobando que este termina con dos indicadores con valores idnticos, es
decir el ltimo nmero registrado:
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
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 Ejercicio
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Creacin de una Variable Global
Luego grabamos el VI como Global y cerramos.
A continuacin se va a seleccionar la entrada de la variable Global a utilizar,
para esto hacemos click derecho en la variable y en Select Item optamos por la
entrada 1, verificando que est en modo Write
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Creacin de una Variable Global
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Paso siguiente sin cerrar el actual VI (Variable Global 1), creamos otro VI
(Variable Global 2) para rescatar el valor anterior y mostrarlo en pantalla.
Para este segundo VI, creamos uno en blanco y llamamos a la variable Global
como si se llamase a un SubVI, luego cambiar a lectura y realizar el programa
siguiente:
Creacin de una Variable Global
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Ejecutamos Variable Global 2 en modo continuo activando el
control booleano y luego ejecutamos el VI anterior (Variable
Global 1), y se observar como va cambiando el nmero, es decir
el valor generador en el primer VI, es rescatado en el segundo VI
Creacin de una Variable Global
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
SIMULACIN LLENADO Y VACIADO DE UN TANQUE
Ejercicio
Vlvula abierta Llenado del tanque
Vlvula cerrada Vaciado del tanque
Aplicaci Aplicaci n de Flat n de Flat Sequence Sequence y Variable Local y Variable Local
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
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
Ahora lo movemos al primer cuadro de la estructura sequence y le anexamos
una constante booleana (verdad).
Seteado en Write
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Personalizar Controles
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Ejemplo Ejemplo
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Customizar Customizar controles controles
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
A partir del agregado de un botn OK, haciendo clic derecho con el
mouse seleccionamos Advanced Advanced, , y luego customize.
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Importante: Sin en lugar de Picture Item aparece Text Item, debe separarse
previamente el texto del control de la imagen. En este caso mover OK por
fuera del dibujo.
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Ejercicios
Ejercicios
Adicionales
Adicionales
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
demo demo
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
video video
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Ejercicio 2.9
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
EJERCICIO 2.10 EJERCICIO 2.10
Graficar un
nmero aleatorio
con delay
variable
calibrado en
segundos desde
el panel frontal
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Graficar la temperatura
actual y la media con dos
sensores de temperatura
ubicados en dos lugares
distintos (cmara 1 y
cmara 2)
Ejercicio 2.11 Ejercicio 2.11
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
Ejercicio 2.12. 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.12
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA
INSTRUMENTACI INSTRUMENTACI N AVANZADA N AVANZADA

You might also like