1756511635.Apuntes 8

Anuncio
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
multiframe
Selector numérico
o del tipo string
Estructura condicional:
estructura case
Estructura para establecer orden en la ejecución
(Estructuras Sequence):
1- Stacked sequence 2- Flat sequence
* 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 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
* Presenta varios subdiagramas.
* Se visualizan todos los subdiagramas
* Case
* Stacked Sequence
* Event
* 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
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, 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
Túneles de entrada
Túneles de salida
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.
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
subdiagrama
siguiente
Mostrar
subdiagrama
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
(default)
Subdiagrama 2
Subdiagrama 1
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 2
Subdiagrama 1
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 multiplica
Subdiagrama resta
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 y rango
Lista
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)
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.
Terminal de
iteración (i)
Subdiagrama
Iteración
i
primera
0
segunda
1
...
...
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
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.
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
Descargar