Estructuras Básicas LabVIEW

Embed Size (px)

Citation preview

For Loop

While Loop

Estructuras Bsicas

Flat Sequence Case Structure

Estructura For Loop Usaremos For Loop cuando queramos que una operacin se repita un nmero determinado de veces. Al colocar un For Loop en la ventana Diagram observamos que tiene asociados dos terminales:

1.

Terminal contador: contiene el nmero de veces que se ejecutar el subdiagrama creado en el interior de la estructura. El valor del contador se fijar externamente Terminal de iteracin: indica el nmero de veces que se ha ejecutado la estructura : cero durante la primera iteracin, uno durante la segunda y as hasta N-1

2.

Ambos terminales son accesibles desde el interior de la estructura, es decir, sus valores podrn formar parte del subdiagrama, pero en ningn caso se podrn modificar.Terminal contador

Terminal de iteracin

For Loop

Investigue que se realiza en el siguientes pantallas (incluye el panel frontal y Diagrama a bloques)

Su equivalente en lenguaje convencional es: For i = 0 to N 1 Ejecuta el subdiagrama

Ejercicio Practico Deseamos realizar una aplicacin que nos permita, dado un nmero entero, obtener como resultado la potencia en base 2 que nos indica ese nmero.

Solucin al Ejercicio

Estructura While Loop Usaremos While Loop cuando queramos que una operacin se repita mientras una determinada condicin sea cierta o falsa Al colocar un While Loop en la ventana Diagram observamos que tiene asociados dos terminales:

1.

Terminal condicional: a l conectaremos la condicin que har que se ejecute el subdiagrama. LabVIEW comprobar el estado de este terminal al final de cada iteracin. Podemos configurar este terminal de manera que pare si la condicin es cierta (Stop if True ) o bien que pare si la condicin es falsa (Continue if True ) Terminal de iteracin: indica el nmero de veces que se ha ejecutado el bucle y que, como mnimo, siempre ser una (i=0)

2.

Ambos terminales son accesibles desde el interior de la estructura, es decir, sus valores podrn formar parte del subdiagrama, pero en ningn caso se podrn modificar.

Terminal condicional Terminal de iteracin

While Loop

Investigue que se realiza en el siguientes pantallas (incluye el panel frontal y Diagrama a bloques)Su equivalente en lenguaje convencional es: Do ejecutar subdiagrama While condicin is TRUE(or FALSE)Aunque esta estructura es ms similar al comando Repeat-Until, ya que se repite como mnimo una vez, independiente del estado de la condicin.

Ejercicio Practico Deseamos introducir un valor numrico y obtener a la salida ese mismo valor incrementado en uno. Deseamos que esa operacin se realice de modo continuo hasta que pulsemos el botn STOP.

Solucin al Ejercicio

Estructura CASE Y EVENTEste tipo de estructura se diferencia de las iterativas en que se pueden tener mltiples subdiagramas, de los cuales solamente uno es visible a la vez. En la parte superior de cada estructura existe una pequea ventana que muestra el identificador del subdiagrama que se est mostrando.

Case Usaremos la estructura Case, en aquellas situaciones en las que el nmero de alternativas disponibles sean dos o ms. Segn qu valor tome el selector dentro de los n valores posibles, se ejecutar en correspondencia uno de los n subdiagramas

La estructura Case consta de un terminal llamado selector y un conjunto de subdiagramasIdentificador

Selector booleano (o numrico)

rea para introducir Un conjunto de subdiagramas

Investigue que se realiza en el siguientes pantallas (incluye el panel frontal y Diagrama a bloques)

En este caso la estructura Case engloba dos sentencias diferentes de otros lenguajes convencionales:

1.

If condicin true then ejecutar case true else ejecutar case false Case selector of 1: ejecutar case 1; n: ejecutar case n end

2.

Nota: Case no cuenta con los registros de desplazamiento de las estructuras iterativas pero si podemos crear los tneles para sacar o introducir datos. Si un Case o Suceso proporciona un dato de salida a una determinada variable ser necesario que todo los dems tambin lo hagan; si no ocurre de esta manera ser imposible ejecutar el programa.

Ejercicio Practico Case Deseamos realizar una aplicacin que nos permita elegir entre realizar el producto o la divisin de dos valores numricos de entrada y, una vez elegida la opcin, que realice la operacin.

Solucin al Ejercicio

Registro de corrimientoLos registros de corrimiento permiten almacenar los datos que ingresaron a l en un registro. Permite retroalimentar los valores para la nueva ejecucin . Consta de un elemento que entrega los datos y otro que permite ingresarle datos al registro.

Permite inicializarse, si no se lo hace el primer valor ser 0 si el registro es de datos numricos y la prxima ves que se ejecute el programa el primer valor que entregue ser el ltimo que lleg al registro.

Registro de desplazamiento

Ejercicio de Desplazamiento Deseamos realizar una aplicacin que nos permita, dado un nmero entero, obtener como resultado 2 elevado a ese valor numrico.

Solucin al Ejercicio

Ejercicio de Shift Register Retencin e Incremento de un valor de salida Deseamos realizar una aplicacin que nos permita, dado un nmero 0 , en la entrada nos muestre un indicador de nivel que no cambie de valor y cuando reciba un 1 se incremente su valor sin conmutar sus valores a 0.

Solucin al Ejercicio un Punto y no presenta examen parcial

Aplicacin estructura Bucle y conexin tnel

WHILE

Dado un valor numrico entero entre 0 y 100, empleando variable aleatoria, indicar cuntas veces intenta el programa la concordancia con el nmero propuesto hasta alcanzar el valor especificado.

Ejercicio con funcin de espera. Incorporamos funciones de espera como Wait Until Next ms Multiple para controlar la velocidad de ejecucin del bucle.

Aplicacin estructura Sequence En LabView una funcin se ejecuta cuando tiene disponible todos los datos de entrada. Se produce de esta manera una dependencia de datos que hace que la funcin que recibe un dato directa o indirectamente de otra se ejecute siempre despus, crendose un flujo de Identificador programa.Decrementar Incrementar

Tnel Secuencia local origen Secuencia local destino Secuencia local no utilizable

Pero hay ocasiones que esta dependencia de datos no existe y es necesario que un subdiagrama se ejecute antes que otro; es en estos casos cuando usaremos la estructura Secuence para forzar un determinado flujo de datos.

Cada subdiagrama estar contenido en un frame o marco y stos se ejecutarn en orden de aparicin: primero el frame 0, despus el frame 1 y as, sucesivamente, hasta el ltimo. Si la secuencia se ejecuta en orden sin paso de datos entre frames, no hay secuencias locales y se emplea el Flat Sequence.

Stacked Sequence

Flat Sequence

En el ejercicio anterior hemos diseado una aplicacin donde, dado un valor numrico entero, se intenta encontrarlo mediante el empleo de una variable aleatoria. Ahora deseamos saber cuntos milisegundos se tardar en encontrar ese valor.

Estructura Event Es una estructura parecida a la Estructura Case; nos permite ejecutar una u otra parte de cdigo, en funcin de diferentes evento relacionados con nuestra aplicacin. Clicks o Movimiento del ratn Como son: Ventanas para Maximizar o Min. Pulsacin de teclas del teclado Entre otros eventos.

Esta estructura permite aadir tantas ventanas como eventos queramos controlar y configurar. Cuando la ejecucin del programa llega al Event Structure, por defecto el programa espera hasta que se d algunos de los eventos programados.

Tambin existe la posibilidad de programar un evento de Time Out y configurar el tiempo de espera mediante una conexin al smbolo . La configuracin de los eventos para cada uno de los casos se realiza mediante el cuadro siguiente:

Ejemplo: Se requiere de una aplicacin que cuente cuntos clics se realizan con el ratn sobre un panel frontal, y muestra si el clic se ha hecho con el botn Derecho, el Izquierdo y la posicin dentro de la pantalla

Solucin al Ejercicio

Formula NODE Usaremos Formula Node cuando queramos ejecutar frmulas matemticas que seran complicadas de crear utilizando las diferentes herramientas matemticas que LabVIEW incorpora en sus libreras.

Si nicamente queremos implementar una ecuacin compuesta slo por una variable podemos utilizar la funcin Expression Node. Las funciones que podemos utilizar y la sintaxis es idntica a la estructura Formule Node.