ing. guillermo murcia [email protected] ing. …...6 instrumentaciÓn avanzada departamento de...

20
Ing. Guillermo Murcia [email protected] Ing. Jorge Luis Strack [email protected]

Upload: others

Post on 26-Apr-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

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

Guía de

Ejercicios

N° 4

20