instrumentación virtual con labview

Post on 10-Jul-2016

30 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Instrumentación Virtual con LabVIEW

INTRODUCCIÓN

• Términos de LabVIEW

• Componentes de aplicación de LabVIEW

• Herramientas de programación de LabVIEW

• Crear una aplicación en LabVIEW

¿Qué es LabView?

Es un entorno de programación gráfica usado

para desarrollar aplicaciones de medida, pruebas y control

Diseñado por National Instruments desde 1986

La mejor manera de aprender LabVIEW

es:

PRACTICAR, PRACTICAR,

PRACTICAR

¿ Cuál es el uso básico de LabView en un Sistema de Instrumentación?

Monitorear sensores en un experimento

Procesar los datos y representarlos de forma eficiente

Guardar todos los datos obtenidos en el experimento para realizar el análisis

ADQUISICIÓN DE DATOS (DAQ)

Es el proceso de importar automáticamente datos desde un instrumento o circuito hacia

la computadora

¿Cómo se programa en LabView?

“Se usan íconos gráficos e intuitivos y cables que parecen un diagrama de flujo”

PROGRAMACIÓN GRÁFICA

Contiene los mismos conceptos de programación que se pueden encontrar en la mayoría de los lenguajes tradicionales.

Tipos de datos,

bucles, eventos,

variables

se ejecuta de acuerdo con las reglas del flujo de datos en lugar de serie secuencial de comandos

Beneficios de la programación G

Programación gráfica intuitiva los ingenieros piensan mejor en imágenes

Los datos se originan en la función de adquisición y luego fluyen a las funciones de análisis y almacenamiento a través de los cables.

Panel frontal • Controles = entradas

• Indicadores = salidas

Diagrama de bloque • Programa de acompañamiento

para el panel frontal

• Componentes “cableados”

entre si

Programas de LabVIEW se llaman instrumentos virtuales (VIs)

Un instrumento virtual es:

Una computadora equipada con software y hardware especializados para cumplir las funciones de un instrumento de medición de señales ( temperatura, presión, caudal, entre otras.)

Con los datos obtenidos de la medición, realiza:

Procesamiento

Análisis

Almacenamiento

Despliegue.

Diseñar algoritmos de control

Definido por el usuario

Basados en software

Flexibilidad

Reutilización

Reconfiguración

Tiene funcionalidad fija

Basados en hardware

Instrumento Virtual Instrumento tradicional

VS

Panel frontal de VI Barra de herramientas del panel frontal

Leyenda del

gráfico

Control Booleano

Gráfico de Forma de onda

Icono

Leyenda de

La grafica

Leyenda de

la escala

VI Diagrama de bloque

Cableado de datos

Terminal grafica

SubVI

Estructura While loop

Barra de Herramientas Del diagrama de Bloque

Funcion de dividir

Constante numerico

Funcion de tiempo

Terminal de control booleano

VIs Expreso, VIs y Funciones • VIs Expreso: VIs interactivos con pagina de dialogo

configurable

• VIs estándar: VIs modulares y personalizables mediante

cableado

• Funciones: Elementos fundamentales de operación de

LabVIEW; no hay panel frontal o diagrama de bloque

VI Expreso VI Estandar

Funcion

Paleta de controles y funciones

Paletas de control (Ventana del panel frontal)

Paleta de funciones (Ventana de diagrama de bloque)

Herramienta de operación

Herramienta de posicionamiento

y redimensión

Herramienta de etiquetado

Herramienta de cableado

Herramienta de menú (atajo)

• Paleta flotante

• Utilizado para operar y modificar

objetos en el panel frontal y en el

diagrama de bloques.

Herramienta de desplazamiento

Herramienta de punto de paro

Herramienta de prueba

Herramienta para copia de color

Herramienta para colorear

Paleta de Herramientas

Herramienta de selección automatica

Botón de ejecución (Run)

Botón de ejecución continua (Continuous Run)

Cancelación de ejecución (Abort Execution)

Botón de pausa/continuación

Configuración de textos (Text Settings)

Alineamiento de objetos (Align Objects)

Distribución de objetos (Distribute Objects)

Reordenamiento

Redimensionamiento de objetos de panel frontal (Resize Objects)

Botón de ejecución resaltada (Highlight Execution) Botón de entrada al ciclo (Step Into)

Botón sobre (Step Over) Botón de salida del ciclo (Step Out)

Botones adicionales en el diagrama de la barra de herramientas

Barra de herramientas de Estado

Abra y Ejecute un Instrumento Virtual Buscador de Ejemplos

Terminales de Control

Ventana de Diagrama de Bloques

Ventana de Panel Frontal

Terminales de Indicador

Creando un VI

Creando un VI – Diagrama de Bloques

Consejos Para Conectar – Diagrama de Bloques

“Punto Caliente” de Cableado

Limpiando el Cableado Utilice la Ruta Automática

del Cable

Haga Clic para Seleccionar los Cables

• El diagrama de bloque se ejecuta

dependiendo del flujo de los datos;

el diagrama de bloques NO se

ejecuta de izquierda a derecha

• El nodo se ejecuta cuando los

datos están disponibles para

TODOS los terminales de entrada.

• Los nodos suministran datos a

todos los terminales de salida

cuando termina.

Programando el Flujo de Datos

Opciones de Ayuda Contexto de la Ayuda • Ayuda en línea

• Congelar Ayuda

• Ayuda del Diagrama Simple/Complejo

• Ctrl + H

Referencias en Línea • Todos los menús en línea

• Clic en las funciones del diagrama para tener acceso directo a la información en línea.

Técnicas para Eliminar Errores • Encontrando los Errores

• Resaltar la Ejecución

• Herramienta de Prueba

Haga clic en el botón de “correr” que esta roto; Aparece una ventana mostrando los errores

Haga clic en el botón de ejecución resaltada; el flujo de datos es animado utilizando burbujas. Los valores se despliegan en los cables.

Haga clic con el botón derecho sobre el cable para exhibir la ventana de prueba y así mostrar los datos mientras fluyen por el segmento de cable. También puede seleccionar la herramienta de prueba desde la paleta de herramientas y hacer un clic en el cable.

Todos los controles e indicadores están asociados con un tipo de dato y solo pueden contener uno solo de estos.

Cadenas de Caracteres

• Crear mensajes de texto simples.

• Controlar instrumentos

• Almacenar datos numéricos en disco.

• Indicar o advertir al usuario con ventanas de diálogos.

Datos Booleanos

• Almacena datos como valores de 8 bits.

• Un Booleano puede usarse para representar 0 o 1, o un TRUE o FALSE

• Representan datos digitales

• Funcionan como un control de panel frontal actuando como un interruptor que tiene una acción mecánica

Datos Numéricos

• Números Enteros

• Números de Punto flotante

• Números complejos

Punto de coerción

Indica que dos tipos de datos numéricos diferentes han sido aplicados a una función.

Es preferible, para mejorar el rendimiento de la memoria, hacer una conversión entre tipos de datos

Conversión de datos recomendada

Errores en el manejo de datos dinámicos

Las conexiones rotas aparecen cuando tipos de datos inválidos son unidos

Ejercicio 1 – Convertir de °C a °F

Tips para trabajar en LabVIEW

• Atajos desde el teclado – <Ctrl-H> – Activa/Desactiva la Ventana de Ayuda – <Ctrl-B> – Remueve todos los cables rotos del diagrama de

bloques – <Ctrl-E> – Cambiar entre el Panel Frontal y el Diagrama de

Bloques – <Ctrl-Z> – Deshacer cambios – Undo (también disponible

en el menu de edición)

• Herramientas » Opciones… – Establecer Preferencias en LabVIEW

• Propiedades del VI – Configurar la Apariencia del VI, Documentación, etc.

ESTRUCTURAS BÁSICAS

• Las estructuras se comportan como cualquier otro nodo en el diagrama de bloques, ejecutando automáticamente lo que está programado en su interior.

• Suministran los correspondientes valores a los cables unidos a sus salidas. Sin embargo, cada estructura ejecuta su subdiagrama de acuerdo con las reglas específicas que rigen su comportamiento.

ESTRUCTURAS BÁSICAS

• Un subdiagrama es una colección de nodos, cables y terminales situados en el interior del rectángulo que constituye la estructura.

• El For Loop y el While Loop únicamente tienen un subdiagrama. El Case Structure y el Sequence Structure, sin embargo, pueden tener múltiples subdiagramas superpuestos, por lo que en el diagrama de bloques únicamente será posible visualizar uno a la vez.

ESTRUCTURAS BÁSICAS

LabVIEW proporciona estructuras de programación (Functions-Structures) para realizar diferentes procesos; entre dichas estructuras se encuentran: • FOR.- Ejecuta un subdiagrama un número determinado de ocasiones. • WHILE.- Ejecuta un subdiagrama hasta que una condición se cumpla. • CASE STRUCTURE.- Contiene múltiples subdiagramas, de los cuales solo

uno se ejecuta dependiendo de la variable de entrada a la estructura. • SECUENCE STRUCTURE.- Contiene uno o más subdiagramas, los cuales se

ejecutan de manera secuencial. • • MATHSCRIPT • .- Realiza operaciones matemáticas utilizando • variables definidas por el usuario ó de la misma • estructura ( • Mathscript • es similar a Matlab, pero integrado • en LabVIEW)

• Se ejecutará hasta que se cumpla una condición y se entregue el valor booleano de parada (parar cuando sea verdadero es la más utilizada)

• El terminal condicional se ubica en la parte inferior derecha del lazo.

• Puede usar túneles (auto-indexado esta deshabilitado por defecto).

• Usualmente más usado que el For loop porque tiene un mecanismo para abortar la ejecución y el tener la capacidad de detener la ejecución es muy importante en cualquier programa.

WHILE LOOP

WHILE LOOP

WHILE LOOP

• Si se desea cambiar la lógica del terminal de condición

WHILE LOOP

• Armar un VI que cuente la cantidad de iteraciones para alcanzar la igualdad con un número ingresado por el operador

WHILE LOOP

WHILE LOOP - EJERCICIO

• Generación de una onda seno

WHILE LOOP

• Es usado para ejecutar una sección del código un número determinado de veces

• El código que necesita ser ejecutado repetidas veces es ingresado en el lazo.

• El número de iteraciones se especifica en la N del cuadro si es cero el lazo no se ejecutará

• i es un contador ascendente

• Los datos salen del ciclo por un túnel, si este tiene habilitado el indexado saldrá un arreglo si no, saldrá el último valor que entre a él

FOOR LOOP

FOR LOOP

• Es utilizado para crear arreglos y para separarlos, lo que permite trabajar elemento por elemento del array.

• El auto-indexado puede manejar arreglos de más de una dimensión

• Con un lazo dentro de otro se crean arreglos de dos dimensiones donde el lazo interior dará el número de columnas y el de fuera el de filas.

FOR LOOP

FOR LOOP

• Simular el llenado de un tanque utilizando la estructura FOR LOOP

FOR LOOP

•Gráfica de 100 números aleatorios entre 10 y 50

FOR LOOP

• While Loop y Foor Loop es necesario pasar datos entre interacciones

• Shift Registers permiten almacenar los datos que ingresaron a él en un registro.

• Permite retroalimentar los valores para la nueva ejecución

• 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 numéricos y la próxima ves que se ejecute el programa el primer valor que entregue será el último que llegó al registro

SHIFT REGISTER

SHIFT REGISTER

SHIFT REGISTER

• Están formados por un par de terminales que se adaptan a cualquier tipo de dato y que están localizados a cada lado de los bordes de la estructura

SHIFT REGISTER

SHIFT REGISTER

• El comportamiento del Shift Register con elementos adicionados

SHIFT REGISTER

• Para poder tener acceso a iteraciones anteriores se debe adicionar elementos al registro de desplazamiento.

SHIFT REGISTER – EJEMPLO

• Sumar los números entre 1 y 100

SHIFT REGISTER - EJEMPLO

• Promediar los dos últimos datos aleatorios

• Se encuentra en la paleta de estructuras

• Luce como un cuadro de película cuando se lo posiciona

• Permite una ejecución progresiva en relación al orden establecido

en ella. Los objetos ubicados en el primer cuadro se ejecutaran

primero y así sucesivamente

• Se le pueden añadir cuadros haciendo clic derecho sobre la

estructura e indicando “Add Frame” estos se pueden ubicar antes o

después del cuadro actual

SEQUENCE STRUCTURE

• Se pueden pasar datos de un cuadro a otro usando secuencias locales (disponible en el menú rápido) donde la flecha en ellas indica si el dato esta ingresando en la secuencia o saliendo de ella y su color representa el tipo de dato.

• La secuencia local esta disponible en todos los cuadros

• Los datos salen de la estructura por túneles pero el dato saldrá por ellos solo cuando todos los cuadros culminen

SEQUENCE STRUCTURE

SEQUENCE STRUCTURE

• En la parte superior del marco de cada estructura se encuentra el identificador de diagrama que es utilizado para navegar entre frames.

SEQUENCE STRUCTURE

• Se puede añadir o borrar casos accediendo al menú rápido y seleccionando:

– Add case after o before

– Delete this case

SEQUENCE STRUCTURE

SEQUENCE STRUCTURE

SEQUENCE STRUCTURE

SEQUENCE STRUCTURE

SEQUENCE STRUCTURE

Determinar el tiempo que la PC demora en generar 10000 datos aleatorios

SEQUENCE STRUCTURE

SEQUENCE STRUCTURE - EJEMPLO

• Es una estructura condicional

• Se ejecutará el caso correspondiente a su entrada

• Si el caso no esta especificado se ejecuta el que esta por defecto

CASE STRUCTURE

CASE STRUCTURE

CASE STRUCTURE

CASE STRUCTURE

CASE STRUCTURE

Los datos en todos los túneles de entrada y en el terminal de selección pueden ser accedidos por todos los subdiagramas de casos

Para que un túnel de salida este completo se le debe alimentar desde todos los casos

CASE ESTRUCTURE

A partir de dos entradas numéricas y un control tipo menú con las opciones suma, resta, multiplicación y división, se busca generar una salida enseñe su resultado

CASE ESTRUCTURE - EJEMPLO

CASE ESTRUCTURE - EJEMPLO

CASE ESTRUCTURE - EJEMPLO

CASE STRUCTURE - EJEMPLO

• Calcular la raíz cuadrada de un número. Si la raíz existe se proporcionará un valor. De no existir (número imaginario), aparecerá un mensaje acorde a la situación.

CASE STRUCTURE - EJEMPLO

• Es un contenedor de formulas matemáticas.

• Acepta lenguaje c.

• Las variables de la fórmula deben ser especificadas como entradas o salidas en sus paredes con Add input o Add output para que se creen los terminales para estos datos.

• Todas las entradas deben ser conectadas para que se ejecute.

• Cualquier expresión debe terminar con “;”

• En el Context Help se encuentran las funciones que se puede usar.

• Las operaciones son compiladas internamente y ahorra espacio en el diagrama de bloques.

FORMULE NODE

FORMULE NODE - EJEMPLO

Se realizará en forma convencional y con un nodo de fórmula el cálculo de la Suponiendo conocidos x e y.

2xz yy

FORMULE NODE

SubVIs

•Que es un subVI?

• Elaboración de un icono y un conector para un subVI

•Utilizando un VI como un subVI

Nodos del Diagrama de Bloques

Icono Nodo Expandible Nodo Expandido

• VI de Generador de Funciones

• El mismo VI, visto en tres maneras

diferentes.

• El campo amarillo designa un VI Estándar.

• El campo azul designa un VI Expreso

top related