Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructuras
Estructuras
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.
Ciclos (cont.)
1. Seleccionar el ciclo 2. Encerrar cdigo que va a ser repetido
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
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
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
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
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
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
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:
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