UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE-L INGENIERIA MECATRÓNICA
Jiménez Arturo
1
1. TEMA:
SOFTWARE PARA EL MANEJO Y ADQUISICIÓN DE DATOS PROCEDENTES DE INSTRUMENTOS
2. OBJETIVOS:
Saber que Software nos permitirán realizar el manejo y adquisición de datos procedentes de instrumentos
Reconocer el funcionamiento de diferentes Software para el manejo y adquisición de datos procedentes de instrumentos
3. MARCO TEÓRICO:
LabVIEW En LabVIEW (acrónimo de Laboratory Virtual Instrumentation Engineering Workbench) es una plataforma y entorno de desarrollo para diseñar sistemas, con un lenguaje de programación visual gráfico. Recomendado para sistemas hardware y software de pruebas, control y diseño, simulado o real y embebido, pues acelera la productividad. El lenguaje que usa se llama lenguaje G, donde la G simboliza que es lenguaje Gráfico.
2
Fig. 1 LabVIEW
Este programa fue creado por National Instruments (1976) para funcionar sobre máquinas MAC, salió al mercado por primera vez en 1986. Ahora está disponible para las plataformas Windows, UNIX, MAC y GNU/Linux. La penúltima versión es la 2013, con la increíble demostración de poderse usar simultáneamente para el diseño del firmware de un instrumento RF de última generación.
Principales características Su principal característica es la facilidad de uso, válido para programadores profesionales como para personas con pocos conocimientos en programación
pueden
hacer
programas
relativamente
complejos,
imposibles para ellos de hacer con lenguajes tradicionales. También es muy rápido hacer programas con LabVIEW y cualquier programador, por experimentado que sea, puede beneficiarse de él. Los programas en 3
LabView son llamados instrumentos virtuales (VIs) Para los amantes de lo complejo, con LabVIEW pueden crearse programas de miles de VIs (equivalente a millones de páginas de código texto) para aplicaciones complejas, programas de automatizaciones de decenas de miles de puntos de entradas/salidas, proyectos para combinar nuevos VIs con VIs ya creados, etc. Incluso existen buenas prácticas de programación para optimizar el rendimiento y la calidad de la programación. El labView 7.0 introduce un nuevo tipo de subVI llamado VIs Expreso (Express VIS). Estos son VIs interactivos que tienen una configuración de caja de diálogo que permite al usuario personalizar la funcionalidad del VI Expreso. El VIs estándar son VIs modulares y personalizables mediante cableado y funciones que son elementos fundamentales de operación de LabView. Presenta facilidades para el manejo de: Interfaces de comunicaciones:
4
Puerto serie
Puerto paralelo
GPIB
PXI
VXI
TCP/IP, UDP, DataSocket
Irda
Bluetooth
USB
OPC.
Capacidad de interactuar con otros lenguajes y aplicaciones:
DLL: librerías de funciones
.NET
ActiveX
Multisim
Matlab/Simulink
AutoCAD, SolidWorks, etc
Herramientas gráficas y textuales para el procesado digital de señales. Visualización y manejo de gráficas con datos dinámicos. Adquisición y tratamiento de imágenes. Control de movimiento (combinado incluso con todo lo anterior). Tiempo Real estrictamente hablando. Programación de FPGAs para control o validación. Sincronización entre dispositivos.
Programa en LabVIEW Como se ha dicho es una herramienta gráfica de programación, esto significa que los programas no se escriben, sino que se dibujan, facilitando su comprensión. Al tener ya pre-diseñados una gran cantidad de bloques, se le facilita al usuario la creación del proyecto, con lo cual en vez de estar una gran cantidad de tiempo en programar un dispositivo/bloque, se le permite invertir mucho menos tiempo y dedicarse un poco más en la interfaz gráfica y la interacción con el usuario final. Cada VI consta de dos partes diferenciadas:
5
Panel Frontal: El Panel Frontal es la interfaz con el usuario, la utilizamos para interactuar con el usuario cuando el programa se está ejecutando. Los usuarios podrán observar los datos del programa actualizados en tiempo real(como van fluyendo los datos, un ejemplo sería una calculadora, donde tu le pones las entradas, y te pone el resultado en la salida). En esta interfaz se definen los controles (los usamos como entradas, pueden ser botones, marcadores etc.) e indicadores (los usamos como salidas, pueden ser gráficas.). Diagrama de Bloques: es el programa propiamente dicho, donde se define su funcionalidad, aquí se colocan íconos que realizan una determinada función y se interconectan (el código que controla el programa --. Suele haber una tercera parte icono/conector que son los medios utilizados para conectar un VI con otros VIs. — En el panel frontal, encontraremos todo tipos de controles o indicadores, donde cada uno de estos elementos tiene asignado en el diagrama de bloques una terminal, es decir el usuario podrá diseñar un proyecto en el panel frontal con controles e indicadores, donde estos elementos serán las entradas y salidas que interectuaran con la terminal del VI. Podemos observar en el diagrama de bloques, todos los valores de los controles e idicadores, como van fluyendo entre ellos cuando se está ejecutando un programa VI. El Diagrama de Bloques de un programa en el que se genera un array de 100 elementos aleatorios, a continuación se hace la FFT de este array y se muestra en una gráfica: 6
Fig. 2 Diagrama de bloques
Principales razones para Usar LabVIEW para Control de Instrumentos a) Reduzca el Tiempo de Desarrollo de Pruebas con Programación Gráfica e Intuitiva En el entorno de desarrollo gráfico NI LabVIEW, puede desarrollar software de pruebas usando íconos gráficos de clic-y-arrastre en lugar de escribir líneas de texto. Usando LabVIEW usted puede completar en horas programas que toman semanas escribir en lenguajes tradicionales, aún sin tener experiencia en programación. Una representación intuitiva de flujo de datos muestra su código de tal manera que es fácil desarrollar, mantener y comprender.
b) Automatice
Rápidamente
Cualquier
Controladores de Instrumentos Gratis
7
Instrumento
Usando
La comunidad Red de Controladores de Instrumentos (IDNet) tiene miles de controladores de instrumentos de LabVIEW gratis para prácticamente
cualquier
instrumento.
Los
APIs
controladores
consistentes eliminan la necesidad de aprender comandos de instrumentos de bajo nivel específicos para cada instrumento. El Buscador de Controladores de Instrumentos de LabVIEW le ayuda a instalar controladores en segundos directamente desde su entorno de desarrollo.
c) Integre con Software para Administración de Pruebas Como NI TestStand Probablemente está buscando tecnologías como multicore y arreglos de compuertas programable en campo (FPGAs) para cumplir con los requerimientos de rendimiento de los últimos productos en su sistema de pruebas. LabVIEW le ayuda a aprovechar el rendimiento del procesador multicore con programación gráfica que es esencialmente paralela. Con LabVIEW, puede programar FPGAs más fácilmente ya que no necesita aprender otro lenguaje de programación como VHDL.
ARDUINO: Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares. El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores más usados son el Atmega168, 8
Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing /Wiring y el cargador de arranque que es ejecutado en la placa.4 Desde octubre de 2012, Arduino se usa también con microcontroladoras CortexM3 de ARM de 32 bits, que coexistirán con las más limitadas, pero también económicas AVR de 8 bits. ARM y AVR no son plataformas compatibles a nivel binario, pero se pueden programar con el mismo IDE de Arduino y hacerse programas que compilen sin cambios en las dos plataformas. Eso sí, las microcontroladoras CortexM3 usan 3,3V, a diferencia de la mayoría de las placas con AVR que generalmente usan 5V. Sin embargo ya anteriormente se lanzaron placas Arduino con Atmel AVR a 3,3V como la Arduino Fio y existen compatibles de Arduino Nano y Pro como Meduino en que se puede conmutar el voltaje. Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software tal como Adobe Flash, Processing,Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente. Arduino puede tomar información del entorno a través de sus entradas analógicas y digitales, puede controlar luces, motores y otros actuadores. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un computador. 9
Fig. 3 Arduino
APLICACIONES La El módulo Arduino ha sido usado como base en diversas aplicaciones electrónicas: Xoscillo: Osciloscopio de código abierto. Equipo científico para investigaciones. Arduinome: Un dispositivo controlador MIDI. OBDuino: un económetro que usa una interfaz de diagnóstico a bordo que se halla en los automóviles modernos. Humane Reader: dispositivo electrónico de bajo coste con salida de señal de TV que puede manejar una biblioteca de 5000 títulos en una tarjeta microSD.17 The Humane PC: equipo que usa un módulo Arduino para emular un computador personal, con un monitor de televisión y un teclado para computadora.18 Ardupilot: software y hardware de aeronaves no tripuladas. 10
ArduinoPhone: un teléfono móvil construido sobre un módulo Arduino.19 20 Impresoras 3D.
ENTRADAS Y SALIDAS Poniendo de ejemplo al módulo Diecimila, éste consta de 14 entradas digitales configurables como entradas y/o salidas que operan a 5 voltios. Cada contacto puede proporcionar o recibir como máximo 40 mA. Los contactos 3, 5, 6, 9, 10 y 11 pueden proporcionar una salida PWM (Pulse Width Modulation). Si se conecta cualquier cosa a los contactos 0 y 1, eso interferirá con la comunicación USB. Diecimila también tiene 6 entradas analógicas que proporcionan una resolución de 10 bits. Por defecto, aceptan de 0 hasta 5 voltios, aunque es posible cambiar el nivel más alto, utilizando el contacto Aref y algún código de bajo nive l.
MATLAB MATLAB dispone también en la actualidad de un amplio abanico de programas de apoyos especializados, denominados Toolboxes, que extienden significativamente el número de funciones incorporadas en el programa principal. Estos Toolboxes cubren en la actualidad prácticamente casi todas las áreas principales en el mundo de la ingeniería y la simulación, destacando entre ellos el 'toolbox' de proceso de imágenes, señal, control robusto, estadística, análisis financiero, matemáticas simbólicas, redes neurales, lógica difusa, identificación de sistemas, 11
simulación de sistemas dinámicos, etc. es un entorno de cálculo técnico, que se ha convertido en estándar de la industria, con capacidades no superadas en computación y visualización numérica.
Fig. 4 MATLAB De forma coherente y sin ningún tipo de fisuras, int egra los requisitos claves de un sistema de computación técnico: cálculo numérico, gráficos, herramientas para aplicaciones específicas y capacidad de ejecución en múltiples plataformas. Esta familia de productos proporciona al estudiante un medio de carácter único, para resolver los problemas más complejos y difíciles. Con su amplio rango de herramientas para modelar sistemas de control, análisis, simulación y procesamiento de prototipos, MATLAB es el sistema ideal para desarrollar sistemas avanzados de control. Usted puede modelar su sistema de control usando las cajas de herramientas para el diseño de 12
controles avanzados de MATLAB - Control System, Robust Control, µ Analysis and Synthesis, Model Predictive Control, QTF Control Design y LMI control. Posteriores análisis y refinamientos pueden ser efectuados estableciendo una simulación interactiva en Simulink, y luego sintonizar automáticamente los parámetros usando el Nonlinear Control Design Blockset. Finalmente, usted puede generar código C para correr en controladores incrustados con Real Time Workshop. Combinando MATLAB con Signal Processing Toolbox, Wavelet Toolbox y un conjunto de herramientas complementarias - tales como Image Processing, Neural Network, Fuzzy Logic, Statistics y otras - usted puede crear un ambiente de análisis personalizado de señales y desarrollo de algoritmos DSP. Para simulación y desarrollo de prototipos usted puede agregar Simulink y el DSP Blockset para modelar y simular sus sistemas DSP, y luego usar Real-Time Workshop para generar código C para su hardware designado.
SALIDAS O PRESENTACIONES
13
Fig. 5 Graficas en 3D
MATLAB provee acceso inmediato a las características gráficas especializadas requeridas en ingeniería y ciencias. Potente graficación orientada a objetos
gráficos le permite graficar los resultados de su
análisis, incorporar gráficos en sus modelos de sistemas, rápidamente presentar complejos 3-D objetos, y crear resultados de presentación, entre lo cual se destaca: Representaciones 2-D y 3-D, incluyendo datos triangulados y reticulados Representaciones 3-D quiver, ribbon, y stem Control de fuentes, letras Griegas, símbolos, subíndices y superíndices Selección expandida de símbolos marcadores de curvas Gráficos de torta, de barras 3-D y gráficos de barras horizontales Gráficos 3-D y sólido modelado 14
Representación de imágenes y archivos I/O Gráficos comentados Leer/Escribir archivos de datos Hierarchical Data Format (HDF) Presentación de OpenGL software y hardware Animación Display de buffer x rápido y exacto Soporte de colores verdaderos (24-bit RGB) Fuentes múltiples de luz para superficies coloreadas Vista basada en cámara y control de perspectiva Iluminación Plana, Gouraud y Phong Soporte eficiente de imagen de datos de 8-bit Control de eje y cámara Propiedades de superficie y patch Modelos de iluminación Control gráfico de objetos Impresión y representación de copias Formatos gráficos exportables Soporte de publicación de escritorio
I/O Directo de Datos Usted puede ingresar y sacar datos de f MATLAB rápidamente. Las funciones están disponibles para leer y escribir archivos de datos formateados en MATLAB, llamados archivos MAT. Funciones adicionales ejecutan programas ASCII e I/O binario de bajo nivel desde los archivos de programas M, C, y Fortran, permitiéndole trabajar con todos los for matos de 15
datos. MATLAB también incluye soporte incorporado para formatos populares de archivos estándar.
Computación Simbólica Integrada Integrando el motor simbólico Maple V® con MATLAB, los Symbolic Math Toolboxes le permiten mezclar libremente computación simbólica y numérica una sintaxis simple e intuitiva. Análisis de Datos Confiable, Rápido y Exacto Los métodos usados comúnmente para análisis de datos multidimensional generalizados 1-D, 2-D están incorporados en MATLAB. Interfaces gráficas fáciles de usar, específicas para aplicaciones, la línea de comando interactiva y herramientas de programación estructuradas le permiten elegir el mejor camino para sus tareas de análisis.
Análisis de Datos para DSP MATLAB ofrece muchas herramientas para realizar la funcionalidad indispensable en procesamiento de señales, tales como Transformadas Rápidas Fourier y Transformadas Rápidas Inversas de Fourier. La visualización de datos de procesamiento de señales está soportada por funciones tales como gráficos stem
y periodogramas. El lenguaje de
MATLAB, inherentemente orientado a matrices hace que la expresión de coeficientes de filtros y demoras de buffers sean muy simples de expresar y comprender.
Análisis de Datos en Aplicaciones de Imágenes
16
MATLAB y la Image Processing Toolbox ofrece un amplio conjunto de herramientas que le permite fácilmente manipular, procesar y analizar datos de imágenes, interactivamente mostrar pantallas de imágenes 2-D o 3-D, visualizar datos temporarios cuando es necesario, y comentar sus resultados para publicaciones técnicas. La orientación basada en matrices del lenguaje de
MATLAB le permite expresar en forma compacta
operaciones matemáticas de forma similar a cómo las expresaría sobre papel. Como resultado, es fácil e intuitivo efectuar procesamiento de imágenes
y operaciones de análisis tales como FFTs, filtrado 2-D,
morfología binaria, manipulación geométrica, conversión de espacios de colores, compresión, análisis de componentes conectados y más.
4. Conclusiones: En el entorno de desarrollo gráfico NI LabVIEW, puede desarrollar software de pruebas usando íconos gráficos de clic-y-arrastre en lugar de escribir líneas de texto. Usando LabVIEW usted puede completar en horas
programas
que
toman
semanas
escribir
en
lenguajes
tradicionales, aún sin tener experiencia en programación. Una representación intuitiva de flujo de datos muestra su código de tal manera que es fácil desarrollar, mantener y comprender. Debido Arduino puede tomar información del entorno a través de sus entradas analógicas y digitales, puede controlar luces, motores y otros actuadores.
17
Se puede ingresar y sacar datos de f MATLAB rápidamente. Las funciones están disponibles para leer y escribir archivos de datos formateados en MATLAB, llamados archivos MAT.
Bibliografía Matlabkew. (2014). Recuperado el 26 de 2 de 2015, de http://www.Matlab.mx/matlab.php (s.f.). Funciones polinómicas f. e. m. En A. Creus, INSTRUMENTACIÓN INDUSTRIAL (págs. 268, 287). Mexico: Alfaomega. Wikipedia. (2014). Arduino. Recuperado el 26 de 02 de 15, de http://es.wikipedia.org/wiki/Arduino Wikipedia. (2014). LabVIEW. Recuperado el 26 de 02 de 1 5, de http://es.wikipedia.org/wiki/ LabVIEW
18