Está en la página 1de 43

Estructuras en LabVIEW.

Sumario: 1. Ejecucin segn el flujo de datos. 2. Estructuras bsicas disponibles en LabVIEW. a) Estructura Sequence. b) Estructura Case. c) Estructura For Loop. d) Estructura While Loop.

1. Ejecucin segn el flujo de datos. Flujo de datos : Principio que gobierna la ejecucin de los programas (VI) en LabVIEW
Fundamentos 1- Un nodo se ejecuta solo cuando estn disponibles todos los datos en sus entradas. 2- El nodo transfiere los datos a sus salidas, solo cuando se termina la ejecucin del nodo. 3- Los datos pasan inmediatamente del terminal fuente al terminal (o terminales) destino.

1. Ejecucin segn el flujo de datos.


Programacin 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 ejecucin. * Las instrucciones entregan los resultados (datos) solo cuando se han terminado de ejecutar completamente.

1. Ejecucin segn el flujo de datos.


1- Un nodo se ejecuta solo cuando estn disponibles todos los datos en sus entradas. Que operacin se ejecuta primero ?

Primero se ejecuta la multiplicacin y despus se ejecuta la resta

1. Ejecucin segn el flujo de datos.


1- Un nodo se ejecuta solo cuando estn disponibles todos los datos en sus entradas. Que operacin se ejecuta primero ?

Se ejecutan primero y simultneamente las funciones: multiplicacin divisin generacin del # aleatorio

1. Ejecucin segn el flujo de datos.


1- Un nodo se ejecuta solo cuando estn disponibles todos los datos en sus entradas. Que operacin se ejecuta primero ?
Las cuatro funciones se ejecutan a la vez. La ubicacin en el D.B. no determina el orden de ejecucin.

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

1. Ejecucin segn el flujo de datos.


2- El nodo transfiere los datos a sus salidas, solo cuando se termina la ejecucin del nodo.
El nodo es una estructura while loop que se ejecuta una sola vez

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

b debe esperar por a para salir del nodo.

1. Ejecucin segn el flujo de datos.


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

1. Ejecucin segn el flujo de datos.


Que operacin se ejecuta primero ?

2. Estructuras disponibles en LabVIEW.

Donde podemos encontrar 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 ejecucin del VI
Estructuras iterativas: For Loop, While Loop 2 frames Estructura condicional: estructura case multiframe Estructura para establecer orden en la ejecucin (Estructuras Sequence): 1- Stacked sequence 2- Flat sequence Selector booleano Selector numrico o del tipo string * Single frame * Multi frame

2. Estructuras disponibles en LabVIEW.


Algunas caractersticas de las estructuras

Las estructuras : 1- Se rigen tambin por la ejecucin basada en el flujo de datos. 2- Se ejecutan cuando estn disponibles todos los datos en sus entradas 3- 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

* For Loop * While Loop

* Presentan varios subdiagramas. * Solo se visualiza un subdiagrama * Se puede seleccionar el subdiagrama a visualizar

* Case * Stacked Sequence * Event

* Presenta varios subdiagramas. * Se visualizan todos los subdiagramas

* Flat Sequence

2. Estructuras disponibles en LabVIEW.


Entradas / Salidas de las estructuras: 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.


Creacin de la Estructura Igual que de los dems objetos :

Estructura Sequence Stacked (apilada) y Flat (plana)

2. Estructuras disponibles en LabVIEW.


Stacked sequence structure : permite establecer un orden de ejecucin 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 simultneamente, Solo es posible visualizar un subdiagrama

2. Estructuras disponibles en LabVIEW. Sequence Structure : Caractersticas


Total de frames Mostrar frame anterior Mostrar frame siguiente

Identificador del frame cuyo subdiagrama es el que se esta visualizando

Cada subdiagrama esta contenido en un frame marco. Primero se ejecuta el frame 0, despus el frame 1 y as sucesivamente hasta el ultimo

2. Estructuras disponibles en LabVIEW.


Los datos en los tneles de entrada estn disponibles para todos los frames Un tnel de salida solo puede tener una fuente de dato Un tnel de salida puede ser emitido por cualquier frame, pero los datos solo estarn disponibles cuando se termine de ejecutar toda la secuencia de frames.

Tneles de entrada

Tneles 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 no disponible

Tnel

Sequence local disponible para frames posteriores

Sequence local de un frame anterior

2. Estructuras disponibles en LabVIEW.


Flat sequence structure : permite establecer un orden de ejecucin 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 simultneamente.

2. Estructuras disponibles en LabVIEW.


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

Se ejecutan todos los subdiagramas secuencialmente de izquierda a derecha

Estructura Case

2. Estructuras disponibles en LabVIEW.


ESTRUCTURA CASE : Estructura condicional. Presenta varios subdiagramas de los cuales solo se ejecuta un subdiagrama segn el dato que llega al selector de subdiagrama Selector de subdiagrama booleano: solo dos subdiagramas Selector de subdiagrama numrico o tipo string : la estructura admite dos mas subdiagramas

2. Estructuras disponibles en LabVIEW.

Estructura Case
Mostrar subdiagrama anterior Identificador de subdiagrama Selector de Subdiagrama (booleano) Mostrar subdiagrama siguiente

2. Estructuras disponibles en LabVIEW. Una variable booleana controla el selector de subdiagrama. Solo hay dos subdiagramas.
Subdiagrama FALSE Subdiagrama TRUE

2. Estructuras disponibles en LabVIEW.


Una variable numrica 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 (numrica) 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 travs 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 los subdiagramas, sino el programa da error y no se ejecuta

2. Estructuras disponibles en LabVIEW.


Cuando el selector de subdiagrama es un dato numrico, el identificador de subdiagrama puede ser: un nmero, una lista, un rango una lista y un rango

Nmero

Lista

Rango

Lista y rango

Formas de especificar el rango: ..0 (incluye el cero y todos los nmeros menores que cero) 10..20 (incluye el 10, el 20 y todos los nmeros entre 10 y 20) 100.. (incluye el 100 y todos los nmeros mayores que cien)

Estructura For Loop

2. Estructuras disponibles en LabVIEW.


ESTRUCTURA For Loop : Estructura de iteracin. Permite ejecutar N veces todas las operaciones colocadas dentro de su subdiagrama. Se utiliza cuando previamente se conoce la cantidad de veces que se desea ejecutar un subdiagrama.

Presenta un solo subdiagrama el cual siempre es visible Presenta un terminal contador (N) y un terminal de iteracin (i) N e i se pueden leer desde el interior de la estructura, pero no se pueden modificar

2. Estructuras disponibles en LabVIEW.


Terminal contador (N)

Estructura For Loop


Terminal contador: contiene el nmero de veces que se ejecutara el subdiagrama creado en el interior de la estructura. N puede ser igual a cero Terminal de iteracin: indica el nmero de veces que se ha ejecutado el subdiagrama creado en el interior de la estructura. Iteracin primera segunda ... Subdiagrama Iteracin N i 0 1 ... N-1

Terminal de iteracin (i)

Estructura While Loop

2. Estructuras disponibles en LabVIEW.


ESTRUCTURA While Loop : Estructura de iteracin. Permite ejecutar todas las operaciones colocadas dentro de su subdiagrama mientras que una determinada condicin sea TRUE o FALSE. Se utiliza cuando no se conoce previamente la cantidad de veces que se desea ejecutar un subdiagrama. Presenta un solo subdiagrama el cual siempre es visible Presenta un terminal condicional y un terminal de iteracin (i) En la primera iteracin el terminal de iteracin (i) es igual a cero i se puede leer desde el interior de la estructura, pero no se puede modificar. El terminal condicional se debe actualizar en cada iteracin

2. Estructuras disponibles en LabVIEW.


Se vuelve a iterar si al terminal condicional llega TRUE
Por default esta configurada de esta forma

Se vuelve a iterar si al terminal condicional llega FALSE

2. Estructuras disponibles en LabVIEW.


Terminal de iteracin: indica el nmero de veces que se ha ejecutado el subdiagrama creado en el interior de la estructura. # de veces que se ha ejecutado el subdiagrama 1 2 3 ... I

0 1 2 ...

Terminal de condicional: A el se debe conectar la condicin por la cual se pregunta para volver a ejecutar el subdiagrama. Se puede conectar un terminal o el resultado de una operacin lgica.

2. Estructuras disponibles en LabVIEW.


Out Tunnel o tnel 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 iteracin. 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.

Tnel de salida indexado

Tnel de salida no indexado

2. Estructuras disponibles en LabVIEW.


El tunnel indexado entrega los cinco nmeros aleatorios generados durante las cinco iteraciones El tunnel no indexado entrega solo el nmero aleatorio generado durante la ultima iteracin

Out Tunnel indexado

Out Tunnel no indexado


Array: coleccin de elementos del mismo tipo. El nmero total de elementos es variable, es decir, puede tomar cualquier valor.

2. Estructuras disponibles en LabVIEW.


Utilizacin de los In tunnel en las estructuras iterativas
In Tunnel o tnel 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 tnel de entrada corresponde a un array, el mismo se puede configurar como indexado o como no indexado.
Tnel de entrada no indexado en el interior del subdiagrama se tienen disponibles todos los elementos del array en cada iteracin Tnel de entrada indexado en el interior del subdiagrama solo se tiene disponible el elemento del array cuyo ndice corresponde con el numero de iteracin

También podría gustarte