Está en la página 1de 43

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.
1. Ejecución según el flujo de datos.

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.
¿ Que operación se ejecuta primero ?

Primero se ejecuta la multiplicación y


después se ejecuta la resta
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.
¿ Que operación se ejecuta primero ?

Se ejecutan primero y
simultáneamente las funciones:
• multiplicación
• división
• generación del # aleatorio
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.
¿ Que operación se ejecuta primero ?

Las cuatro funciones


se 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
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.
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. 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 ?
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 ejecución del VI

Estructuras iterativas: For Loop, While Loop

2 frames Selector booleano


Estructura condicional:
estructura case Selector numérico
multiframe o del tipo string

Estructura para establecer orden en la ejecución * Single frame


(Estructuras Sequence):
1- Stacked sequence 2- Flat sequence * 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 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
• Terminales
Objetos • Cables
• Nodos
• Otras estructuras
2. Estructuras disponibles en LabVIEW.
Cantidad de subdiagramas que presenta cada estructura

* For Loop
Presentan un solo subdiagrama
* While Loop

* Presentan varios subdiagramas. * Case


* Solo se visualiza un subdiagrama
* Stacked Sequence
* Se puede seleccionar el
subdiagrama a visualizar * 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.

Creación de la
Estructura

Igual que de los


demás objetos :

+
Estructura Sequence
Stacked (apilada) y
Flat (plana)
2. Estructuras disponibles en LabVIEW.
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.
Sequence Structure : Características
Total de frames

Mostrar frame Mostrar frame


anterior 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, después el frame 1 y así
sucesivamente hasta el ultimo
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
Túneles de entrada 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
Túneles de salida de frames.

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 Túnel

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


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 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
segú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

Mostrar
Mostrar subdiagrama
subdiagrama siguiente
anterior

Identificador de
subdiagrama

Selector de
Subdiagrama
(booleano)
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 numérica controla el selector de subdiagrama.


Pueden existir dos ó mas subdiagramas

Subdiagrama 0
Subdiagrama 1
(default)

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 Subdiagrama resta


(default)

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 numérico,
el identificador de subdiagrama puede ser: un número, una lista,
un rango ó una lista y un rango

Número Lista Rango

Formas de especificar el rango:


Lista y 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)
Estructura
For Loop
2. Estructuras disponibles en LabVIEW.
ESTRUCTURA For Loop : Estructura de iteración. 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 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.

Terminal
contador (N)
Estructura For Loop
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
Terminal de ... ...
iteración (i) Subdiagrama Iteración N N-1
Estructura
While Loop
2. Estructuras disponibles en LabVIEW.
ESTRUCTURA While Loop : Estructura de iteración. Permite
ejecutar todas las operaciones colocadas dentro de su subdiagrama
mientras que una determinada condición 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 iteración (i)
En la primera iteración el terminal
de iteración (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 iteración
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 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 I
ha ejecutado el
subdiagrama
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.
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

Out Tunnel indexado

Out Tunnel no indexado


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.
Utilización de los In tunnel en las estructuras iterativas

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

También podría gustarte