diapos romeo

Post on 10-Apr-2016

235 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

LA

TRANSCRIPT

Qué es LabVIEW?LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un lenguaje deprogramación gráfico para el diseño de sistemas de adquisición de datos,instrumentación y control, interfaces de usuario mediante una consola interactivabasada en software.

Es a la vez compatible con herramientas de desarrollo similares y puede trabajarcon programas de otra área de aplicación, como por ejemplo Matlab.Es a la vez compatible con herramientas de desarrollo similares y puede trabajarcon programas de otra área de aplicación, como por ejemplo Matlab.

Permite la integración con hardware, específicamente con tarjetas de medición,adquisición y procesamiento de datos.

Los programas creados en LabVIEW se guardan en archivos llamadosInstrumentos Virtuales con extensión VI.

Aplicaciones de LabVIEWLabview tiene su mayor aplicación en sistemas de medición,como monitoreo de procesos y aplicaciones de control,sistemas de monitoreo en transportación, Laboratorios paraclases en universidades, procesos de control industrial,procesamiento digital de señales, procesamiento en tiemporeal de aplicaciones biomédicas, manipulación de imágenes yaudio, automatización, generación de señales, entre otras, etc.

Aplicaciones de LabVIEWLabview tiene su mayor aplicación en sistemas de medición,como monitoreo de procesos y aplicaciones de control,sistemas de monitoreo en transportación, Laboratorios paraclases en universidades, procesos de control industrial,procesamiento digital de señales, procesamiento en tiemporeal de aplicaciones biomédicas, manipulación de imágenes yaudio, automatización, generación de señales, entre otras, etc.

Entorno LabVIEWLa programación G (gráfica) de Labview consta de un Panel Frontal y un Diagrama deBloques.En el Panel Frontal es donde se diseña la interface de usuario y se ubican los controlese indicadores.

Entorno LabVIEWLa programación G (gráfica) de Labview consta de un Panel Frontal y un Diagrama de Bloques.En el Diagrama de Bloques se encuentran las funciones y código.Cada control que se utiliza en la interfaz tiene una representación en el panel de código,igualmente los indicadores necesarios para entregar la información procesada al usuario tienenun icono que los identifica en el panel de código o de programación.

Ventanas de Trabajo

Controles(Elementos del Panel de Control)

Funciones(Elementos para el diagrama de bloques)

Herramientas(Selección del

instrumento a utilizar)

Controles, Indicadores e Iconos

Controles: Entradas de DatosIndicadores: Salidas de Datos

Iconos: Representación de Controles enel diagrama de bloques (código)

Funciones

Estructuras(While, For, Case)

Funciones(Programación, Medición, matemáticas, etc) Numéricas

Tipos de Datos

String

En el panel de Control En el diagrama de bloques

Booleanos

Numéricos

Creación de ProgramasEn LabVIEW la programación se realiza en el Diagrama de Bloques. Un programa generalmente tiene:

- Controles: sirven de entrada de datos- Funciones, Vis y estructuras: realizan las operaciones con los datos- Indicadores: sirven de salida para los datos

Ejemplo No.1

El programa lee el numero de caracteres de entrada los pone a la salida, detectala longitud y lo suma con el numero puesto en la entrada, dando el resultado enel indicador de salida.

Flujo de EjecuciónEn LabVIEW el lenguaje de programación es llamad lenguaje G. La Ejecución se basa en el flujo dedatos. La función se ejecuta cuando tiene todos los datos de entrada. Esta programación permite elparalelismo ya que no es imperativa (sucesión de operaciones) siendo apropiada para sistemasmultiprocesadores.

Ejemplo No.2

EstructurasEstructurasFor Loop: se ejecuta un subdiagrama unnúmero determinado de veces

While Loop: se ejecuta un subdiagrama hastaque se cumpla una condición determinada.

Flat Sequence Structure: Uno o mássubdiagramas se ejecutan en una secuenciadeterminada.

Case Structure: se ejecuta un subdiagramadependiendo del valor de entrada.

Flat Sequence Structure: Uno o mássubdiagramas se ejecutan en una secuenciadeterminada.

Formula Node: Realiza operacionesmatemáticas basadas en entradas.

Stacked Sequence Structure (Similar a FlatSequence)

Event Structure: Uno o más subdiagramasse ejecutan según el usuario interactúecon el VI

Do While Loop

Terminal deIteración

Terminal deCondición

Do While condition is trueExecute Sub diagram

Loop

•While Loop revisa la condición al final del ciclo.•El ciclo se ejecuta al menos una vez.•El terminal de iteración contiene el número de veces que el ciclo se haejecutado.

Ejecuta una rutina hastaque se cumpla unacondición determinada.

For LoopFor LoopContador de Ciclos:

indica cuantasveces se repiteel subdiagrama

Dos atributos:

N – Terminal de conteo

i - Terminal de Iteración

Haciendo click sobre “WHILE loop”en el diagrama de bloques puedecambiarse por “FOR loop”

EJECUTA UNSUBDIAGRAMAUNDETERMINADONÚMERO DEVECES

Si N escero onegativo elciclo no seejecuta

Terminal de iteración

Contiene el número deiteraciones completas

For I=0 to N-1

Ejecuta Código

Next I

NOTA: El CERO esindexado y aparece enla primera iteración

EJECUTA UNSUBDIAGRAMAUNDETERMINADONÚMERO DEVECES

Si N escero onegativo elciclo no seejecuta

Blank.viBlank.vi

CASE

La herramienta de desarrollo de aplicaciones LabVIEW ofrece dosdos sentencias desecuenciación. Flat Sequence y Stacked SequenceStructure y se encuentran en Functions/Programming/Structures. Cuando esinsertada en el diagrama de nuestra aplicación, aparece con una única ventana oFrame: es la unidad o elemento donde irá un módulo dado del código de nuestraaplicación. Para añadir más ventanas, se pulsa sobre la ventana con el botónderecho del ratón y se ejecuta Add Frame Before o Add Frame After, para añadir laventana antes o después de la actual, respectivamente.

Sentencias de secuenciación

Simulan como fotogramas de una película

Presentación del Problema

Código aprocesar cadavez que sepulse un botón

Código aprocesar cadavez que sepulse un botón

Solución CaseSolución Case--WhileWhile

ejemploejemplo

Solución CaseSolución Case--WhileWhile

EjemploEjemplo

Solución CaseSolución Case--WhileWhile

Structure Event

EjemploEjemplo

a)Agregue el evento al mover el mouse sobre el control booleano de Proceso 1.

Structure Event

Structure EventTimeOut

c) Incorpore presionando la tecla F10 la opción de grabar pantalla simulada por undiálogo de confirmación del operador.

Structure Event

Al presionar la tecla “a”:

Al presionar la tecla “F10”:

Presionando la tecla F10:Presionando la tecla F10:

Structure Event

No usar un Event dentro de otro Si en un Event se inserta dentro de un While y éste finaliza con un

botón de stop, se debe incorporar dentro del subdiagrama asociado alcambio de valor de dicho control.

Recomendaciones de NI sobre el uso de Event

No usar un Event dentro de otro Si en un Event se inserta dentro de un While y éste finaliza con un

botón de stop, se debe incorporar dentro del subdiagrama asociado alcambio de valor de dicho control.

FORMULA NODE

Planteo del problema:Evaluar si un número es positivo o negativo. Obtener como resultado un 1 si espositivo y -1 si es negativo.

FORMULA NODE

Planteo del problema:Evaluar si un número es positivo o negativo. Obtener como resultado un 1 si espositivo y -1 si es negativo.

EjercicioEjercicio

FORMULA NODE

EjercicioEjercicio

FORMULA NODE

EjercicioEjercicio

Ejercicio 3.- Ingrese dos variables de entrada x e y en una estructura FORMULA NODE. Siel producto de ambas es positivo obtener el resultado

Si el producto es negativo realice la operación:

3z xy

Ejercicio 3.- Ingrese dos variables de entrada x e y en una estructura FORMULA NODE. Siel producto de ambas es positivo obtener el resultado

Si el producto es negativo realice la operación:

23 2z x y

Ejercicio

Ejercicio 4. Ingresando los valores de resistencia y reactancia inductiva de una cargamonofásica y la tensión de alimentación a través de controles numéricos, calcule conel uso de FORMULA NODE, la corriente, potencia activa y reactiva que deberán leersea través de los siguientes indicadores

Ejercicio

Ejercicio 4. Ingresando los valores de resistencia y reactancia inductiva de una cargamonofásica y la tensión de alimentación a través de controles numéricos, calcule conel uso de FORMULA NODE, la corriente, potencia activa y reactiva que deberán leersea través de los siguientes indicadores

Ejercicio

CREACIÓNDE

VARIABLES

CREACIÓNDE

VARIABLES

Trabajando con VariablesTrabajando con VariablesDentro de la programación es necesario almacenar el valor de una variablepara poder usarla posteriormente.En LabVIEW también puede realizarse estas sentencias, almacenando unavariable para luego usarla dentro de otro bloque del VI o bien en otro VI.LabVIEW dispone de dos tipos de variables locales y globales.

Creación de una Variable Local

A continuación hay dos pasos fundamentales a realizar:Primero: determinar a que objeto del programa va a estar enlazadoSegundo: elegir si va a ser de lectura (read) o escritura (write).

Para el caso del ejemplo hacer click derecho sobre la variable local yseleccionar Select Item/Boolean y luego Change to Read

A continuación hay dos pasos fundamentales a realizar:Primero: determinar a que objeto del programa va a estar enlazadoSegundo: elegir si va a ser de lectura (read) o escritura (write).

Para el caso del ejemplo hacer click derecho sobre la variable local yseleccionar Select Item/Boolean y luego Change to Read

Ejercicio 5Desarrolle un VI, en el que se obtienen mediante simulación valores eficaces decorriente y tensión. Sabiendo que el factor de potencia siempre es constante eigual a 0.95, obtenga a partir de variables locales el valor de la potencia activa enintervalos de 100ms.

Ejercicio 5

Ejercicio 5Ejercicio 5

Ejercicio 6. Construir un VI que cumpla con las siguientes secuencias de tareas:1. Capturar 20 lecturas de tensión con intervalos de 250ms provenientes de una DAQ

simulada.2. Mostrar un aviso al operador de esta tarea finalizada.3. Capturar 50 lecturas de corriente cada 100ms, también desde una DAQ simulada.4. Mostrar el aviso de tarea concluida.

Las lecturas de tensión y corriente deben ser mostradas en un mismo gráfico (WaveformChart).

EjercicioEjercicio

Ejercicio 6. Construir un VI que cumpla con las siguientes secuencias de tareas:1. Capturar 20 lecturas de tensión con intervalos de 250ms provenientes de una DAQ

simulada.2. Mostrar un aviso al operador de esta tarea finalizada.3. Capturar 50 lecturas de corriente cada 100ms, también desde una DAQ simulada.4. Mostrar el aviso de tarea concluida.

Las lecturas de tensión y corriente deben ser mostradas en un mismo gráfico (WaveformChart).

Ejercicio 6.

Ejercicio 7. Un ciclo While recibe lecturas de tensión en intervalos de 250ms. Enparalelo otro ciclo While recibe lecturas de corriente cada 100ms. Encontrar la formade detener ambos ciclos en forma simultánea.Analice si es válida esta opción:

Ejercicio 7aEjercicio 7a

Ejercicio 7aEjercicio 7a

Solución con uso de variable local para el control booleano “Stop”

Ejercicio 7bEjercicio 7b

Creación de una Variable Global

Las variables locales solo tienen vida dentro de un mismo VI y no puedenser llamadas desde otro VI. Esto si ocurre con las variables globales.En el ejercicio siguiente se va a utilizar una variable global para almacenarun número generado en un VI para ser llevado a otro VI.Para esto primero desde el DB creamos desde Structures la variable global

EjercicioEjercicio BlankBlank

Variable Global

BlankBlank EjemploEjemplo

1.- Colocar una variable global en el diagrama de bloques:Diagrama de bloques >> Botón derecho ratón >> Paleta de funciones >>Programming >> Structures >> Global Variable.2.- Hacer doble click en la variable global sita en el diagrama de bloques.Esto abrirá el panel frontal de la misma. Colocar los controles o indicadoresen este panel frontal.3.- Cerrar el panel frontal de la variable global y grabar cambios.4.- Seleccionar la variable global, en el diagrama de bloques, con el botónderecho del ratón y selecciona Select Item. Asocia la variable al control oindicador que se quiera y definido en pasos anteriores.5.- Si se desea usar esta variable global en otro VI, simplemente ir al diagramade bloques de ese nuevo VI y botón derecho ratón >> Select VI y buscar lavariable donde previamente fue guardada.

Creación de una Variable Global

1.- Colocar una variable global en el diagrama de bloques:Diagrama de bloques >> Botón derecho ratón >> Paleta de funciones >>Programming >> Structures >> Global Variable.2.- Hacer doble click en la variable global sita en el diagrama de bloques.Esto abrirá el panel frontal de la misma. Colocar los controles o indicadoresen este panel frontal.3.- Cerrar el panel frontal de la variable global y grabar cambios.4.- Seleccionar la variable global, en el diagrama de bloques, con el botónderecho del ratón y selecciona Select Item. Asocia la variable al control oindicador que se quiera y definido en pasos anteriores.5.- Si se desea usar esta variable global en otro VI, simplemente ir al diagramade bloques de ese nuevo VI y botón derecho ratón >> Select VI y buscar lavariable donde previamente fue guardada.

PERSONALIZARCONTROLES

PERSONALIZARCONTROLES

I.I. NavigatorNavigator

EjemploEjemplo

EJEMPLO DE APERTURA Y CIERRE DE UNA VÁLVULA

EjemploEjemplo

Simulación llenado y vaciado de un tanqueSimulación llenado y vaciado de un tanque

Ejercicio 8Ejercicio 8

Válvula abierta – Llenado del tanque Válvula cerrada – Vaciado del tanque

Ejercicio 8Ejercicio 8

Ejercicio 10.- Resolver el ejercicio anterior utilizando la estructura “stackedsequence”.

Ejercicio 9Ejercicio 9

Ejercicio 9Ejercicio 9

Ejercicio 9Ejercicio 9

Ejercicio 9Ejercicio 9

Creación de una Variable Local (Control de la Válvula apertura-cierre deentrada de líquido)

Haciendo con el mouse clic derecho sobre el control Válvula vamos a Createy luego Local VariableHaciendo con el mouse clic derecho sobre el control Válvula vamos a Createy luego Local Variable

Ahora lo movemos al segundo cuadro de la estructura sequence y leanexamos una constante booleana (falso).

Seteado en Write

GRACIASGRACIAS

top related