Está en la página 1de 20

13/02/2013

Estructuras

Enero-Abril 2013

While Loop: Se ejecuta un sub-diagrama hasta que se cumpla una condicin determinada For Loop: Se ejecuta un sub-diagrama un nmero determinado de veces Case Structure: Se ejecuta un sub-diagrama dependiendo del valor de la entrada Sequence Structure: Uno o ms sub-diagramas se ejecutan en una secuencia determinada Fromula Node: Realiza operaciones matemticas basadas en entradas

13/02/2013

Ciclos While

Tiene una Terminal de Iteracin Siempre corre al menos una vez Corre de acuerdo a la Terminal Condicionante Ejecuta el subdiagrama hasta que la condicin terminal reciba un valor Booleano especfico . Por defecto el terminal condicional se detiene si es verdad Sop if True y haciendo clic sobre el mismo puede cambiarse a continuar si es verdad Continue is True. El contador de la iteracin siempre arrancar desde cero.

Terminal de Iteracin Terminal Condicionante

Ciclos (cont.)
1. Seleccionar el ciclo 2. Encerrar cdigo que va a ser repetido

3. Arrastrar nodos adicionales y luego cablear

13/02/2013

Ejercicio 8
Seleccionamos File New, para abrir un nuevo Panel Frontal. 1. Desde la paleta de Functions Programming Structures. Se coloca un diagrama de While Loop. 2. Observe el contador de iteraciones y la terminal Condicionante. 3. De click derecho en la esquina inferior derecha y seleccione Create Control. 4. En el panel frontal agregue un Numeric indicator. 5. Desde el Diagrama de Bloques, mueva la terminal correspondiente dentro del While Loop. 6. Cambie la representacin al formato integer 7. Cablee el indicador hasta la terminal de iteracin

A continuacin se establecer un tiempo para la ejecucin del ciclo. 8. Desde el men Time seleccione el Timer con un Metrnomo y colquelo dentro del ciclo 9. Con el botn derecho del Mouse genere una constante igual a 1000 (est en milisegundos)

Dado que la entrada del timer es 1000 ms, siempre corre a intervalos de 1 segundo. Modifique el programa para definir un intervalo (en segundos). 10. Agregue un Control Numrico en el Panel Frontal que permita entradas de tipo flotante. 11. Desde el Diagrama a Bloques, cablee este control a la entrada del Timer.

13/02/2013

Dado que la entrada del intervalo est segundos, debe multiplicarse por un factor de 1000

Ejercicio 9 Generacin de una seal Senoidal


Genere un programa que grafique una seal senoidal 1. Retome el valor de la iteracin y smele un factor de 2.
El factor 2 es una constante construida por Labview. Se encuentra en el panel Numeric Operations.

2. El resultado de la suma es la entrada a una funcin Sin, que se encuentra en la paleta de Funtions Trigonometric Functions 3. Finalmente la salida de la senoidal se despliega en un indicador numrico y una grfica, los cuales se agregan desde el panel frontal

13/02/2013

Ejercicio 10

Modifique el programa anterior de manera que se pueda proporcionar la amplitud de la seal senoidal por el usuario

13/02/2013

Ciclo For

Contador de Ciclov

Terminal de Conteo

Tiene una Terminal de Iteracin


Terminal de Iteracin

Corre de acuerdo a la entrada N de la Terminal de Conteo que indica cuantas veces se repite el subdiagrama Si N es cero o negativo no se ejecuta La terminal de Iteracin contiene el nmero de iteraciones completas

Ejercicio 11
Seleccionamos File New, para abrir un nuevo Panel Frontal. 1. Desde la paleta de Functions Programming Structures. Se coloca un diagrama de For Loop. 2. De clic derecho en la terminal de iteracin y cree una constante para generar un valor numrico. 3. Inserte 100 en la constante numrica, para que el ciclo for se ejecute 100 veces antes de detenerse. 4. Desde el panel frontal coloque un indicador numrico que muestre el nmero de iteraciones realizadas. Cablelo desde la terminal de iteraciones en el Diagrama de Bloques.

13/02/2013

Ejercicio 12
Seleccionamos File New, para abrir un nuevo Panel Frontal. 1. Desde la paleta de Functions Programming Structures. Se coloca un diagrama de For Loop. 2. De clic derecho en la terminal de iteracin y cree una constante para generar un valor numrico. 3. Inserte 100 en la constante numrica, para que el ciclo for se ejecute 100 veces antes de detenerse. 4. De clic en el borde del ciclo y seleccione Conditional Terminal. Un ciclo for con una terminal condicional se ejecuta hasta que la condicin se produce o hasta que todas las iteraciones estn completas, lo que ocurra primero. 5. Dentro del ciclo genere un nmero aleatorio cada segundo hasta que hayan transcurrido 100 segundos o o el usuario haga clic en el botn Stop.

13/02/2013

Autoindexado

Se puede utilizar For o While Loop para generar un arreglo. Esto se llama Autoindexado

Ejercicio 13

Genere un arreglo unidimensional con los nmeros consecutivos del 1 al 10 utilizando un ciclo for.

13/02/2013

Ejercicio 14

Obtener el resultado en un array de los cuadrados de los nmeros de 0 a 10 y graficarlos.

Shif Register

Shift registers se utiliza tanto en los WHILE LOOP como en FOR LOOP. Se utilizan para transferir datos desde una iteracin a la siguiente. Son similares a las variables estticas en los lenguajes de programacin basados en texto. Un Shift Register se crea haciendo click sobre el borde derecho o izquierdo del loop y seleccionando Add Shift Registers desde el men emergente. Los datos a cablear en los terminales de cada Shift Register deben ser del mismo tipo.

13/02/2013

Shift Register
Disponible

en los bordes derecho izquierdo de los ciclos y estructuras un clic derecho en el selecciona Add Shift Register borde

e y

Con

El

terminal derecho guarda el dato al terminar la iteracin terminal izquierda provee el dato al comenzar la nueva iteracin

La

Como funciona el Shift Register

10

13/02/2013

Ejercicio 15

Genere un programa que muestre x y sus 3 valores previos dentro de la iteracin de un ciclo.

Case Structure

Esta estructura es equivalente a IF/ THEN/ ELSE de los lenguajes tradicionales de texto.
If condition=TRUE then Ejecute el cdigo 1 ELSE Ejecute el cdigo 2 Endif

Pasar de un Sub-diagrama a otro

Selector

Subdiagrama

11

13/02/2013

Ejercicio 16

Genere un programa que compara dos nmeros x, y dados por el usuario y regresa un 0 si x<y y un 1 si x>y.

Seleccionamos File New, para abrir un nuevo Panel Frontal. 1. Desde el panel frontal coloque dos controles numricos y etiqutelos con x, y 2. Coloque un indicador numrico y etiqutelo con x>y 3. En el diagrama de bloques desde la paleta de Functions Programming Structures coloque un diagrama de Case. 4. Inserte un bloque comparador y cablee las entradas x, y hasta este bloque. 5. Conecte la salida del comparador al selector del bloque case. 6. En el caso True genere una constante entera igual a 1 y cablela hasta el indicador numrico. 7. En el caso False genere una constante entera igual a 0 y cablela hasta el indicador numrico 8. Salve y ejecute el vi

12

13/02/2013

Ejercicio 17

Ingresar dos nmeros x e y y realizar mediante un control booleano combinado con una estructura CASE la suma o resta de los mismos.

13

13/02/2013

Estructura Sequence

En lenguajes tradicionales, el orden de ejecucin est dado por el orden de las instrucciones. Labview sigue el modelo de Flujo de Datos (un nodo necesita tener disponibles todos los datos de sus entradas para ejecutarse), por tanto no se puede determinar cual es el orden de las tareas a ejecutar. Para que las tareas sigan un orden especfico se usa un sequence structure

Estructuras Sequence

14

13/02/2013

Variables Locales

Las Variables Locales permiten que los datos pasen a travs de los ciclos. Un solo control o indicador puede ser escrito o ledo por ms de una ubicacin en el programa
Las Variables Locales rompen con el paradigma de que el flujo
de datos debe ser usado en un orden concreto.

Ejercicio 18

Construya un VI con 5 LEDS, que se iluminen en forma cclica de izquierda a derecha:

15

13/02/2013

Seleccionamos File New, para abrir un nuevo Panel Frontal. 1. Desde el panel frontal coloque cinco leds y etiqutelos con A, B, C, D, E. 2. Coloque un botn de paro STOP. 3. En el diagrama de bloques desde la paleta de Functions Programming Structures coloque un Flat Sequence. 4. Con el botn derecho del Mouse seleccione Add Frame After y agregue 4 ventanas para ejecutar los 5 casos correspondientes a los leds utilizados 5. En cada Frame agregue un bloque Wait desde la paleta Functions Programming Timing y genere en su entrada una constante de 500. 6. Genere una constante falsa y cablela a los leds de acuerdo al diagrama.

7. Genere una variable local para los leds A y B y cable la siguiente secuencia asegurndose de que slo encienda el led B. 8. Copie el contenido del frame y pguelo en el prximo cambiando las variables locales por B y C, asegurndose de que solo encienda el led C 9. Contine de este modo hasta terminar con los 5 leds de acuerdo al diagrama. 10. Encierre todo el cdigo dentro de un ciclo while y cablee el botn de Stop con la terminal condicionante. 11. Guarde y ejecute el vi. 12. Observe que aunque presione el botn de Stop, el programa se detiene slo hasta que se termina la secuencia.

16

13/02/2013

Formula Node

Es una caja donde se introduce frmulas algebraicas directamente en el diagrama de bloques. Es til cuando una ecuacin es complicada o tiene muchas variables. Tiene una o ms entradas y salidas Utiliza una sintaxis parecida al C

17

13/02/2013

Para definir una frmula : En primer lugar, se deben definir las variables de entrada y las de salida.
Se pulsa con el botn derecho del ratn sobre el borde de la formula node. A continuacin se seleccionar Add Input o Add Output, aparecer un rectngulo, en el que se debe escribir el nombre de la variable (se distingue entre maysculas y minsculas). Las variables que se empleen como variables intermedias se declararn como salidas, aunque posteriormente no se unan a ningn bloque posterior.

Una vez definidas las variables a escribirn la o las frmulas en el recuadro. Cada frmula debe finalizar Los operadores y funciones que emplear se muestran a continuacin:

emplear, se interior del con un ;. se pueden

18

13/02/2013

Ejercicio 19
Empleando el bloque Formula Node, calcule los valores de a y b de la ecuacin de la recta, a partir de dos puntos (x, y) dados por el usuario. Seleccionamos File New, para abrir un nuevo Panel Frontal. 1. Desde el panel frontal coloque cuatro controles numricos y etiqutelos con x1, y1, x2, y2. 2. Coloque dos indicadores numricos y etiqutelos con a y b. 3. En el diagrama de bloques desde la paleta de Functions Programming Structures coloque un Frmula Node. 4. Genere 4 entradas y cablelas con los valores de x1, y1, x2, y2. 5. En los recuadros en blanco de las variables coloque las etiquetas correspondientes a las variables. 6. Genere dos salidas y cablelas con los valores de a y b. 7. De igual forma, en los recuadros en blanco de la salida, escriba las etiquetas para a y b. 8. Dentro de la estructura escriba la frmula correspondiente a la ecuacin de la recta, terminando en cada caso con ; 9. Guarde y ejecute el vi.

19

13/02/2013

Ejercicio 20

Genere un VI que grafique las siguientes expresiones para un conjunto de 11 puntos: y1 = x**3 - x**2 + 5; y2 = m*x + b. El usuario debe proporcionar los valores para b y m.

20

También podría gustarte