ing. guillermo murcia [email protected] ing. …...6 instrumentaciÓn avanzada departamento de...
TRANSCRIPT
Ing. Guillermo Murcia [email protected]. Jorge Luis Strack [email protected]
Estructuras
Son representaciones gráficas de ciclos y selección de casossimilar a la programación de lenguajes clásicos.
Usamos estructuras para repetir un bloque de código y ejecutarlocondicionalmente o en un orden específico.
LabVIEW tiene las siguientes estructuras de programación:
– While Loop
– For Loop
– Case
– Sequence
– Event2
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Todas estas estructuras están en la misma paleta
3
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
4
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Estructura While Loop
Terminal de
Iteración
Terminal de
Condición
•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.
Ejecuta una rutina hasta que se cumpla una condición determinada.
5
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Estructura While Loop
Con Click derecho podemos cambiar la condición
La primera iteración inicia en cero.
En este ejemplo habrá 11 iteraciones.
Ejemplo:
6
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Estructura For Loop
Terminal de
Iteración
Número de
Iteraciones
Completas
• En For Loop si N es negativo o cero el ciclo no se ejecuta.
• El primer ciclo tiene i cero, por lo que el último ciclo tiene i=N-1.
• Haciendo clic con el botón derecho sobre un ciclo For se puede agregar un
terminal condicional
Ejecuta un subdiagrama un determinado número de veces.
For I=0 to N-1
Ejecuta Código
Next I
7
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Estructura For Loop (con condición)
Terminal de
Iteración
Número de
Iteraciones
Completas
Ejecuta un subdiagrama un determinado número de veces o hasta
se cumpla una condición.
Terminal
Condicional
8
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
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 AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
9
Cómo trabaja “Shift Registers”
Valor
Inicial
Primera iteración
Siguiente iteración
Valor último
(valor 3)
Ultima iteración
Valor 1
Valor
Inicial
Valor 1
Valor 2
Valor 2
Valor 3
Antes de empezar el Loop
ejemplo
10
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Estructura Case
Pasar de un
subdiagrama a otro
Subdiagrama
Selector
La estructura CASE tiene al menos dos subdiagramas True y False.
If selector true thenSubdiagrama TrueElseSubdiagrama FalseEnd
Ejecuta un subdiagrama u otro dependiendo de una condición.
11
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Estructura Case
Esta estructura es equivalente a IF/ THEN/ ELSE
CASE SELECT structures
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
12
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
En lenguajes tradicionales basados en texto, el orden de ejecución
lo impone el orden en que las instrucciones están escritas.
En LabVIEW el orden de ejecución sigue 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.
Sentencias de secuenciación
Tarea 1 Tarea 2 Tarea 3
En este Flujo de Datos no se
puede determinar cual es el orden
de las tareas a ejecutar.
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
13
La herramienta de desarrollo de aplicaciones LabVIEW ofrece dos sentencias desecuenciación. Flat Sequence y Stacked Sequence .Cuando es insertada en el diagrama de nuestra aplicación, aparece con una únicaventana o Frame: es la unidad o elemento donde irá un módulo dado del códigode nuestra aplicación. Para añadir más ventanas, se pulsa sobre la ventana con elbotón derecho del ratón y se ejecuta Add Frame Before o Add Frame After, paraañadir la ventana antes o después de la actual, respectivamente.
Estructuras Flat y Stacked Secuence
Ejecutan tareas en un orden especifico.
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
14
Estructuras Flat y Stacked Secuence
Ejecutan tareas en un orden especifico.
Stacked Sequence
15
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
Estructura EventLa estructura Event detiene la ejecución del hilo del programa hasta que se
dé una condición, es decir, congela un programa hasta que ocurre un evento
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
16
Estructura Event
Los eventos se agregan o se editan haciendo clic con el
botón derecho sobre la estructura
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
17
Disparan eventos acciones que haga un usuario sobre el panel frontal
Estructura Event
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
18
INSTRUMENTACIÓN AVANZADADepartamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata
19
No usar un Event dentro de otro Si en un Event se inserta dentro de un While y éste finaliza con un botón de
stop, se debe incorporar dentro del subdiagrama asociado al cambio devalor de dicho control.
Los cambios de valor en los controles de forma programada no generaneventos, solo se realizan cuando se generan cambios de valor mediante lainterfaz de usuario.
Estructura EventRecomendaciones de NI sobre el uso de Event