Вы находитесь на странице: 1из 26

Estructuras

Capitulo 2

Universidad Tecnolgica de
Tabasco

Jos Alberto Daz Vzquez

Jos Alfredo Garca Jimnez

Luis Arturo Daz Gonzlez

Moiss Armando de los Santos Jimnez

Ricardo Cortazar Prez

ndice
INTRODUCCIN
2.1 SEQUENCE
2.2 CASE
2.3 WHILE
2.4 FOR
2.5 EVENT
CONCLUSIN
VIDEO

Introduccin

Las instrucciones de control permiten a un


programa

ejecutar

un

cdigo

de

forma

condicional o repetirlo cierto numero de veces.

En LabVIEW estas instrucciones son estructuras


que encierran en su interior un cdigo al que
afectan.

Algunas estructuras son EVENT, TIME LOOP, FOR


y WHILE.

En LabVIEW estas instrucciones se encuentran


en el men Programmin>Structures.

2.1 SEQUENCE
El orden de ejecucin se corresponde con el
orden en que las instrucciones estn escritas.
El sistema de ejecucin de LabVIEW sigue el
modelo de flujo (dataflow).
Un nodo necesita tener disponibles los datos en
todas sus entradas para ejecutarse.Si hay dos
nodos en condicin de ejecutarse no se podr
determinar, en principio, el orden de ejecucin.

Las

estructuras

de

tipo

SEQUENCE

sirven

precisamente para esto, ordenan el orden de


ejecucin que esta en su interior.
Las estructuras SEQUENCE tienen fotogramas o
frames ordenados; en el interior de cada frame
se situara una seccin de cdigo.
Hay dos tipos de SEQUENCE:

Stacked sequence

Flat sequence.

STACKED SEQUENCE
Era

la

nica

disponible

en

versiones

ms

antiguas de LabVIEW, tiene un men en la parte


superior donde se indica la numeracin del frame
que se muestra, el numero total de frame que
contiene y adems la opcin de situarse en otro.

El

men

contextual

desplegarse

puede

presionando

el

botn secundario del ratn en


el borde de la estructura, este
men permite crear frames
antes y despus del mostrado.

La opcin Sequence Local crea


tuneles entre un frame y los
dems para compartir datos.

FLAT SEQUENCE
Es

ms

visual,

los

frames

se

ven

uno

continuacin del siguiente, el orden de ejecucin


ser de izquierda a derecha.
En este caso no hay Sequence Local y los datos
podrn cablearse directamente desde un frame a
otro a travs de tneles.

2.2 CASE
La estructura CASE tiene como utilidad ejecutar
un cdigo u otro dependiendo de la condicin.
El men que permite elegir un subdiagrama, as
como la condicin para ejecutarlo.

Selector:

Es

el

valor

que

se

evala

para

seleccionar el subdiagrama a ejecutar.


Si es booleano, se ejecutar IF THE ELSE y
puede conectarse a otros datos, y actuar como
SWITCH CASE

Pueden conectarse al selector datos booleanos,


numricos, strings y clusters de error.
Selector Booleano: Verdadero o
falso.
Numrico: Dato igual del CASE.
ENUM o RING: Nombre del tem
en lugar de un valor numrico.
STRING: Valor del men
encerrado en comillas dobles
Cluster de error: El color del
borde de la estructura cambia.
El subdiagrama se ejecuta
dependiendo si hay error o no.

Cuando el selector se conecta a un string o dato


numrico, debe haber un caso. Para que un
subdiagrama sea ejecutado debe seleccionarse
Make this the default case
En los numricos, pueden asignarse valores
separados por comas o se pueden especificar
rangos.

Ejemplo:

ejecutar

cuando

la

entrada

tenga

valores 4,5,6,7 y 8. Se escribe en el CASE: 48

2.3 WHILE
El bucle WHILE repetir el cdigo de su interior hasta
que se cumpla una condicin, la cual es evaluada en
cada interaccin.
En la siguiente figura puede verse el aspecto de
este bucle, en el se aprecian dos terminales:

En el terminal de iteracin. El
La condicin de stop. A este
valor de este terminal es un
valor se podr conectar bien un
numero entero
que va
valor booleano, o un cluster de
aumentando en una unidad
error.
por cada iteracin del bucle,
empezando a contar desde A travs del men contextual podr
elegirse para los booleanos que el
cero.
bucle se detenga cuando el valor
sea TRUE (STOP IF TRUE) o FALSE
(CONTINUE IF TRUE). En el caso de
los cluster de error sucede algo
parecido con STOP ON ERROR y
CONTINUE WHILE ERROR.

Add Shift Register


Esta herramienta aade dos terminales a cada lado de la
estructura, estos terminales sirven para transferir un valor
desde una iteracin del bucle a la siguiente.

Los valores se pasaran a la siguiente iteracin

en el

terminal de la derecha y se leern en el de la izquierda. Si


se conecta un valor al terminal de la izquierda en el
exterior de la estructura, este ser el valor inicial que
circulara por ese cable en la primera iteracin.

En la primera iteracin se leer el valor 10 del terminal de la


izquierda, se le sumara 1 y se escribir en el terminal de la
derecha el valor 11. ste valor ser el ledo en la siguiente
iteracin en el terminal de la izquierda, al que se le volver a
sumar 1 y as sucesivamente hasta que se cumpla la condicin de
parada del bucle, que en este caso es que el numero sea mayor o
igual a 15.

El Shift Register de la izquierda puede extenderse para mostrar


mas terminales, la terminal superior tendr el valor que se
escribi en la derecha en la iteracin anterior, el siguiente
terminal tendr el valor que se escribi en la derecha dos
iteraciones antes y as sucesivamente.

Uso de varios Shift Register.

La tabla muestra los valores que tendrn cada uno de los


terminales en cada iteracin.

2.4 FOR
El bucle For es muy parecido al WHILE. Repite el cdigo de su
interior un numero n de veces.
Consta de dos terminales:

El terminal de iteracin se sita igual que en el bucle WHILE,


esta en el interior de la estructura y se va incrementado en
una unidad por cada iteracin empezando desde cero.

El terminal de cuenta esta colocado en la esquina superior


izquierda de la estructura simbolizado con una N en el se
conectara n valor numrico que ser el que fije el numero de
repeticiones del bucle.

Todo lo dicho en la explicacin del bucle


WHILE

respecto

los

shift

register,

los

Feedback Nodes y la salida indexada tambin


es valida para el FOR.

2.5 Event
Es una estructura muy til en Vls con los que
interacta el usuario porque mejora la eficiencia
del programa.

Se le permite escribir un cdigo muy eficiente


queespera a los eventos que sucedan, en lugar
de

cdigo

ineficiente

que

comprueba

peridicamente si han ocurrido eventos.

Entonces, qu es un evento de todos modos?


Un evento puede ser casi cualquier cosa que
"sucede" en LabVIEW, por ejemplo:

Se presiona un booleano panel frontal.

El valor de un cambio de control numrico.

El cursor del ratn entra en la ventana VI.

Se pulsa una tecla.

Event,

al

igual

que

CASE

tiene

varios

subdiagramas y un men en la parte superior. La


diferencia es que Event detiene la ejecucin, es
decir, congela el programa hasta que se ocurre
un evento.

En la esquina superior izquierda tiene un


terminal llamado Event Timeout que se
usa en el evento por defecto. Se ejecutara
cuando pase el numero de milisegundos
indicados en el terminal Event Timeout

Recomendaciones
Las recomendaciones que nos da National Instruments sobre
el uso de la estructura EVENT:
1.

No usar un Event dentro de otro.

2.

Si un Event se inserta dentro de un WHILE y ste acaba


mediante un botn(botn de stop), se debe insertar dentro
del subdiagrama asociado al cambio de valor.

3.

Los cambios de valor en controles de forma programada


no generaran eventos, solo se genera el cambio mediante
la interfaz de usuario.

LabVIEW

Вам также может понравиться