Está en la página 1de 45

INSTRUMENTACIÓN AVANZADA

INSTRUMENTACIÓN
AVANZADA
INSTRUMENTACIÓN AVANZADA

Instrumentación Virtual con LabVIEW

ESTRUCTURAS
INSTRUMENTACIÓN AVANZADA

ESTRUCTURAS

WHILE
FOR..
CASE
SEQUENCE
INSTRUMENTACIÓN AVANZADA

Estructuras
Son representaciones gráficas de ciclos y
selección de casos similar a la programación
de lenguajes clásicos.
Usamos estructuras para repetir un bloque de
código, o ejecutarlo condicionalmente o bien
en un orden específico.
INSTRUMENTACIÓN AVANZADA

Estructuras
LabVIEW tiene las siguientes estructuras de programación:
• Do While
• For ..loop
• Case (If/Then/Else)
• Sequence Structure
INSTRUMENTACIÓN AVANZADA

While Loop

Dim numero As Integer


numero = 0

Do While numero<= 10
numero = numero + 1
Print numero
Loop
…….
…….

Blank
INSTRUMENTACIÓN AVANZADA

Do While Loop

Terminal de
Terminal de Condición
Iteración

Do While condition is true Ejecuta una rutina hasta


Execute Sub diagram que se cumpla una
Loop condición determinada.

• While Loop revisa la condición al final del ciclo.


• El ciclo se ejecuta al menos una vez.
• El terminal de iteración contiene el número de veces que el ciclo se ha
ejecutado.
INSTRUMENTACIÓN AVANZADA

Do While Loop

La primera iteración
inicia en cero

Con Click derecho


podemos cambiar la
condición
Ejemplo
INSTRUMENTACIÓN AVANZADA

Do While Loop

Ejemplo
INSTRUMENTACIÓN AVANZADA

Ejercicio1.-
Armar un vi que cuente la cantidad de iteraciones para alcanzar la
igualdad con un número ingresado por el operador.
INSTRUMENTACIÓN AVANZADA

Ejercicio 2.-
Controlar una variable de entrada proveniente de la placa
USB, con la condición que al superar un valor
predeterminado (600), la rutina que contiene al loop finalice,
iluminando un LED de la placa.
INSTRUMENTACIÓN AVANZADA

Ejercicio
INSTRUMENTACIÓN AVANZADA

Ejercicio
INSTRUMENTACIÓN AVANZADA

FOR

Dim x As Integer

For x = 1 To 10
Print x
Next
……

Blank
INSTRUMENTACIÓN AVANZADA

Blank
INSTRUMENTACIÓN AVANZADA

For Loop
Contador de Ciclos:
Dos atributos: Haciendo click sobre “WHILE loop”
indica cuantas
veces se repite en el diagrama de bloques puede
el subdiagrama N – Terminal de conteo cambiarse por “FOR loop”

i - Terminal de Iteración

EJECUTA UN
Si N es SUBDIAGRAMA
cero o UN
negativo el DETERMINADO
ciclo no se Terminal de iteración NÚMERO DE
ejecuta Contiene el número de VECES
iteraciones completas

For I=0 to N-1 NOTA: El CERO es


Ejecuta Código indexado y aparece en
Blank.vi
Next I la primera iteración
Ejercicio
INSTRUMENTACIÓN AVANZADA

Ejercicio 3.- Obtener una muestra de diez lecturas de la señal analógica (canal 1)
de la placa USB y multiplicarlas por una constante k=25, utilizando el ciclo FOR

Blank.vi
INSTRUMENTACIÓN AVANZADA

FOR condicional (Exit For)

For I=0 to N-1


Ejecuta Código
stop (exit for)
Next I
Blank.vi
INSTRUMENTACIÓN AVANZADA

Autoindexado
Se puede usar FOR ó WHILE LOOP para generar un array.
Esto es llamado autoindexado.

Túnel

1 0 .0 0

Habilitar
Inhabilitar

Ejercicio
INSTRUMENTACIÓN AVANZADA

Ejercicio
INSTRUMENTACIÓN AVANZADA

Ejercicio 4.-
Tomar una muestra de 10 lecturas en intervalos de 1 segundo de una variable de unas de
las entradas analógicas proveniente de la placa USB y almacenar la muestra en un array
mostrando una gráfica de las mediciones.

Ejemplo
INSTRUMENTACIÓN AVANZADA

Ejemplo
INSTRUMENTACIÓN AVANZADA

Ejemplo
INSTRUMENTACIÓN AVANZADA

Case Structures
Pasar de un
subdiagrama a otro

If selector true then


Subdiagrama Subdiagrama True
Else
Selector
Subdiagrama False
End

La estructura CASE tiene al menos dos subdiagramas True y False.


INSTRUMENTACIÓN AVANZADA

Sentencias de Selección: Case Structures


Esta estructura es equivalente a IF/ THEN/ ELSE

If condition=TRUE THEN
Execute code
ELSE
Execute Code
End If
CASE SELECT structures
0 , D e fa u lt
CASE SELECT var
var=1, do code1
var
var=2, do code2
var=3, do code3
otherwise, do code
INSTRUMENTACIÓN AVANZADA

Ejercicio

Determinar si un número ingresado por operador es par o


impar.
INSTRUMENTACIÓN AVANZADA

Ejercicio
INSTRUMENTACIÓN AVANZADA
Ejercicio 5: Ingresar tres variables tensión, corriente y ángulo de fase en una
estructura case. Si el selector es True calcular la Potencia Activa, si es False
obtener la Potencia Reactiva.

Blank Ejemplo
INSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADA
Ejercicio 6.- Agregar un nuevo caso al ejercicio anterior, obteniendo la
potencia aparente.

Ejemplo
INSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADA
INSTRUMENTACIÓN AVANZADA

Shift Registers
“Shift registers” se utiliza tanto en los WHILE LOOP como en FOR
LOOP.
Se usan para transferir datos desde una iteración a la siguiente.

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ÓN AVANZADA

Cómo trabaja “Shift Registers”


Antes de empezar el Loop Primera iteración

Valor
Inicial

Siguiente iteración Ultima iteración

Nuevo Valor
Valor Ultimo
Previo Valor
INSTRUMENTACIÓN AVANZADA

“Shift Registers”

Ejemplo
INSTRUMENTACIÓN AVANZADA

Ejemplo 1 Ejemplo 2 Blank


INSTRUMENTACIÓN AVANZADA

Ejemplo
INSTRUMENTACIÓN AVANZADA

Uso de Shift Registers para obtener valores instantáneos


Ejercicio 7- Desarrollar una aplicación que adquiera una muestra de diez
mediciones generadas en la placa USB y los devuelva en un array antecedido por
otro que muestre el número de medición.

Ejemplo
INSTRUMENTACIÓN AVANZADA

Registrar mediciones de valores instantáneos en un vector

Ejemplo
INSTRUMENTACIÓN AVANZADA

Sentencias de secuenciación

• Se trata de un tipo de sentencia que garantiza la ejecución secuencial


(uno detrás de otro) de varios módulos de código.
• Cuando en el diagrama de LabVIEW son definidos varios módulos de
código, en realidad no se sabe en qué orden van a ser ejecutados, es decir,
no se sabe cuál de ellos se ejecutará en primer lugar y cuál en el último
lugar. Hay aplicaciones en las que este orden de ejecución no es relevante,
pero en otras es de vital importancia. Por ello, en las aplicaciones donde el
orden de ejecución de los distintos módulos es crítico, resulta
imprescindible utilizar las sentencias de secuenciación para garantizar esa
secuencia de ejecución de los módulos.
INSTRUMENTACIÓN AVANZADA

Sentencias de secuenciación
La herramienta de desarrollo de aplicaciones LabVIEW ofrece dos
sentencias de secuenciación. Flat Sequence y Stacked Sequence
Structure y se encuentran en Functions/Programming/Structures. Cuando
es insertada en el diagrama de nuestra aplicación, aparece con una única
ventana o Frame: es la unidad o elemento donde irá un módulo dado del
código de nuestra aplicación. Para añadir más ventanas, se pulsa sobre la
ventana con el botón derecho del ratón y se ejecuta Add Frame Before o
Add Frame After, para añadir la ventana antes o después de la actual,
respectivamente.

Simulan como fotogramas de una película


Ejercicio
INSTRUMENTACIÓN AVANZADA

Estructuras Sequence

Stacked Sequence

Ejercicio
INSTRUMENTACIÓN AVANZADA

Ejercicio 8-
Simular en una estructura “sequence” el siguiente proceso:
Etapa 1: llenado de un tanque a un nivel predeterminado.
Etapa 2: Incrementar la temperatura a un valor predeterminado.
Diálogo de “Proceso Finalizado”

Ejercicio
INSTRUMENTACIÓN AVANZADA

Ejercicio

También podría gustarte