diapos romeo

77

Upload: rey-arturo

Post on 10-Apr-2016

235 views

Category:

Documents


0 download

DESCRIPTION

LA

TRANSCRIPT

Page 1: Diapos Romeo
Page 2: Diapos Romeo

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.

Page 3: Diapos Romeo

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.

Page 4: Diapos Romeo

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.

Page 5: Diapos Romeo

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.

Page 6: Diapos Romeo

Ventanas de Trabajo

Controles(Elementos del Panel de Control)

Funciones(Elementos para el diagrama de bloques)

Herramientas(Selección del

instrumento a utilizar)

Page 7: Diapos Romeo

Controles, Indicadores e Iconos

Controles: Entradas de DatosIndicadores: Salidas de Datos

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

Page 8: Diapos Romeo

Funciones

Estructuras(While, For, Case)

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

Page 9: Diapos Romeo

Tipos de Datos

String

En el panel de Control En el diagrama de bloques

Booleanos

Numéricos

Page 10: Diapos Romeo

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.

Page 11: Diapos Romeo

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

Page 12: Diapos Romeo

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

Page 13: Diapos Romeo

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.

Page 14: Diapos Romeo

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

Page 15: Diapos Romeo

CASE

Page 16: Diapos Romeo

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

Page 17: Diapos Romeo

Presentación del Problema

Código aprocesar cadavez que sepulse un botón

Código aprocesar cadavez que sepulse un botón

Page 18: Diapos Romeo

Solución CaseSolución Case--WhileWhile

ejemploejemplo

Page 19: Diapos Romeo

Solución CaseSolución Case--WhileWhile

EjemploEjemplo

Page 20: Diapos Romeo

Solución CaseSolución Case--WhileWhile

Page 21: Diapos Romeo

Structure Event

EjemploEjemplo

Page 22: Diapos Romeo
Page 23: Diapos Romeo
Page 24: Diapos Romeo
Page 25: Diapos Romeo

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

Page 26: Diapos Romeo
Page 27: Diapos Romeo

Structure Event

Page 28: Diapos Romeo

Structure EventTimeOut

Page 29: Diapos Romeo
Page 30: Diapos Romeo
Page 31: Diapos Romeo

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

Page 32: Diapos Romeo

Structure Event

Page 33: Diapos Romeo

Al presionar la tecla “a”:

Page 34: Diapos Romeo

Al presionar la tecla “F10”:

Page 35: Diapos Romeo
Page 36: Diapos Romeo
Page 37: Diapos Romeo

Presionando la tecla F10:Presionando la tecla F10:

Page 38: Diapos Romeo

Structure Event

Page 39: Diapos Romeo
Page 40: Diapos Romeo

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.

Page 41: Diapos Romeo

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.

Page 42: Diapos Romeo

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

Page 43: Diapos Romeo

FORMULA NODE

EjercicioEjercicio

Page 44: Diapos Romeo

FORMULA NODE

EjercicioEjercicio

Page 45: Diapos Romeo

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

Page 46: Diapos Romeo
Page 47: Diapos Romeo

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

Page 48: Diapos Romeo

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

Page 49: Diapos Romeo

CREACIÓNDE

VARIABLES

CREACIÓNDE

VARIABLES

Page 50: Diapos Romeo

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.

Page 51: Diapos Romeo

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

Page 52: Diapos Romeo

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.

Page 53: Diapos Romeo

Ejercicio 5

Ejercicio 5Ejercicio 5

Page 54: Diapos Romeo

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).

Page 55: Diapos Romeo

Ejercicio 6.

Page 56: Diapos Romeo

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

Page 57: Diapos Romeo

Ejercicio 7aEjercicio 7a

Page 58: Diapos Romeo

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

Ejercicio 7bEjercicio 7b

Page 59: Diapos Romeo

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

Page 60: Diapos Romeo

Variable Global

BlankBlank EjemploEjemplo

Page 61: Diapos Romeo

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.

Page 62: Diapos Romeo
Page 63: Diapos Romeo

PERSONALIZARCONTROLES

PERSONALIZARCONTROLES

Page 64: Diapos Romeo

I.I. NavigatorNavigator

Page 65: Diapos Romeo
Page 66: Diapos Romeo

EjemploEjemplo

Page 67: Diapos Romeo
Page 68: Diapos Romeo

EJEMPLO DE APERTURA Y CIERRE DE UNA VÁLVULA

EjemploEjemplo

Page 69: Diapos Romeo

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

Page 70: Diapos Romeo

Ejercicio 8Ejercicio 8

Page 71: Diapos Romeo

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

Ejercicio 9Ejercicio 9

Page 72: Diapos Romeo
Page 73: Diapos Romeo

Ejercicio 9Ejercicio 9

Page 74: Diapos Romeo

Ejercicio 9Ejercicio 9

Page 75: Diapos Romeo

Ejercicio 9Ejercicio 9

Page 76: Diapos Romeo

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

Page 77: Diapos Romeo

GRACIASGRACIAS