Estructuras en LabVIEW.ecaths1.s3.amazonaws.com/iv1/1756511635.Apuntes 8 - Estructuras.pdf · Flujo...

43
Estructuras en LabVIEW.

Transcript of Estructuras en LabVIEW.ecaths1.s3.amazonaws.com/iv1/1756511635.Apuntes 8 - Estructuras.pdf · Flujo...

Estructuras en LabVIEW.

Sumario:

1. Ejecución según el flujo de datos.

2. Estructuras básicas disponibles en LabVIEW.

a) Estructura Sequence.

b) Estructura Case.

c) Estructura For Loop.

d) Estructura While Loop.

Flujo de datos : Principio que gobierna la ejecución de los programas (VI) en LabVIEW

Fundamentos

1- Un nodo se ejecuta solo cuando estén

disponibles todos los datos en sus entradas.

2- El nodo transfiere los datos a sus salidas,

solo cuando se termina la ejecución del nodo.

3- Los datos pasan inmediatamente del terminal

fuente al terminal (o terminales) destino.

1. Ejecución según el flujo de datos.

Programación convencional

* Se ejecutan instrucciones secuencialmente en el orden

especificado por el programador.

LabVIEW

* Las “instrucciones” se ejecutan cuando han recibido todos

los datos necesarios para su ejecución.

* Las “instrucciones” entregan los resultados (datos) solo

cuando se han terminado de ejecutar completamente.

1. Ejecución según el flujo de datos.

1- Un nodo se ejecuta solo cuando estén disponibles todos los datos en sus entradas.

Primero se ejecuta la multiplicación ydespués se ejecuta la resta

¿ Que operación se ejecuta primero ?

1. Ejecución según el flujo de datos.

1- Un nodo se ejecuta solo cuando estén disponibles todos los datos en sus entradas.

Se ejecutan primero y simultáneamente las funciones:• multiplicación• división• generación del # aleatorio

¿ Que operación se ejecuta primero ?

1. Ejecución según el flujo de datos.

1- Un nodo se ejecuta solo cuando estén disponibles todos los datos en sus entradas.

Las cuatro funcionesse ejecutan a la vez.

La ubicación en el D.B.no determina el orden de ejecución.

Para garantizar un orden en la ejecución de tareas:* Utilizar la estructura sequence* Obligar a que exista una dependencia de datos

¿ Que operación se ejecuta primero ?

1. Ejecución según el flujo de datos.

2- El nodo transfiere los datos a sus salidas, solo cuando se termina la ejecución del nodo.

b debe esperar por a para salir del nodo.

¿ Que dato sale primero de la estructura While Loop ?¿ El dato del cable a o el dato del cable b ?

El nodo es una estructura while loop que se ejecuta una sola vez

1. Ejecución según el flujo de datos.

3- Los datos pasan inmediatamente del terminal fuente al terminal (o terminales) destino.

1. Ejecución según el flujo de datos.

¿ Que operación se ejecuta primero ?

1. Ejecución según el flujo de datos.

¿ Donde podemosencontrar

las estructuras ?

Diagrama en bloques, Paleta de funciones, Subpaleta Programming,Subpaleta Structures

2. Estructuras disponibles en LabVIEW.

Forma del Icono de las estructuras

2. Estructuras disponibles en LabVIEW.

Estructuras: permiten controlar la ejecución del VI

Estructuras iterativas: For Loop, While Loop

Estructura condicional:

estructura case

Estructura para establecer orden en la ejecución

(Estructuras Sequence):

1- Stacked sequence 2- Flat sequence

2 frames

multiframe

Selector booleano

Selector numérico

o del tipo string

* Single frame

* Multi frame

2. Estructuras disponibles en LabVIEW.

Algunas características de las estructuras

Las estructuras :1- Se rigen también por la ejecución basada en el flujo de datos.2- Se ejecutan cuando están disponibles todos los datos

en sus entradas3- Suministran los datos a sus salidas solo cuando se han

terminado de ejecutar completamente

Cada estructura ejecuta su subdiagrama

Subdiagrama: comprende todos los objetos ubicados dentro del borde de la estructura

Objetos• Terminales• Cables• Nodos • Otras estructuras

2. Estructuras disponibles en LabVIEW.

Cantidad de subdiagramas que presenta cada estructura

Presentan un solo subdiagrama

* Presentan varios subdiagramas.

* Solo se visualiza un subdiagrama

* Se puede seleccionar el

subdiagrama a visualizar

* For Loop

* While Loop

* Case

* Stacked Sequence

* Event

* Presenta varios subdiagramas.

* Se visualizan todos los subdiagramas * Flat Sequence

2. Estructuras disponibles en LabVIEW.

Tunnels: tipo de terminal que permite transferir datos

hacia (in) o desde (out) la estructura.

Los tunnels se ubican en el borde de la estructura.

In tunnels: permiten transferir datos hacia la estructura,

generalmente se ubican en el borde izquierdo de la estructura.

Out tunnels: permiten transferir datos desde la estructura,

generalmente se ubican en el borde derecho de la estructura.

Existen otros tipos de tunnels que dependen del tipo

de estructura.

2. Estructuras disponibles en LabVIEW.

Entradas / Salidas de las estructuras:

Creación de laEstructura

Igual que de los demás objetos :

+

2. Estructuras disponibles en LabVIEW.

Estructura Sequence Stacked (apilada) y

Flat (plana)

Stacked sequence structure : permite establecer un orden de ejecución entre tareas donde no existe una dependencia de datos

Stacked sequence de un solo frame:un solo subdigrama

Estructura sequence de varios frames: varios subdiagramas,No se pueden visualizar todos los subdiagramas simultáneamente,Solo es posible visualizar un subdiagrama

2. Estructuras disponibles en LabVIEW.

Identificador del frame cuyo subdiagrama

es el que se esta visualizando

Mostrar frame

anterior

Total de frames

Sequence Structure : Características

Cada subdiagrama esta contenido en un frame ó marco. Primero se ejecuta el frame 0, después el frame 1 y así sucesivamente hasta el ultimo

Mostrar frame

siguiente

2. Estructuras disponibles en LabVIEW.

Los datos en los túneles de entrada están disponibles para

todos los frames

Un túnel de salida

solo puede tener una

fuente de dato

Un túnel de salida puede ser

emitido por cualquier frame,

pero los datos solo estarán

disponibles cuando se termine

de ejecutar toda la secuencia

de frames.

Túneles de entrada

Túneles de salida

Para pasar datos entre frames se puede utilizar un terminal

denominado sequence local

2. Estructuras disponibles en LabVIEW.

Uso de la sequence local en la Stacked sequence structure

Sequence local

de un frame anterior

Sequence local disponible

para frames posteriores

Sequence local

no disponible Túnel

2. Estructuras disponibles en LabVIEW.

Flat sequence structure : permite establecer un orden de ejecución entre tareas donde no existe una dependencia de datos

Flat sequence de un solo frame:un solo subdigrama

Flat sequence de varios frames: varios subdiagramas, Se pueden visualizar todos los subdiagramas simultáneamente.

2. Estructuras disponibles en LabVIEW.

El diagrama en bloques queda mejor documentadoEvita el uso de la sequence locals

Se ejecutan todos los subdiagramas secuencialmentede izquierda a derecha

2. Estructuras disponibles en LabVIEW.

Estructura Case

ESTRUCTURA CASE : Estructura condicional. Presenta variossubdiagramas de los cuales solo se ejecuta un subdiagramasegún el dato que llega al selector de subdiagrama

Selector de subdiagrama booleano: solo dos subdiagramas

Selector de subdiagrama numérico o tipo string : la estructura admite dos ó mas subdiagramas

2. Estructuras disponibles en LabVIEW.

Estructura Case

Selector de

Subdiagrama

(booleano)

Identificador de

subdiagrama

Mostrar

subdiagrama

siguiente

Mostrar

subdiagrama

anterior

2. Estructuras disponibles en LabVIEW.

Una variable booleana controla el selector desubdiagrama. Solo hay dos subdiagramas.

Subdiagrama FALSE Subdiagrama TRUE

2. Estructuras disponibles en LabVIEW.

Una variable numérica controla el selector de subdiagrama. Pueden existir dos ó mas subdiagramas

Subdiagrama 0(default)

Subdiagrama 1

Subdiagrama 2 Subdiagrama 3

2. Estructuras disponibles en LabVIEW.

Una variable tipo ENUM (numérica) controla el selector de subdiagrama. Pueden existir dos ó mas subdiagramas

Subdiagrama 0(default) Subdiagrama 1

Subdiagrama 2 Subdiagrama 3

2. Estructuras disponibles en LabVIEW.

Una variable tipo string controla el selector de subdiagrama. Pueden existir dos ó mas subdiagramas.

Ahora cada subdiagrama se identifica a través de una cadena de caracteres

Subdiagrama suma(default)

Subdiagrama resta

Subdiagrama multiplica Subdiagrama divide

2. Estructuras disponibles en LabVIEW.

Un tunnel de salida se debe cablear desde todos lossubdiagramas, sino el programa da error y no se ejecuta

2. Estructuras disponibles en LabVIEW.

Cuando el selector de subdiagrama es un dato numérico,

el identificador de subdiagrama puede ser: un número, una lista,

un rango ó una lista y un rango

Número Lista

Lista y rango

Rango

Formas de especificar el rango:..0 (incluye el cero y todos los números

menores que cero)

10..20 (incluye el 10, el 20 y todos los

números entre 10 y 20)

100.. (incluye el 100 y todos los números

mayores que cien)

2. Estructuras disponibles en LabVIEW.

Estructura For Loop

ESTRUCTURA For Loop : Estructura de iteración. Permite ejecutarN veces todas las operaciones colocadas dentro de su subdiagrama.Se utiliza cuando previamente se conoce la cantidad de vecesque se desea ejecutar un subdiagrama.

Presenta un solo subdiagrama el cual siempre es visible

Presenta un terminal contador (N) y un terminal de iteración (i)

N e i se pueden leer desde el interior de la estructura, pero no se pueden modificar

2. Estructuras disponibles en LabVIEW.

Estructura For Loop

Terminal de

iteración (i)

Terminal

contador (N)

Terminal contador: contiene el número

de veces que se ejecutara el subdiagrama

creado en el interior de la estructura.

N puede ser igual a cero

Terminal de iteración: indica el número

de veces que se ha ejecutado el subdiagrama

creado en el interior de la estructura.

Iteración i

primera 0

segunda 1

... ...

Iteración N N-1Subdiagrama

2. Estructuras disponibles en LabVIEW.

Estructura While Loop

ESTRUCTURA While Loop : Estructura de iteración. Permite ejecutar todas las operaciones colocadas dentro de su subdiagramamientras que una determinada condición sea TRUE o FALSE.Se utiliza cuando no se conoce previamente la cantidad de vecesque se desea ejecutar un subdiagrama.

Presenta un solo subdiagrama el cual siempre es visible

Presenta un terminal condicional y un terminal de iteración (i)

i se puede leer desde el interior de la estructura, pero no se puede modificar. El terminal condicional se debe actualizaren cada iteración

En la primera iteración el terminalde iteración (i) es igual a cero

2. Estructuras disponibles en LabVIEW.

Se vuelve a iterar si al terminal condicional llega FALSE

Por default esta configuradade esta forma

2. Estructuras disponibles en LabVIEW.

Se vuelve a iterar si al terminal condicional llega TRUE

Terminal de iteración: indica el número de veces que se ha

ejecutado el subdiagrama creado en el interior de la estructura.

# de veces que se ha ejecutado el subdiagrama

I

1 0

2 1

3 2

... ...

Terminal de condicional: A el se debe conectar la condición por la cual

se pregunta para volver a ejecutar el subdiagrama. Se puede conectar

un terminal o el resultado de una operación lógica.

2. Estructuras disponibles en LabVIEW.

Out Tunnel o túnel de salida: terminal colocado en el borde de la

estructura (generalmente en la derecha) para que otros nodos puedan

utilizar los datos generados durante las ejecuciones del subdiagrama

en el interior de la estructura.

Existen dos tipos de tunnels de salida:

Tunnel de salida no indexado: terminal que entrega solo el dato que

llego a el en la ultima iteración.

Tunnel de salida indexado: terminal que entrega los datos que llegaron

a él en cada una de las iteraciones. Este terminal entrega un array del tipo

de dato que tiene conectado.

Túnel de salida indexado Túnel de salida no indexado

2. Estructuras disponibles en LabVIEW.

Out Tunnel indexado

Out Tunnel no indexado

El tunnel indexado entrega los cinco números aleatorios generados

durante las cinco iteraciones

El tunnel no indexado entrega solo el número aleatorio generado

durante la ultima iteración

Array: colección de elementos del mismo tipo. El número total de elementos

es variable, es decir, puede tomar cualquier valor.

2. Estructuras disponibles en LabVIEW.

In Tunnel o túnel de entrada: terminal colocado en el borde de la

estructura (generalmente en la izquierda) para que el subdiagrama

colocado en el interior de la estructura iterativa pueda utilizar este dato.

Cuando el In Tunnel o túnel de entrada corresponde a un array, el

mismo se puede configurar como indexado o como no indexado.

Túnel de entrada no indexado en el interior del subdiagrama se tienen

disponibles todos los elementos del array en cada iteración

Túnel de entrada indexado en el interior del subdiagrama solo se tiene

disponible el elemento del array cuyo índice corresponde con el numero

de iteración

Utilización de los In tunnel en las estructuras iterativas

2. Estructuras disponibles en LabVIEW.