Principios de labview

3,870
-1

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,870
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
222
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Principios de labview

  1. 1. “ANÁLISIS DE SOFTWARE PARA DESARROLLO ENTORNO GRÁFICO LABVIEW Y PROPUESTA DE IMPLEMENTACIÓN PARA LABORATORIO EN EL INSTITUTO DE ELECTRICIDAD Y ELECTRÓNICA EN UNIVERSIDAD AUSTRAL DE CHILE” Trabajo de Titulación para optar al Título de Ingeniero Electrónico PROFESOR PATROCINANTE: Sr. Pedro Rey Clericus RODRIGO GONZÁLEZ CAYUFILO RODRIGO PRADINES PINO Valdivia, Diciembre 2007 UNIVERSIDAD AUSTRAL DE CHILE FACULTAD DE CIENCIAS DE LA INGENIERÍA ESCUELA DE ELECTRICIDAD Y ELECTRÓNICA
  2. 2. ii PROFESOR PATROCINANTE PEDRO REY CLERICUS …………………………………. PROFESORES INFORMANTES NÉSTOR FIERRO MORINEAUD ………………………………… RICARDO GUTIÉRREZ ZÚÑIGA ………………………………… FECHA ………………………………….
  3. 3. iii Agradecimientos Me puse a pensar a quién podría agradecer. Se me hizo un nudo en la garganta. Y me puse a llorar. Entonces, decidí agradecer: A Dios. A mi familia. A mis profesores A mis compañeros/as. A mis amigos/as. Y a toda persona que ha intervenido en mi andar por la vida. A todos ellos, gracias por el constante apoyo en este importante logro. Luego, me puse a pensar todo lo nuevo que podría venir. Desapareció el nudo. Y una sonrisa, quiso ser parte de estas líneas. Rodrigo Pradines Pino Agradezco a todos y cada una de las personas que me acompañaron y apoyaron a cada momento, es gracias a ellos que todo esto se hizo posible. Agradezco a Rosa y Scarlett, mi familia, a Corina por darme las fuerzas y llegar en el momento justo, profesores, amigos y compañeros por la paciencia prestada durante este periodo por los momentos de alegría vividos, pero más aun por estar en los momentos de tristeza, es gracias a ellos que ahora puedo sonreír. Una nueva etapa comienza llego el momento de empezar a vivirla. Rodrigo Edgardo González Cayufilo
  4. 4. iv Índice de Materia Págs. Comisión de Titulación……………………………………………………………….… ii Agradecimientos………………………………………………………………………... iii Índice de Materias………………………………………………………………….…... iv - vi Índice de Fotos e Imágenes…………………………………………….......................... vii - ix Índice de Tablas………………………………………………………………………... x Resumen………………………………………………………………………………... xi Abstract…………………………………………………………………………….…... xii I. Introducción…………………….………………………………………………. 1 1.1 Introducción………..……………………………………………….. 2, 3 II. Objetivos…………………………………………………………………..……. 4 2.1 Objetivos Generales…………………………………….………….. 5 2.2 Objetivos Específicos….………………………………….………... 5 - 8 III. El problema y su importancia…………….…………………………………….. 9 3.1 Definición del problema….…………………………………………. 10, 11 3.2 Problema del sistema….…………………………………………….. 11 3.3 Solución propuesta….………………………………………………. 11 - 12 IV. Marco teórico y referencial….…………………………………………………... 13 4.1 Compendio del capítulo……….…………………………………….. 14 4.2 LabVIEW y su importancia…………………………………………. 14 - 15 4.3 Principales usos………..…………………………………………….. 16 4.4 Principales características…..………………………………………... 16 - 17 4.5 Hardware de adquisición de datos (DAQ)……..……………………. 17 - 18 4.5.1 National Instruments y Measurement Computing ………………. 18 - 20 V. Análisis del Software – LabVIEW………..……………………………………… 21 5.1 Resumen del capítulo………………..……………………………….. 22
  5. 5. v 5.2 ¿Qué es un VI?...................................................................................... 22 5.3 Creando un VI………………………………………………………… 22 - 26 5.4 ¿Cómo ejecutar un VI?.......................................................................... 26 - 28 5.5 Tipos de datos……………………………………………………….... 28 5.6 Sub rutina o Sub VI………….………………………………………... 32 - 33 5.7 Estructuras de control…………………………….…………………… 34 - 39 5.8 Registro de desplazamiento……………….………………………….. 39 - 41 5.9 Nodo de fórmula…………..…………………………………………… 41 - 43 5.10 Arreglos y cluster…………………………………………………….. 43 - 46 5.11 Indicadores gráficos…..…….………………………………………... 46 - 50 5.12 Archivos I/O………………………………………………………….. 50 - 53 5.13 Variables locales y globales………………………………………….. 54 - 58 VI. Análisis Experimental…………………………………………..……………….. 59 6.1 Resumen del capítulo………….…………………………………….… 60 6.2 Instalación………….……………………………………………….…. 60 - 64 6.3 Análisis…………..………………………………………………….…. 64 - 79 VII. Proyecto laboratorio….…………………………………………………………… 80 7.1 Proyecto laboratorio………………………………………………….… 81 7.2 Resumen del proyecto…………..…………………………………….… 82 7.3 Objetivos………………………………………………………………… 82 7.3.1 Objetivos Generales ………………………….…………………. 82 7.3.2 Objetivos Específicos….……...……………………………….… 82-83 7.4 Actividades concretas para lograr los objetivos……………………..…. 83 7.5 Problema que busca resolver el proyecto...………………………….…. 83 7.6 Resultados esperados…….………………………………………….…... 84 7.7 Situación con y sin proyecto………………..………………………..…. 85 7.8 Equipamiento necesario para implementación del laboratorio.....……… 86 7.9 Espacio físico del laboratorio……………………………………….…... 86 - 89 7.10 Aplicaciones realizadas con LabVIEW……………………………..…. 89 7.11 LabVIEW a cualquier red industrial y PLC……………………………. 89 7.12 E/S digital y análoga básica.………………..……………………….…. 89 - 91
  6. 6. vi 7.13 Modbus TCP y Modbus Serial…………………………………………. 91 7.14 Tarjetas de comunicación insertables……..…………….....…………… 92 7.14.1 Interfaces DeviceNet…………………...…………………….….... 92 - 93 7.14.2 Configuración DeviceNet de NI………...………………….…....... 94 7.14.3 Analizador DeviceNet de NI ……………………...………..…...... 95 7.14.4 Interfaces CANopen……………………...………………….….... 94 - 95 7.14.5 Interfase serial (RS232, RS422, y RS485)………......……………. 95 - 96 7.14.6 Productos Seriales de National Instruments.….…...………..…..... 96 7.14.7 Interfaces Profibus.…………………………...…………..…......... 97 7.14.8 OPC……………..……………………...…………………….…... 97 - 98 7.14.9 LabVIEW como un servidor OPC………………...………………. 98 7.14.10 Agregando la funcionalidad de cliente OPC a LabVIEW……….. 98 – 99 7.14.11 Publicando Datos a partir de los Dispositivos de Adquisición de Datos de NI (DAQ) con un Servidor OPC……………........... 99 7.14.12 Publicando Datos de NI Fieldpoint y CompactFieldPoint con un Servidor OPC………………………………………………... .. 99 7.14.13 Convertidores de Terceros……………………………...………… 99 – 103 7.15 Toolkit de LabVIEW para LEGO® MINDSTORMS® NXT………. 104 – 105 7.16 Monitoreo y Control de una Línea Neumática en una Planta de ensamble automotriz ……………………………………….............. 106 7.16.1 Hardware…………………………….….…...…………....…… 106 7.16.2 Software.…………………………...…………..…................... 107-108 VIII. Conclusiones………………………………………………………….. .. 109 Conclusiones..……………………………...…………..….................... 110 – 111 IX. Glosario ………………………………………………………………… 112 9.1 Glosario …………………………………………………………. 113 X. Referencia Bibliográfica …………………………………………………114 10.1 Linkografía …………………………………………………….. 115 XI. Anexo…………………………………………………………………… 116 Anexo 1 Plantas simulación laboratorio...…………..…...................... 117 - 122 Anexo 2 Cotizaciones…………………...…………..…...................... 123 - 127
  7. 7. vii Índice de Fotos e Imágenes Págs. Figura 4.1 Diagrama adquisición de datos basada en PC 18 Figura 4.2 Modelo: USB - 1208FS 18 Figura 4.3 Modelo: USB – 6008 18 Figura 4.4 DAQ 19 Figura 4.5 Software InstaCal 20 Figura 4.6 Librería Universal LabVIEW 7.11a 20 Figura 5.1 Ventana inicio nuevo VI 22 Figura 5.2 Panel frontal 23 Figura 5.3 Diagrama de bloque 23 Figura 5.4 Controles de entrada 23 Figura 5.5 Indicadores de salida 24 Figura 5.6 Menú Paletas de Controles y Herramientas 25 Figura 5.7 Paleta de controles 25 Figura 5.8 Paleta de herramientas 25 Figura 5.9 Menú paleta de funciones 26 Figura 5.10 Paleta de funciones 26 Figura 5.11 Visualización de paletas 26 Figura 5.12 Panel control Compuertas Lógicas 27 Figura 5.13 Diagrama de bloques Compuertas Lógicas 28 Figura 5.14 Esquema Tipos de datos 28 Figura 5.15 Controles e Indicadores booleanos 29 Figura 5.16 Diferentes representaciones para los datos numéricos 30 Figura 5.17 Datos alfanuméricos Panel de control 30 Figura 5.18 Datos alfanuméricos Diagrama de bloque 30 Figura 5.19 Ejemplo Dato alfanumérico Panel de control 31 Figura 5.20 Ejemplo Dato alfanumérico Diagrama de bloque 31 Figura 5.21 Ejemplo suma de dos números 31 Figura 5.22 Ejemplo Concatenate strings Panel de control 32 Figura 5.23 Concatenate strings Diagrama de bloques 32 Figura 5.24 Show connector 33 Figura 5.25 Icono show connector 33 Figura 5.26 Terminal asignado Icono show connector 34 Figura 5.27 Edit Icono show connector 34 Figura 5.28 Icono ejemplo Show Connector 34 Figura 5.29 Estructuras 35 Figura 5.30 Case Structure (Estructura Caso) 36 Figura 5.31 Conector serial de 9 pines 37 Figura 5.32 Pines conector serial rs-232 38 Figura 5.33 Ejemplo inicialización puerto serie 38 Figura 5.34 Ejemplo escritura puerto serie 39 Figura 5.35 Ejemplo delay puerto serie 39 Figura 5.36 Ejemplo lectura puerto serie 39
  8. 8. viii Figura 5.37 Ejemplo test puerto serial 40 Figura 5.38 Add shif register 41 Figura 5.39 For While 41 Figura 5.40 Ejemplo registro desplazamiento 42 Figura 5.41 Ejemplo nodo fórmula 42 Figura 5.42 Ejemplo práctico nodo fórmula (panel frontal) 43 Figura 5.43 Ejemplo práctico nodo fórmula (diagrama de bloques) 44 Figura 5.44 Arreglos 45 Figura 5.45 Iconos cluster 46 Figura 5.46 Gráfico Waveform Graph - Chart 48 Figura 5.47 Ejemplo Waveform Graph (panel frontal) 48 Figura 5.48 Ejemplo Waveform Graph (diagramade bloques) 49 Figura 5.49 Gráfico Intensity Graph – Chart 49 Figura 5.50 Gráfico Digital Waveform Graph (panel frontal) 50 Figura 5.51 Gráfico Digital Waveform Graph (diagrama de bloques) 50 Figura 5.52 Gráfico XY Graph (panel frontal) 50 Figura 5.53 Gráfico 3D Graph 51 Figura 5.54 Ejemplo práctico con Waveform Graph 52 Figura 5.55 Generación de números aleatorios 52 Figura 5.56 Tone measurement 53 Figura 5.57 Verificación del rango establecido 53 Figura 5.58 Etapa guarda valor 53 Figura 5.59 Ejemplo archivos I/O (diagrama de bloques) 54 Figura 5.60 Pulsadores 56 Figura 5.61 Menú Mechanical Action 56 Figura 5.62 Variables locales (diagrama de bloques) 57 Figura 5.63 Variables Globales (panel frontal) 58 Figura 5.64 Variables Globales (diagrama de bloques) 58 Figura 6.1 Instalación software InstaCal 62 Figura 6.2 Configuración InstaCal Paso 1 62 Figura 6.3 Configuración InstaCal Paso 2 63 Figura 6.4 Descompresión ULforLV711a 64 Figura 6.5 Topología del sistema de monitoreo 65 Figura 6.6 Paleta controles Containers 65 Figura 6.7 Paleta de herramientas 66 Figura 6.8 Tab control 66 Figura 6.9 Ejemplo Tab control 66 Figura 6.10 Controles MCC Data Acquisition 67 Figura 6.11 Bloque AIn 67 Figura 6.12 Bloque ToEng 68 Figura 6.13 Bloque ErrMsg 68 Figura 6.14 Etapa simulación de la DAQ 1208FS 68 Figura 6.15 Subsistema de almacenamiento 69 Figura 6.16 Alarma visual (panel frontal) 70 Figura 6.17 Alarma sonora (diagrama de bloques) 70 Figura 6.18 Pantalla principal Sistema Monitoreo (panel frontal) 71
  9. 9. ix Figura 6.19 Pantalla nivel de presión 72 Figura 6.20 Pantalla nivel de agua 72 Figura 6.21 Pantalla nivel temperatura de petróleo 73 Figura 6.22 Diagrama general elaboración harina de pescado 74 Figura 6.23 Pozos – Cocedores – Prensa (Tramo 1) 75 Figura 6.24 Separadoras – Desborradoras (Tramo 2) 76 Figura 6.25 Planta Evaporadora (Tramo 3) 77 Figura 6.26 Secadores a Vapor (Tramo 4) 78 Figura 6.27 Homogenizadores – Ensaque (Tramo 5) 79 Figura 7.1 Entrada laboratorio 85 Figura 7.2 Mobiliario laboratorio 86 Figura 7.3 Equipamiento laboratorio 86 Figura 7.4 CompactRIO de NI y Allen-Bradley Control Logix Integration con E/S Digital 90 Figura 7.5 Interfases DeviceNet de Conexión Directa de National Instruments 92 Figura 7.6 Interfases CANopen de National Instruments 94 Figura 7.7 Interfases Seriales de National Instruments 96 Figura 7.8 OPC está diseñado para mejorar la conectividad del sistema empresarial. 97 Figura 7.9 Convertidores de Terceros Proveedores de HMS, Hilscher, y Woodhead 99 Figura 7.10 LabVIEW y LEGO 103 Figura 7.11 Robótica LEGO y LabVIEW 104 Figura 7.12 Monitoreo y Control de una Línea Neumática en una Planta de Ensamble Automotriz 107 Figura 9.1 Diseño planta 1 113 Figura 9.2 Diseño planta 2 113 Figura 9.3 Diseño planta 3 114 Figura 9.4 Diseño planta 4 114 Figura 9.5 Diseño planta 5 115 Figura 9.6 Diseño planta 6 115 Figura 9.7 Diseño planta 7 116 Figura 9.8 Diseño planta 8 116 Figura 9.9 Diseño todas las plantas 117
  10. 10. x Índice de Tablas Tabla 5.1 Tabla Estructuras 35 Tabla 7.1 Situación con y sin proyecto 84 Tabla 7.2 Costos implementación laboratorio 85
  11. 11. xi Resumen Una de principales necesidades de la empresa de hoy es el control total o parcial de sus actividades, esto se traduce en un mejor rendimiento tanto del equipamiento de la industria así como de los mismos trabajadores que son parte del proceso. Es por ello que para nuestro trabajo de titulación hemos considerado el diseño de un instrumento virtual que se complemente y ajuste a las necesidades y actividades de la empresa actual teniendo como principales objetivos la necesidad de centralizar determinados procesos y abriendo además la posibilidad de gradualmente abarcar la totalidad de los procesos realizados en una planta pesquera. El diseño de dicho instrumento se traduce en un mayor control de las actividades y por ende un mayor aprovechamiento de los recursos lo cual es uno de los principales objetivos de la empresa moderna. Pero para lograr dicho instrumento se necesito una herramienta que para nuestro caso se titula LabVIEW el cual es proporcionado por la empresa internacional National Instruments. Dicha herramienta es un poderoso software con una plataforma gráfica de diseño de sistemas para el desarrollo de pruebas, control y diseño de sistemas embebidos entre otros. Sin embargo, antes de realizar dicho instrumento virtual y debido a que es un software poco utilizado, nos vemos en la necesidad de realizar una reseña de este con la finalidad de acercar tanto al profesorado así como a los mismos alumnos a los conceptos básicos para la utilización del software lo cual permite un mayor entendimiento del trabajo realizado. Finalmente, se proyecta la implementación de un laboratorio dedicado única y exclusivamente a la utilización del software en automatización con trabajos en tiempo real, analizando las necesidades para conseguir su implementación, así como para aplicaciones y ventajas que este ofrecería en laboratorios e industrias.
  12. 12. xii Abstract One of the mains necesities of today's companies, its to have total or parcial control of their activities, this translate into a better performance of the industry equipment as well as their workers wich are part of the process. That's why that we have consider for our intership, the design of a virtual instrument that will complement, and adjust to the necesitiesand activities of today's companies having as a main object the necesity of focusing in certains process, and opening the posibilities of slowly incorporate the totally of the process done in pesquera by using this instrument it translate into a higher contro of the activities, and as a result a better usage of the resources which is one of the goals of the modern companies. We are working with a tool that we have named labview which is giving to us by the international natinal instrument these tool its a powerful software with a graphic platform of design of sistems to develop test, control, and design of embebid sistems just to name a few. However, before making such a virtual instrument and because it is a little-used software, we feel the need to make a review of this, with the aim of bringing both teachers and the students themselves to the basic concepts for its use, which allows for a greater understanding of the work done. Finally, it is planned to implement a laboratory devoted solely to the use of automation software works in real time, analyzing needs to get its implementation, as well as for applications and advantages that this offer in laboratories and industries.
  13. 13. I INTRODUCCIÓN
  14. 14. INTRODUCCIÓN ______________________________________________________________________________________________ 2 1.1 Introducción. Mas que conocidos son los grandes desarrollos que se han realizado en los últimos tiempos con la ayuda de herramientas informáticas llámese software o hardware. La tecnología se a encargado de solucionar grandes problemas que en su momento se pensó seria imposible resolver. Factores como la reducción de tiempos en tareas determinadas, mejoramiento del trabajo, reducción de costos de los procesos, automatización, etc. han sido el fruto del apoyo brindado por una infinidad de software desde D.O.S hasta complejos software de calculo matemático gestión, contabilidad se han transformado en un aliado poderoso tanto para empresas, profesionales y sin dudarlo para nosotros los estudiantes en una herramienta poderosa para la solución de problemas y el desarrollo de nuevas ideas. Es por eso que como trabajo de titulación nos hemos propuesto analizar LabVIEW este software propiedad de National Instruments fue creado en el año 1987 teniendo como objetivo entregar al operador la posibilidad de realizar diversos análisis en variadas áreas siendo unas de las mas fuertes la automatización, siendo una de sus principales características la facilidad de manejo debido a que incorporaba un nuevo sistema de programación llamado G en alusión a su interfaz grafica. Al cabo de un tiempo muchos fueron los interesados en trabajar con el y por ende muchas las aplicaciones realizadas lo que ah transformado a LabVIEW de una herramienta de análisis a un software capaz de resolver grandes problemas en la industria ya sea en el área de automatización entregando la posibilidad de monitorear diversos procesos o bien realización de SCADA, así como en comunicaciones, etc. Sin embargo, nuestro trabajo no solo se limita a un simple análisis si no que además pretende demostrar de forma practica las ventajas entregadas por LabVIEW mediante una suma de ejemplos realizados y con ello la solución de problemas comunes para algunos de nosotros. Considerando además un problema real de empresa en este caso de una pesquera dando solución al problema de monitoreo de las dos calderas que posee por medio de una interfaz grafica de fácil entendimiento para los operadores, incorporando además diversos parámetros de interés del
  15. 15. INTRODUCCIÓN ______________________________________________________________________________________________ 3 operador como son gráficos del comportamiento de las calderas así como almacenamiento de datos estadísticos, alarmas en casos críticos, etc. Por otra parte, dada la gran potencialidad de LabVIEW como herramienta de trabajo y por ende aprendizaje es que se propone la implementación de un laboratorio en las dependencias de nuestra universidad, esto considerando que dentro de nuestra investigación se observo que universidades extranjeras lo consideran como un ramo más dentro de la carrera lo que nos lleva a pensar en la posibilidad de que esta experiencia pueda ser reproducida dentro de nuestra facultad en un mediano plazo. Para ello, es que procedemos a evaluar los costos y las necesidades básicas para la implementación de dicho laboratorio como seria principalmente la licencia del software el espacio físico a utilizar, así como la instrumentación y equipamiento de dicho laboratorio.
  16. 16. II OBJETIVOS
  17. 17. OBJETIVOS ______________________________________________________________________________________________ 5 2.1 Objetivos Generales 2.1.1 Investigar analíticamente, la herramienta de programación LabVIEW con el propósito de que las futuras generaciones lo utilicen con fines didácticos. 2.1.2 Diseñar un sistema de monitorización del estado de calderas de una pesquera usando LabVIEW. 2.1.3 Proponer la implementación de un laboratorio práctico para el trabajo con LabVIEW en el Instituto de Electrónica de la Universidad Austral de Chile. 2.2 Objetivos Específicos 2.2.1 Creación de programas (VI), para cada tema en particular a medida que se va explicando el funcionamiento del software. 2.2.2 Creación de un VI intuitivo y de fácil manejo en LabVIEW para el usuario final, que sirva como interfaz entre un PC y las calderas de una pesquera. 2.2.3 Conseguir que el proceso de encendido del equipo en la etapa del VI sea lo más automático posible evitando así la intervención de los operadores de la planta y que pueda ser manejado con teclas específicas del teclado, facilitando así la comprensión y utilización del sistema para los operarios. 2.2.4 Creación de un sub-sistema de medición en tiempo real de las variables físicas como presión, nivel de agua y temperatura del petróleo (visibles en el panel frontal del VI).
  18. 18. OBJETIVOS ______________________________________________________________________________________________ 6 2.2.5 Creación de un sub-sistema de seguridad que consiste en una alarma de tipo visual como sonora, para la prevención de situaciones riesgosas que puedan ocurrir dentro de la pesquera. 2.2.6 Creación de un sub-sistema de almacenamiento de datos adquiridos mediante una tarjeta DAQ (dispositivo de adquisición de datos). 2.2.7 Guardar los datos en planilla electrónica, dando la posibilidad al usuario cambiar el programa que utiliza como base de datos, como por ejemplo, al programa bloc de notas u otro según desee y sirva para el propósito final que es de analizar los datos y detectar posibles fallas en una etapa posterior. 2.2.8 Tomar muestras cada cierto tiempo (segundos o minutos), dando la posibilidad al usuario de cambiar este valor, según sea su conveniencia para un óptimo registro. 2.2.9 Archivar las muestras con hora y fecha actual, indicando si la muestra fue de tipo normal o peligrosa según el valor límite aceptado, establecido inicialmente por el operador. 2.2.10 Posibilidad de que las muestras sean borradas al instante que deje de funcionar el VI por “x” motivos o que se vayan añadiendo tras la última muestra obtenida. 2.2.11 Visualizar el muestreo de datos mediante gráficos en tiempo real. 2.2.12 Visualizar a medida que van cambiando las muestras, la última de ellas en el panel frontal.
  19. 19. OBJETIVOS ______________________________________________________________________________________________ 7 2.2.13 Analizar los aspectos necesarios para la propuesta de implementación del laboratorio, como son las posibles dependencias a utilizar, equipamiento y licencias de software, considerando sus costos y potenciales ventajas con el fin de considerar la viabilidad del proyecto.
  20. 20. III EL PROBLEMA Y SU IMPORTANCIA
  21. 21. EL PROBLEMA Y SU IMPORTANCIA _____________________________________________________________________________________ 10 3.1 Definición del problema El motivo que nos llevo a realizar la presente tesis es el problema presente dentro de una pesquera, esto motivado por el problema generado en la visualización de importantes parámetros tanto para los operadores así como para los técnicos, instrumentistas y todo personal que tenga relación con el funcionamiento de los equipos de la planta a nivel de operación y mantención. De modo mas especifico el problema general radica en la dificultad para visualizar las variables presentes tanto en las calderas así como en el resto de los procesos de la planta debido a que estos valores son obtenidos a partir de instrumentos análogos que en ocasiones se encuentran alojados en lugares de difícil acceso así como grandes alturas o simplemente a distancias no adecuadas para quien se interese en monitorearlas. Esto sumado a la necesidad de centralizar la información y llevar un registro específico de las actividades de la planta en lo que se refiere a la producción, es el motivo que nos lleva a encontrar una solución ad hoc al problema en la cual se pretende solucionar la totalidad de los problemas presentes además de proponer novedosas alternativas de monitorización y registro las cuales se presume serán y se transformaran en un gran beneficio para la empresa mediante un bajo grado de inversión lo que asegura la recuperación pronta de los montos invertidos. A raíz de todo esto, es que se abrieron múltiples variables de trabajo para nuestra tesis, de las cuales abarcamos dos, las cuales detallamos a continuación: Problema de la implementación y utilización del software Problema de la realización del instrumento virtual para la pesquera. Considerando estos dos factores es que además sumamos un problema a nivel de instituto el cual radica en la falta de conocimiento de LabVIEW como software de programación y análisis, y más
  22. 22. EL PROBLEMA Y SU IMPORTANCIA _____________________________________________________________________________________ 11 allá de esto la gran posibilidad de transformarlo en una potente herramienta de trabajo no solo para empresas y/o en el aspecto laboral, si no que también para estudiantes y profesores esperando un feedback (retroalimentación) entre estos lo que se traduce en un rápido aprendizaje mediante desarrollos tanto prácticos como teóricos. 3.2 Problema del sistema Uno de los principales problemas encontrados es el como obtener la información y centralizarla mediante un ordenador considerando para ello el funcionamiento del proceso completo en la pesquera, analizando el proceso desde la entrada de la materia prima, pescado para este caso, hasta la salida de este como producto final que para nuestro caso es la harina de pescado (esto considerando que las pesqueras como empresa tienen una amplia variedad de productos que entregan al mercado tanto nacional como internacional). Para ello, es que nuestra principal consideración es la utilización de una DAQ (Hardware de adquisición de datos) la cual es el corazón de nuestro proyecto tesis y que fue descrito con anterioridad. Una vez conocida la DAQ (ver figura 4.2) podemos observar que este instrumento es nuestra interfaz entre las mediciones lógicas y su transformación en señales digitales lo cual se traduce en la posibilidad de ser visualizadas en el servidor instalado para dicho fin. Esta visualización es realizada a través del instrumento virtual VI creado para el caso. 3.3 Solución Propuesta Como anteriormente se menciono existen dos variables claras en nuestro proyecto de tesis para las cuales se proponen respectivamente las soluciones siendo la primera solución el planteamiento claro de la gran cantidad de posibilidades que entrega el software y como poder explotar las diversas potencialidades que este posee.
  23. 23. EL PROBLEMA Y SU IMPORTANCIA _____________________________________________________________________________________ 12 Es por ello, como primera parte de nuestro proyecto entregamos la información básica para poder comenzar a utilizar el software entregando nociones básicas para la utilización y significado de los comandos utilizados, así como sus atajos, herramientas, arreglos, instrumentos virtuales, etc. Una vez conocido a cabalidad la primera parte del proyecto es que podemos proceder con la etapa de creación del instrumento virtual .VI el cual satisfacerá las necesidades planteadas y será desarrollado de acuerdo a los objetivos propuestos para la tesis, esto sin dejar de considerar el hecho de que el diseño de este sistema de monitoreo es una simple propuesta. Sin embargo, esto no es un impedimento para realizar nuestro .VI debido a que se considera la simulación de gran parte de los procesos, para ello, se ha recopilado la mayor información posible dentro de una planta pesquera para definir cuales son los procesos más importantes y por ende cuales son los procesos que deben ser monitoreados. Por último, en lo que se refiere a la tercera etapa de nuestro proyecto en la cual se considera la implementación de un Laboratorio en el cual se abra la posibilidad de enseñar LabVIEW, para ellos se considera una gran cantidad de análisis los cuales contemplan un análisis F.O.D.A así como el estudio de los espacios físicos necesarios para la eventual implementación de este y la obtención de las respectivas licencias así como los equipamientos necesarios, finalmente se contempla un resumen de los costos o mas bien la inversión necesaria así como las posibilidades de financiamiento para la realización de la propuesta entregada.
  24. 24. IV MARCO TEÓRICO Y REFERENCIAL
  25. 25. MARCO TEÓRICO Y REFERENCIAL _____________________________________________________________________________________ 14 4.1 Compendio del capítulo. A través del marco teórico y referencial se expresa el origen del software LabVIEW y su importancia, algunos conceptos, utilización y características dadas por los propios fabricantes. Posteriormente, se presenta una descripción general sobre la finalidad de un Hardware de Adquisición de Datos (DAQ) con un pequeño diagrama basado en PC de adquisición de datos. Luego se realiza una breve reseña sobre la relación que existe entre National Instruments y la empresa fabricante de la DAQ - elegida por nosotros - , Measurement Computing. Finalmente, se da explica la función de pequeñas utilidades que son necesarias para nuestro trabajo final. 4.2 LabVIEW y su importancia LabVIEW fue creado en 1976 por le empresa National Instruments (NI) con el propósito de funcionar sobre máquinas Apple Macintosh (MAC). Actualmente está disponible en los principales sistemas operativos utilizados en el mundo, como es Windows y Linux, entre otros. El 16 de abril de 2007, National Instruments anunció la disponibilidad de una nueva versión de LabVIEW, como es LabVIEW 8.2.1 éste software puede ser utilizado en la versión más nueva del sistema operativo de Microsoft (Windows Vista). En el capítulo primero denominado “Introducción”, nos preguntábamos ¿Qué es LabVIEW? A partir de esta interrogante, acudimos a la definición de los creadores de este software. National Instruments señala que:
  26. 26. MARCO TEÓRICO Y REFERENCIAL _____________________________________________________________________________________ 15 “LabVIEW es un revolucionario entorno de desarrollo gráfico con funciones integradas para realizar adquisición de datos, control de instrumentos, análisis de medida y presentaciones de datos. LabVIEW le da la flexibilidad de un potente ambiente de programación, pero mucho más sencillo que los entornos tradicionales”. Esta definición es bastante clara, el software LabVIEW tiene funciones específicas para acelerar el desarrollo de aplicaciones de medida, control y automatización, nos proporciona herramientas poderosas para que el usuario pueda crear aplicaciones sin líneas de código (lenguaje G) y nos permite colocar objetos ya construidos para lograr crear interfaces de usuario rápidamente. Después es uno mismo el que específica las funciones del sistema construyendo diagramas de bloques. No podemos dejar de mencionar que LabVIEW se puede conectar con todo tipo de hardware incluyendo instrumentos de escritorio, tarjetas insertables, controladores de movimiento y controladores lógicos programables (PLCs). Otra de las razones que explican la importancia y le dan un punto a favor a este software es que como las necesidades de las aplicaciones van cambiando con el tiempo, los sistemas definidos y creados por el usuario de LabVIEW tienen la movilidad y la flexibilidad necesaria para adecuarse sin la necesidad de incorporar equipos nuevos. Por lo descrito anteriormente, un sistema basado en LabVIEW, simplifica el desarrollo de sistemas y tiene la habilidad de reutilizar su código, tiene acceso a sistemas de instrumentación completos con un coste mucho más bajo que un único instrumento comercial. Finalmente, una de las ventajas que posee este software y que nos llamó la atención para nuestro trabajo, fue que LabVIEW es ideal para la adquisición de datos y monitorización en la industria, es por ello que creamos y mejoramos una aplicación para la Pesquera el Golfo Corral de Valdivia.
  27. 27. MARCO TEÓRICO Y REFERENCIAL _____________________________________________________________________________________ 16 4.3 Principales usos En tareas como: Adquisición de datos Control de instrumentos Automatización industrial Diseño de control Diseño embebido1 Domótica. 4.4 Principales características Hoy en día, científicos, ingenieros, técnicos y estudiantes utilizan LabVIEW para desarrollar soluciones que respondan a sus interrogantes más exigentes, es por ello que damos fe que su principal característica es la facilidad de uso que posee. También resulta válido para personas con pocos conocimientos en programación, ya que pueden realizar programas relativamente complejos, imposibles para ellos y a veces hasta para uno mismo con los lenguajes tradicionales. LabVIEW posee facilidad de manejo para las siguientes interfaces de comunicación: Puerto serie Puerto Paralelo GPIB USB PXI VXI TCP/IP UDP, DataSocket Irda, Bluetooth OPC. 1 “Embebido” quiere decir que forma parte esencial del mismo sistema.
  28. 28. MARCO TEÓRICO Y REFERENCIAL _____________________________________________________________________________________ 17 LabVIEW posee la capacidad de interactuar con otros lenguajes y aplicaciones: o DLL (librerías de funciones), .NET, ActiveX, MultiSim, Matlab/Simulink, AutoCAD, SolidWorks, etc. o Herramientas gráficas y textuales para el procesado digital de señales. o Visualización y manejo de gráficas con datos dinámicos. o Adquisición y tratamiento de imágenes. o Control de movimiento (combinado incluso con todo lo anterior). o Tiempo Real estrictamente hablando. o Programación de FPGAs para control o validación. o Sincronización entre dispositivos. 4.5 Hardware de Adquisición de Datos (DAQ) National Instruments sostiene que: “La adquisición de datos es el proceso de obtener o generar información de manera automatizada desde recursos de medidas analógicas y digitales como sensores y dispositivos bajo prueba. Utiliza una combinación de hardware y software basados en PC para brindar un sistema de medida flexible y definido por el usuario.” Es por lo anterior que los dispositivos DAQ son instrumentos, ideales para una gran variedad de aplicaciones, desde registros de datos simples hasta sistemas integrados, ya que han sido diseñados con el propósito general de medir señales de voltaje.
  29. 29. MARCO TEÓRICO Y REFERENCIAL _____________________________________________________________________________________ 18 La figura 4.1 muestra el diagrama general de la adquisición de datos basada en PC. Figura 4.1 Diagrama adquisición de datos basada en PC. 4.5.1 National Instruments y Measurement Computing National Instruments en el año 2006 se expandió al adquirir a Measurement Computing que es una empresa que desarrolla tarjetas de adquisición de datos de bajo coste para interfaces ISA, PCI y USB para computadoras personales. De este modo, como NI es una empresa que desarrolla tecnología en instrumentación virtual, el software NI LabVIEW ya funciona con los productos de esta compañía con sus respectivos Drivers. Dispositivos DAQ Figura 4.2 Modelo: USB - 1208FS Figura 4.3 Modelo: USB – 6008
  30. 30. MARCO TEÓRICO Y REFERENCIAL _____________________________________________________________________________________ 19 Un dispositivo de este tipo, por ejemplo, el USB 1208FS posee 8 canales de entrada análoga. Tiene una resolución de 12-BIT, 50 kilo muestras/segundo (tasa de muestreo), dos salidas de D/A y 16 Digital I/O, en una presentación miniatura atractiva. Todas las señales son accesibles con tornillos en las terminales laterales. Conexión por USB . Figura 4.4 DAQ Debido a lo anterior, e indagando sobre el funcionamiento interno de este modelo, decidimos utilizarlo en nuestro experimento para la Empresa Pesquera el Golfo. Sus especificaciones técnicas se presentan en el Anexo Nº 1. Para dar funcionamiento a nuestro trabajo práctico es necesario instalar además de LabVIEW 8.2 dos utilidades necesarias: • InstaCal v5.82 • Drivers UL for LabVIEW 7.11a InstaCal es un pequeño software (15,84 MB) de la empresa Measurement Computing Corporation (MCC) que maneja completamente el hardware de una DAQ, ¿qué quiere decir esto? Por ejemplo cuando uno instala un dispositivo USB, PCI o PCMCIA, InstaCal detecta el hardware y asigna los recursos automáticamente. También existe la opción de que el usuario pueda ajustar las características del hardware según sea su necesidad.
  31. 31. MARCO TEÓRICO Y REFERENCIAL _____________________________________________________________________________________ 20 Figura 4.5 Software InstaCal ULforLabVIEW711a es un archivo que contiene distintos drivers para la simulación de algunos dispositivos de adquisición de datos en LabVIEW. La versión 7.11a indica que podemos instalarlo en LabVIEW 8.0 o superior. . Figura 4.6 Librería Universal LabVIEW 7.11a
  32. 32. V ANÁLISIS DEL SOFTWARE - LABVIEW
  33. 33. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 22 5.1 Resumen del capítulo El siguiente capítulo da a conocer la herramienta de programación LabVIEW, se aboca principalmente a conocer, explicar, distinguir, analizar y aplicar de manera sencilla el software y su lenguaje. De este modo, y con el conocimiento ya adquirido damos solución en el capítulo VI a la parte práctica de nuestro trabajo 5.2 ¿Qué es un VI? Los programas creados con LabVIEW son usualmente denominados VI (Virtual Instruments) por la sencilla razón de que estos parecen y actúan como una copia de los instrumentos físicos, como por ejemplo, osciloscopios e instrumentos de medición. 5.3 Creando un VI Al arrancar el software a través del acceso directo o del menú de Inicio» Programas» National Instruments LabVIEW 8.2, se nos presenta la ventana (ver Figura 5.1) en donde se da inicio a la construcción del VI. Blank VI = VI en blanco Figura 5.1 Ventana inicio Nuevo VI Al hacer clic en “Blank VI”, automáticamente se abren 2 ventanas. Una contiene al Panel Frontal y la otra al Diagrama de bloque (ver figura 5.2 y 5.3).
  34. 34. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 23 Figura 5.2 Panel Frontal Figura 5.3 Diagrama de Bloque Como mencionamos anteriormente, el Panel frontal y el Diagrama de bloques son los componentes más importantes dentro de un VI. a) Panel Frontal (Front panel): Se utiliza como interfase entre usuario/VI y que es donde los datos son manipulados, controlados y monitoreados. Se construye a partir de controles (entradas) e indicadores (salidas). Los controles simulan instrumentos de entrada y entregan los respectivos datos al diagrama de bloques del VI. Entre los controles tenemos perillas, pushbuttons y otros dispositivos de entrada. (a) (b) (c) Figura 5.4 Controles de entrada Los indicadores simulan instrumentos de salida y muestran los datos que el diagrama de bloques genera o adquiere. Dentro de los indicadores podemos encontrar leds, gráficos y otros tipos de display.
  35. 35. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 24 (a) (b) (c) Figura 5.5 Indicadores de salida b) Diagrama de bloque (Block diagram): contiene el código gráfico G que define la funcionalidad del VI. Por ende, podemos ver la estructura del programa de una forma gráfica donde los datos fluyen a través de cables o líneas. Además contiene las librerías de LabVIEW como son las funciones y estructuras para conseguir nuestro programa. En resumen, una vez construido el panel frontal, se crea automáticamente el código gráfico en el diagrama de bloques, representando las funciones de los controles que fueron puestos en el panel frontal y sólo bastaría unir correctamente los terminales de los controles e indicadores para el funcionamiento del VI creado. Con la ayuda de las distintas paletas que aparecen dentro de los menús de LabVIEW, todo lo anterior es mucho más fácil. Dentro del panel frontal se desprenden dos tipos de paletas: Controls Palette (paleta de controles) y Tools Palette (paleta de herramientas).
  36. 36. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 25 Figura 5.6 Menú Paleta de Controles y Herramientas Figura 5.8 Paleta de herramientas Figura 5.7 Paleta de Controles La paleta de controles (ver figura 5.7) esta habilitada solamente en el panel frontal y posee los controles e indicadores que se necesitan para crear el panel frontal. La paleta también aparece haciendo clic con el botón derecho del mouse sobre el área de trabajo del panel frontal. La paleta de herramientas (ver figura 5.8) esta habilitada en el panel frontal y en el diagrama de bloques y es necesaria para trabajar o modificar los objetos. Una herramienta se refiere al modo especial del cursor del mouse, esto quiere decir que cuando uno selecciona una herramienta, el
  37. 37. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 26 cursor cambia de icono al icono de la herramienta. Haciendo clic en el led de color verde uno habilita o deshabilita el cambio automático del cursor dependiendo de la función a realizar. Nota: manteniendo la tecla “shift” presionada y haciendo clic con el botón derecho del mouse sobre el área de trabajo, aparece la paleta de herramientas. Dentro del diagrama de bloque está la Functions Palette (paleta de funciones) y la paleta de herramientas como mencionamos anteriormente. Figura 5.9 Menú Paleta de Funciones Figura 5.10 Paleta de funciones Existen 6 opciones para visualizar las paletas, ya sea de funciones o controles. Figura 5.11 Visualización de paletas
  38. 38. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 27 5.4 ¿Cómo ejecutar un VI? Al haber finalizado la programación del VI y viendo que no existe error, se puede ejecutar. Para ello, debemos situarnos en el panel frontal y pulsar el botón Run ubicado en la barra de herramientas. Run: ejecución Stop: finaliza la ejecución. Continuamente Run: ejecución continua Pausa: detención del programa. Error Ejecutándose (ambos modos) Si existe error, se puede pulsar el mismo botón de Run y nos muestra el tipo de error que se está cometiendo (líneas rotas, conexiones malas, etc.). Según la necesidad del programador, este puede colocar un botón de stop en el panel frontal de su VI, cuya pulsación provoque una interrupción en el bucle de ejecución de la aplicación. Con todo lo anterior se procede a dar un pequeño ejemplo sobre la operabilidad de funciones lógicas. Ejemplo Figura 5.12 Panel control Compuertas Lógicas
  39. 39. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 28 Figura 5.13 Diagrama de bloques Compuertas Lógicas Observación 1: Los controles e indicadores numéricos y etiqueta del sistema (ver figura 5.13) los encontramos en la paleta de controles. Las compuertas lógicas (ver figura 5.14) las encontramos en la paleta de funciones. Para insertar los controles e indicadores en el panel frontal o diagrama de bloques se selecciona el elemento y se arrastra con el mouse hasta su posición final. Dependiendo de la aplicación procedemos a unir los elementos con ayuda del mouse. Observación 2: Al presionar el botón de Run Continuously el programa se ejecuta continuamente, y así el usuario puede cambiar los valores de los controles para realizar otras combinaciones lógicas sin parar el programa. Para detenerlo se debe volver a presionar el botón Run Continuously o presionando el botón de stop. Observación 3: Para guardar el programa, nos dirigimos a la barra de herramientas File»Save aparecerá un cuadro de diálogo donde se debe especificar la dirección donde se desea guardar el programa, el nombre del programa y la extensión (si no se especifica la extensión LabVIEW automáticamente le agrega la extensión .VI). 5.5 Tipos de datos Existen 3 tipos o clases de datos en LabVIEW (ver figura 5.14): Figura 5.14 Esquema Tipos de datos Datos Booleanos Numéricos Alfanuméricos
  40. 40. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 29 Dependiendo de nuestra aplicación, utilizamos estos datos en el diagrama de bloques existiendo un color para cada uno. (Booleanos: verde claro, Numéricos: azules-naranjos y los Alfanuméricos: rosados). Esto con la finalidad de familiarizarse tempranamente con ellos. Boolean (Booleano) Definidos por enteros de 16 bits. El bit más significativo contiene al valor booleano. Si el bit 15 se pone a 1, el valor del control o indicador es true (verdadero) y si se pone a 0, toma el valor false (falso). Al dar un clic con el botón derecho del mouse sobre el área de trabajo del panel frontal nos aparecerá la paleta de controles (ver figura 5.7) allí podemos hallar los diferentes controles e indicadores booleanos que posee LabVIEW. Figura 5.15 Controles e Indicadores booleanos Observación: Recordar que al colocar en el panel frontal un control o un indicador automáticamente se agrega el código de estos objetos en el diagrama de bloques. Numeric (Numérico) Los datos numéricos se clasifican en 12 representaciones para los controles e indicadores, señalados por su respectivo color: a) Números de tipo entero (I, Integer) de 8, 16 y 32 bits b) Números de tipo sin signo (U, Unsigned) de 8, 16 y 32 bits. c) Números de punto flotante 32 (SGL), 64 (DBL) y 80 (EXT) bits d) Números de tipo complejos simples (CSG), dobles (CDB) y extendidos (CXT). El tipo de número se aprecia en la terminal de conexión de los controles o indicadores, pues aparece inscrito, y el color de las conexiones de punto flotante son anaranjadas, mientras que en los enteros y sin signo son azules. Teniendo puesto un control o indicador de tipo numérico en el
  41. 41. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 30 Diagrama de bloques, hacemos clic sobre él con el botón derecho del mouse y nos dirigimos a “Representation” donde podemos configurar el tipo de dato. Figura 5.16 Diferentes representaciones para los datos numéricos Strings (Alfanuméricos) LabVIEW almacena los strings como si fuera un array uni-dimensional de bytes enteros (caracteres de 8 bits). Sus principales aplicaciones van definidas a crear mensajes de texto, pasar los datos numéricos a caracteres de datos para instrumentos y luego convertirlos nuevamente de strings a datos numéricos, guardar datos numéricos en el disco, etc. Como mencionamos anteriormente, los datos alfanuméricos se visualizan en el diagrama de bloques con el color rosado (ver figura 5.18) mientras que en el panel frontal, estos datos aparecen como etiquetas, tablas y entradas de texto (ver figura 5.17). Figura 5.17 Datos alfanuméricos Panel de control Figura 5.18 Datos alfanuméricos Diagrama de bloque
  42. 42. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 31 En el diagrama de bloques existen muchas funciones donde se ven involucrados los datos alfanuméricos, para verlas hacemos clic con el botón derecho del mouse sobre el área de trabajo para ver la paleta de funciones, nos dirigimos al icono string y se desplegará una ventana con las distintas funciones, como por ejemplo la más simple, string lenght que indica la longitud de la cadena de datos alfanuméricos. Por ejemplo si en el panel frontal, colocamos un control alfanumérico y escribimos alguna “palabra”, al arrancar el VI (Run) el indicador numérico nos da la respuesta a la función lenght. Figura 5.19 Ejemplo Dato alfanumérico Panel de control Figura 5.20 Ejemplo Dato alfanumérico Diagrama de bloque Es posible realizar atractivos VI donde participen los tres tipos de datos para la utilización de una aplicación determinada. Por ejemplo, en la figura 5.21 se muestra un sencillo sistema donde se suman dos números, en donde si se sobrepasa el valor 50 la aplicación nos entrega una señal de alerta mediante el encendido de un led (boolean) y una palabra de advertencia (string). Figura 5.21 Ejemplo suma de dos números
  43. 43. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 32 Observación: El selector, el sumador y el comparador que se visualizan en el ejemplo anterior se encuentran en la paleta de funciones del diagrama de bloques. Cabe mencionar que se pueden combinar éstos tipos de datos en un mismo indicador (cadena resultante), por ejemplo con el elemento Concatenate Strings es posible concatenar datos numéricos y alfanuméricos. Figura 5.23 Concatenate strings Diagrama de bloques Figura 5.22 Ejemplo Concatenate strings Panel de control Línea de selección (Pick line), nos permite visualizar el dato seleccionado en el panel frontal del instrumento. Número a String Fraccionario (Number to Fractional String), nos permite convertir el dato numérico en un datos alfanumérico para poderlo unir a la concatenación. 5.6 Sub rutina o SubVI Dentro de la programación de LabVIEW existe una utilización de los VI bastante interesante de conocer, que facilita el desarrollo de aplicaciones. Cuando uno finaliza y guarda un archivo con extensión .vi, éste puede ser llamado en el diagrama de bloques desde otro VI conociéndose también como SubVI que corresponde a una subrutina como en los demás lenguajes tradicionales. Para usar un VI como subVI, se requiere construir un panel de conectores. Este panel, determina las entradas y salidas de los controles e indicadores.
  44. 44. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 33 Para construir un panel de conectores, nos dirigimos al icono en la parte superior izquierda del panel frontal y hacemos clic con el botón derecho del mouse, enseguida se muestra un menú y hacemos clic en Show Connector (ver figura 5.24) y el icono cambiará estéticamente como lo muestra la figura 5.25. Figura 5.24 Show Connector Figura 5.25 Icono Show Connector Cada pequeño cuadrado o rectángulo representa un terminal (salida o entrada) siendo el número máximo de 28 terminales posibles de añadir. Para asignar un control a uno de los terminales del bloque de conectores hacemos clic sobre el terminal que se desea configurar, el puntero cambia a la forma de un carrete y el terminal tiene el color negro, ahora si nos posicionamos sobre el control que se desea asignar el terminal, al ser asignado, el color del terminal cambiará de color dependiendo del tipo de dato asignado (ver figura 5.26).
  45. 45. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 34 Figura 5.26 Terminal asignado Icono Show Connector Figura 5.27 Edit Icono Show Connector Este mismo icono se puede editar en la parte superior izquierda del diagrama de bloques (Edit Icon) a gusto del usuario (ver figura 5.27). Una vez configurado nuestro control de terminales dependiendo de los requerimientos de la aplicación, guardamos el VI en nuestro PC. Este VI puede ser llamado desde la paleta de funciones del diagrama de bloques pulsando donde diga “Select VI” y mostrando el icono con sus respectivos terminales (pasando el mouse por encima del icono) como se muestra en la figura 5.28 Figura 5.28 Icono ejemplo Show Connector 5.7 Estructuras de Control (Structures) A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias con un número determinado de veces, o que éstas se repitan mientras se cumplan ciertas condiciones. LabVIEW dispone principalmente de cinco estructuras fácilmente diferenciables por su apariencia y disponibles en la opción Structures que aparece en la paleta de funciones del diagrama de bloques. Estas estructuras van ejecutando automáticamente lo que está programado
  46. 46. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 35 en su interior, sin embargo, cada estructura ejecuta su sub diagrama de acuerdo a las características que gobiernan su funcionamiento. En resumen, estas estructuras son representaciones gráficas de los lenguajes basados en programación textual. Antes de dar a conocer las principales estructuras de control que posee LabVIEW, es necesario definir que se entiende por sub diagrama. Sub diagrama Se entiende como sub diagrama al conjunto de terminales, nodos y líneas de unión que se localizan en el interior del rectángulo llámese “estructura”. Estructura (Structure) Nº sub diagramas While Loop 1 For Loop 1 Case Structure Múltiples Sequence Structure Múltiples Event Structure Múltiples Tablas 5.1 Tabla Estructuras Figura 5.29 Estructuras
  47. 47. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 36 Teniendo presente lo anterior, damos brevemente una explicación de cada una de estas estructuras: For Loop (Ciclo For) Una operación ejecuta un sub diagrama un número finito de veces. Equivale a decir en un lenguaje tradicional For i = 0 to N-1 (ejecuta sub diagrama). Contiene dos terminales, uno contador y el otro de iteración . El terminal contador contiene el número de veces que se ejecutará el sub diagrama creado en el interior de la estructura y el de iteración igual que el While Loop. Con esta estructura se pueden emplear los Shift Register para tener disponibles los datos obtenidos en iteraciones anteriores, es decir, para memorizar valores obtenidos. Los Shift Register se discuten en el siguiente punto. While Loop (Ciclo While) Una operación ejecuta un sub diagrama hasta que la terminal condicional recibe un valor lógico específico. Equivale a decir en un lenguaje tradicional Do (ejecutar sub diagrama) While (condición es True). Contiene dos terminales, uno condicional y otro de iteración . El condicional hace que LabVIEW compruebe el estado de este terminal al final de cada iteración, si el valor es True continua si es False se detiene. El terminal de iteración indica el número de veces que se repite el bucle. Con esta estructura también se pueden emplear los Shift Register. Case Structure (Estructura Caso) El ejemplo típico que se le da a esta estructura es el de la baraja de naipes, pues si el programa lo requiere, los sub diagramas o casos pueden irse añadiendo uno tras otro, pudiéndose ver sólo uno en el diagrama de bloques. Su contenido (en el interior de la estructura) se ejecuta dependiendo del valor que se le conecta al selector, por ende, posee como mínimo dos sub diagramas, True y False pudiéndose alambrar valores enteros lógicos, de cadena o enumerados. Equivale a decir en un lenguaje tradicional If (true) then (ejecutar case true) Else (ejecutar case false)
  48. 48. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 37 Figura 5.30 Case Structure (Estructura Caso) Sequence Structure (Estructura Secuencia) Trabaja similar al Case Structure, es decir, sólo se puede visualizar un sub diagrama o cuadro a la vez en el diagrama de bloques, (los demás van quedando debajo), posee un identificador de sub diagrama en la parte superior con botones cuya función es avanzar o retroceder. Sin embargo, como su nombre lo dice, secuencia su ejecución ¿qué quiere decir esto? Primero ejecuta la hoja número “0” o frame, luego la número “1” y así sucesivamente. Esta estructura no devuelve ningún dato hasta que se ejecuta el último cuadro. Ejemplo A continuación, procedemos a realizar un ejercicio bastante útil en lo que se refiere a la comunicación serial y donde participa uno de los tipos de estructuras que usan más de un sub diagrama. El programa que se realiza se diseñó con la finalidad de testear y verificar el correcto funcionamiento del puerto serie. Para ello es necesario un conector serial de 9 pines (ver figura 5.31) y enseguida cortocircuitar los pines 2 y 3. Figura 5.31 Conector serial de 9 pines
  49. 49. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 38 Figura 5.32 Pines conector serial rs-232 Observación: LabVIEW asigna como Port 0 al COM1 de la PC. Para comenzar a programar, podemos ir enseguida al diagrama de bloques e inicializar el puerto serie, LabVIEW posee un bloque en donde vienen los valores predefinidos para una correcta comunicación (port number, baud rate, data bits, stop bits, parity y buffer size). Programando nuestro primer sub diagrama con un Sequence Structure tenemos: Figura 5.33 Ejemplo inicialización puerto serie Haciendo clic derecho en el borde de la estructura Sequence se nos abre un menú donde nos posicionamos en Add Frame Alter y hacemos clic para iniciar la parte de escritura en un nuevo sub diagrama, de este modo podemos escribir nuestros datos hacia el puerto indicado (Port number o Nº Puerto). El bloque escribe los datos en el parámetro de entrada String Write del puerto serial indicado en el parámetro de entrada port number (Nº Puerto).
  50. 50. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 39 Figura 5.34 Ejemplo escritura puerto serie Agregamos un nuevo Frame para hacer un delay de 1 segundo (retraso) con en el fin de que todos los datos escritos lleguen correctamente. El bloque Wait (ms) lo encontramos en la paleta de funciones del diagrama de bloques en la sección Timing. Figura 5.35 Ejemplo delay puerto serie Finalmente, programamos la parte de lectura donde se lee el número de caracteres especificados por el parámetro de entrada requested byte count del puerto serial indicado en el number port. El bloque Bytes At serial Port retorna el número de bytes que hay en la entrada del buffer del puerto serial indicado en el number port. Figura 5.36 Ejemplo lectura puerto serie
  51. 51. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 40 El Panel frontal queda a gusto del programador. Figura 5.37 Ejemplo test puerto serial Event Structure Este tipo de estructuras presenta varios sub diagramas, los cuales se ejecutan exactamente cuando la estructura se ejecuta. La estructura de Evento espera hasta que sucede algún evento. Se pueden agregar nuevos eventos haciendo clic derecho en el borde de la estructura evento y posicionarse en Add Event Case. La implementación del sistema monitoreo para la Pesquera el Golfo Corral esta programada bajo Event Structure. 5.8 Registro de desplazamiento Se les conoce también como Shift Register y son variables locales (En las hojas posteriores se explicará lo que es una variable local). Al hacer clic con el botón derecho del mouse en el borde de la estructura While o For Loop aparece un menú con la opción Add Shift Register. El propósito del Shift Register es el almacenamiento de datos, por ejemplo, el terminal de la derecha va almacenando el valor final de la repetición o iteración. Cuando sucede una nueva repetición, este valor se mueve al terminal izquierdo y el nuevo valor queda en el terminal derecho.
  52. 52. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 41 Figura 5.38 (a) Add shif register (b) Añadir elementos Con la opción Add Shift Register se pueden ir añadiendo elementos, que quiere decir esto, que cuanto más terminales tengamos en el lado izquierdo más valores de iteraciones anteriores podremos almacenar (ver figura 5.38 b). Ejemplo En el siguiente ejemplo, se diseña un programa con la ayuda de un For While que cuenta hasta 10 segundos, al transcurrir los 10 segundos este se detiene y muestra un mensaje que indica que se han cumplido los 10 segundos. Panel Frontal Figura 5.39 (a) For While (b) mensaje
  53. 53. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 42 Diagrama de Bloques (c) Figura 5.40 Ejemplo registro desplazamiento 5.9 Nodo Fórmula Nodo de Fórmula o Formule Node resulta muy útil para resolver ecuaciones con muchas variables relativamente complejas. Lo primero a realizar es definir las variables de entrada y salida haciendo clic derecho en el borde del rectángulo y posicionándose ya sea en Add Input o Add Output aparece un cuadro pequeño de color naranjo donde se escribe la variable. En el interior del rectángulo se escribe la fórmula. Figura 5.41 Ejemplo nodo fórmula Se pueden ocupar funciones trigonométricas entre otras. Observación: En la misma paleta donde encontramos el Formule Node, se encuentra otro icono llamado MathScript Node que es similar al anterior, sólo que este trabaja más con la sintaxis de MATLAB®
  54. 54. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 43 Ejemplo En el siguiente ejemplo, realizamos un VI donde obtendremos el valor de la caída de voltaje y la potencia demandada por un resistor. Los valores de entrada son la corriente y el valor de la resistencia. En nuestro panel frontal vamos a colocar dos controles numéricos y dos indicadores numéricos. Dentro del Nodo de Fórmula vamos a escribir la fórmula para calcular la caída de voltaje conociendo la corriente (I) y el valor de la resistencia (R) y la fórmula de consumo de potencia (W), separamos las dos fórmulas por medio de un punto y coma tal como se muestra en la figura 5.43. Figura 5.42 Ejemplo práctico nodo fórmula (panel frontal) Observación: Después de cada formula debes colocar un punto y coma. Para colocar las entradas y salidas del nodo de fórmula, uno debe posicionarse sobre el marco de la estructura y dar un clic derecho con el mouse, se desplegará un sub menú, se elige la opción Add Input en el recuadro que aparece, posteriormente se coloca el nombre de la variable tal como hemos querido llamarla en la fórmula. (Se hace lo mismo para las salidas, claro la opción será Add Output). Dos entradas una para corriente (I) y otra para el valor de la resistencia (R) y dos salidas una para el valor de caída de voltaje (V) y la otra para el valor de potencia (P), tal como se aprecia en la figura 5.43.
  55. 55. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 44 Figura 5.43 Ejemplo práctico nodo fórmula (diagrama de bloques) Observación: No existe límite para el número de variables o de fórmulas y nunca podrá haber 2 entradas o 2 salidas con el mismo nombre, aunque una salida si podrá tener el mismo nombre que una entrada. Todas las variables de salida deberán estar asignadas a una fórmula por lo menos una vez. 5.10 Arreglos y Cluster Arrays Arreglos o Arrays es un grupo de elementos de datos del mismo tipo, se compone de elementos y dimensiones. Se entiende como elemento a los datos que conforman un arreglo y dimensión como la longitud, altura o profundidad del mismo. Indexado Para colocar un elemento en particular en un arreglo este requiere un índice por dimensión. En LabVIEW, el indexado permite navegar a través de un arreglo y además recuperar elementos, filas, columnas, y páginas de un arreglo en el diagrama de bloques. Un ejemplo de un arreglo es una señal de onda representada como un arreglo numérico en el cual cada elemento es el valor de voltaje de sucesivos intervalos de tiempo, pero este ejemplo es de 1D (una dimensión).
  56. 56. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 45 Un arreglo de 2D guarda los elementos en un tipo de rejilla (tabla). Esto requiere un índice de columna y un índice de fila para localizar cada elemento, ambos índices de localización comienzan en cero. Por ejemplo, un tablero de ajedrez tiene ocho columnas y ocho filas para formar un total de 64 posiciones. Cada posición esta vacía o tiene una pieza de ajedrez. Se puede representar un tablero de ajedrez con un arreglo de texto de 2D. Restricciones de los arreglos Se puede crear un arreglo casi de cualquier tipo de datos, con las siguientes excepciones: • No se pueden crear arreglos de arreglos. Independientemente, se pueden utilizar un arreglo multidimensional o usar la función Build Cluster Array para crear un arreglo de cluster donde cada cluster contiene uno o más arreglos. • No se puede crear un arreglo de gráficos, porque un gráfico es un tipo de datos del arreglo y un arreglo no puede contener otro arreglo. Sin embargo, se puede tener un arreglo de gráficos si el gráfico está dentro de un cluster. • No se puede crear arreglos de charts. En la paleta de funciones del diagrama de bloques encontramos diferentes tipos de arreglos para crear y manipular (ver figura 5.44) como por ejemplo, extraer un elemento individual, dividir, insertar , eliminar o reemplazar un elemento dentro de un arreglo. Figura 5.44 Arreglos
  57. 57. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 46 Cluster Los clusters agrupan diferentes tipos de elementos o datos, como un bulto de alambres, es decir, como en un cable del teléfono dónde cada alambre en el cable representa un elemento diferente del cluster. Un cluster es similar a un registro o una estructura en los lenguajes de programación basados en texto. La agrupación de los datos en los clusters elimina el desorden de los alambres en el diagrama de bloques y reducen el número de conectores o terminales que un subVI necesita. El panel de conectores tiene la capacidad, a lo sumo, de 28 términos. Si su panel frontal contiene más de 28 controles e indicadores que se quieren usar en su programa, lo que se hace es agrupar algunos de ellos en un cluster y asignar el cluster a uno de las terminales del panel de conectores. Figura 5.45 Iconos cluster Aunque un cluster y un arreglo de elementos en ambos existe un ordenamiento, se debe desagrupar todos los elementos del cluster en lugar de escribir un índice de un elemento a la vez. Se puede también usar la función Unbundle By name y así acceder a los elementos del cluster específicos. Los cluster también difieren de los arreglos en que ellos son de un tamaño fijo. Como un arreglo, un cluster puede ser un control o un indicador. Un cluster no puede contener una mezcla de controles e indicadores. La mayoría de los cluster en el diagrama de bloques se caracterizan por que el alambre y el icono de los datos son de color rosado.
  58. 58. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 47 Los cluster de números, se caracterizan por un alambre y un icono de datos de color café. Se pueden alambrar los cluster numéricos de color café a las funciones numéricas, como a la función Add, Square Root, para realizar la misma función simultáneamente en todos los elementos del cluster. 5.11 Indicadores Gráficos: Graph y Charts Existen variados tipos de indicadores gráficos en LabVIEW, se destacan principalmente: Waveform Graph, Waveform Chart, Intensity Graph, Intensity Chart, XY Graph, 3D Graphs y Digital Waveform Graph. Waveform Graph - Chart Después de adquirir o generar datos, utilizar un Graph (gráfico) o un Chart es una muy idea para desplegar datos de una forma gráfica. Los Graph y los Chart se diferencian entre sí en la manera de mostrar los datos. Un VI con un Graph recoge generalmente los datos en un Array (arreglo) y después traza los datos al gráfico. Cuando se trazan los datos, desecha los datos previamente trazados y muestra solamente los nuevos datos. Se utiliza un Graph en los procesos rápidos que están continuamente recogiendo datos. En cambio, un Chart añade nuevos puntos de referencias a esos puntos en su pantalla para crear una especie de historial. Se utiliza un Chart en los procesos lentos en los cuales solamente algunos puntos de referencias por segundo, se agregan al diagrama. A pesar que el Waveform Graph y el Waveform Chart presentan diferencias, también poseen muchas opciones iguales en donde se accede mediante un menú contextual. Por ejemplo, ambos soportan múltiples escalas en x e y, se puede personalizar su apariencia (ver figura 5.46)
  59. 59. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 48 Figura 5.46 Gráfico Waveform Graph - Chart El Waveform Graph muestra unos o más diagramas de medición uniformemente muestreados. El Waveform Graph traza solamente funciones valoradas, como por ejemplo, y = f (x), con los puntos distribuidos uniformemente a lo largo del eje x, tal como formas de onda de tiempo. La figura 5.47 muestra un ejemplo de un Waveform Graph simulando ondas seno y coseno respectivamente. Figura 5.47 Ejemplo Waveform Graph (panel frontal)
  60. 60. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 49 Figura 5.48 Ejemplo Waveform Graph (diagramade bloques) Intensity Graph – Chart Despliega la información en 3D en una gráfica 2D mediante colores para desplegar valores de tercera dimensión. Son útiles para representar datos de superficie, donde el color puede representar altitud, humedad, temperatura, entre otras variables. Figura 5.49 Gráfico Intensity Graph – Chart Digital Waveform Graph Despliega datos como pulsos o grupos de líneas digitales, es decir, señales digitales. Son útiles para diagramas de tiempo.
  61. 61. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 50 Figura 5.50 Gráfico Digital Waveform Graph (panel frontal) Figura 5.51 Gráfico Digital Waveform Graph (diagrama de bloques) XY Graphs Despliega los datos adquiridos en una tasa no constante, es decir, el mismo usuario puede determinar la separación. Figura 5.52 Gráfico XY Graph (panel frontal)
  62. 62. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 51 3D Graph Despliega datos 3D en un gráfico 3D mediante un objeto ActiveX en el panel frontal. Figura 5.53 Gráfico 3D Graph 5.12 Archivos I/O Los ficheros de entrada y salida (I/O) transfieren los datos de LabVIEW a archivos y viceversa. En la paleta de funciones del diagrama de bloques File I/O podemos encontrar bloques que nos permiten, abrir y cerrar archivos de datos, leer y escribir datos a archivos, leer y escribir archivos de hojas de cálculo, mover y renombrar archivos y directorios, cambiar las características de los archivos, crear, modificar y leer una configuración de archivo. Se pueden leer o escribir datos de tres tipos de archivos diferentes: texto, binarios y datalog. Por ejemplo, si se quiere guardar un archivo de datos en Microsoft Excel usaremos el formato de texto debido a que este es el más común en este tipo de trabajo. Guardando un Archivo Para entender rápidamente este proceso, crearemos un ejemplo donde analizaremos la amplitud de una señal senoidal, de tal manera que si la amplitud sobrepasa o esta por debajo de un porcentaje establecido por el usuario guarde dicho valor en un archivo de texto.
  63. 63. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 52 El programa muestra la amplitud actual de la señal senoidal, y dice cuantos datos se han guardado en el archivo. Ejemplo Nuestro Panel Frontal lo dejamos de la siguiente manera, claro que es opcional, pues dependerá del usuario establecer una estética que cumpla con sus necesidades. Figura 5.54 Ejemplo práctico con Waveform Graph Figura 5.55 Generación de números aleatorios Para analizar y conocer el nuevo valor de amplitud que se esta generando utilizamos la función de análisis que se encuentra en la paleta de funciones, Express » Signal Analysis » Tone, al
  64. 64. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 53 colocarla se genera una ventana en la cual configuramos el VI, en nuestro caso elegimos únicamente la opción Amplitude. Ahora, como ya conocemos el valor de la amplitud instantánea, de la señal senoidal verificamos si se encuentra dentro del rango establecido (ver Figura 5.57). Restamos el valor actual menos el valor de amplitud fundamental, y el valor absoluto de esta operación lo comparamos con el porcentaje establecido. En el caso en que se sobrepase o este por debajo del porcentaje de error establecido vamos a guardar el valor (ver Figura 5.58). Figura 5.56 Tone measurement Figura 5.57 Verificación del rango establecido. Figura 5.58 Etapa guarda valor
  65. 65. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 54 Para guardar el archivo vamos a utilizar el VI, Write to Spreadsheet File.vi, que aparece en la paleta de funciones File I/O, para nuestro caso únicamente hemos colocado una constante en la terminal file path, esta constante es una constante de ruta de archivo, aquí colocamos la dirección del lugar donde queremos que el archivo se guarde (ver Figura 5.58). Como queremos que cada vez que se genere un dato que este fuera del rango se agregue al archivo que ya hemos creado el terminal append to file? tiene que tener una constante True para que vaya agregando los valores, La terminal Transpose se utiliza para generar el arreglo como fila (default) o columna, colocamos una constante True para que se despliegue en forma de columna. Figura 5.59 Ejemplo archivos I/O (diagrama de bloques) 5.13 Variables Locales y Globales En LabVIEW se pueden leer o escribir datos en el panel frontal utilizando terminales en el diagrama de bloques. Sin embargo, un objeto en el panel frontal tiene sólo un terminal en el diagrama de bloques y su aplicación podría necesitar acceder a los datos del terminal en más de una vez.
  66. 66. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 55 Hablar de variables locales o globales en LabVIEW es algo no tan fácil de entender, pues son conceptos avanzados y una mala utilización de estas puede provocar un comportamiento inesperado en los VI. ¿Cuándo utilizar una Variable Local? Cuando se pretende acceder a objetos del panel frontal en más de un lugar dentro del mismo VI y pasar la información (datos) entre las estructuras de bloque donde No se puede conectar un cable. Trabajando con una variable local, se puede leer o escribir desde un indicador o control en el panel frontal. En efecto, se puede acceder a un objeto del panel frontal como entrada y como salida. ¿Cuándo utilizar una Variable Global? Cuando se pretende acceder y pasar datos entre varios VI que se ejecutan al mismo tiempo. Cuando en LabVIEW se crea una variable global, automáticamente este crea un VI especial, el cual contiene un panel frontal pero No un diagrama de bloques, es decir, el panel frontal es un contenedor de varios VI’s que pueden acceder datos. En resumen, la diferencia entre una variable local y una global, es que con la variable local, solo puedes intercambiar datos dentro de un mismo VI. En cambio con la variable global puedes intercambiar datos entre diferentes VI’s. A continuación daremos solución a un sencillo ejemplo utilizando variables locales y globales, que consiste en el encendido de un LED por medio de un pulsador y sea apagado por otro pulsador. Ejemplo Como mencionábamos anteriormente, este problema lo vamos a resolver de dos maneras diferentes, la primera utilizando variables locales, y la otra utilizando variables globales.
  67. 67. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 56 a) Utilizando Variables Locales Lo primero a realizar es ir a nuestro panel frontal y colocar 2 pulsadores y un led, asegurándonos que los botones (pulsadores) tengan una acción mecánica al igual que un pulsador real (ver Figura 5.60) Panel Frontal Figura 5.60 Pulsadores Para seleccionar una acción mecánica del pulsador, hacemos clic derecho sobre el pulsador y nos dirigimos a Mechanical Action (ver figura 5.61) Figura 5.61 Menú Mechanical Action En el diagrama de bloques, vamos a crear una variable local del indicador tipo LED, para crear la variable local, hacemos clic derecho sobre el LED, se desplegará un menú, elegimos la opción, Create » Local Variable. Posteriormente, colocamos 2 variables locales del indicador LED, una
  68. 68. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 57 dentro de cada Case, tal como se muestra en la figura 5.62, ahora conectamos un pulsador a cada Case, en el Case en el que se ha conectado el pulsador de encendido se conecta una constante verdadera a la variable local en el caso True, en el caso falso no se hace nada. En el otro Case donde hemos conectado el pulsador de apagado conectamos una constante falsa a la variable local, en el caso verdadero del case, en el caso falso no hagas nada. Diagrama de Bloques Figura 5.62 Variables locales (diagrama de bloques) De manera que cuando se presiona el pulsador Encendido se ejecutara el caso verdadero en el cual se le asigna el valor de verdadero al LED, por lo tanto enciende, cuando se deja de presionar el botón de encendido el caso que se ejecuta el falso pero como no haz programado nada en ese caso, el valor en la variable local queda guardado. Para apagarlo debe ejecutarse el caso verdadero del Case al que se ha conectado el pulsador de apagado. b) Usando Variables Globales El panel frontal queda igual al ya visto anteriormente. Ahora, en lugar de crear variables locales, vamos crear una variable global, se encuentran en, Functions » All Functions » Structures » Global Variable, ahora hacemos doble clic sobre el icono de la variable global aparecerá una ventana de panel frontal aquí coloca cualquier control o indicador booleano como se muestra en la figura 5.61, guardamos y cerramos este panel frontal.
  69. 69. ANÁLISIS DEL SOFTWARE - LABVIEW __________________________________________________________________________________ 58 Figura 5.63 Variables Globales (panel frontal) Ahora en el diagrama de bloques, hacemos clic sobre el icono de la variable global, aparecerá la opción Boolean, la seleccionamos y automáticamente cambiará, ahora podemos guardar datos booleanos en dicha variable global, hacemos 3 copias de esta variable, tal como se muestra en la figura 5.64 Figura 5.64 Variables Globales (diagrama de bloques) El funcionamiento de este programa es el mismo que en el caso anterior, lo único que ahora debemos leer de la variable global para encender el LED.
  70. 70. VI ANÁLISIS EXPERIMENTAL SISTEMA DE MONITOREO PARA PESQUERA
  71. 71. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 60 6.1 Resumen del Capítulo En el siguiente capítulo se hace referencia a la forma en que se diseñó el Sistema de Monitoreo para una pesquera utilizando el software LabVIEW. Se explica paso a paso las etapas realizadas que nos llevaron a la finalización con éxito de este ambicioso proyecto. 6.2 Instalación Instalamos LabVIEW 8.2 desde el CD siguiendo todas las instrucciones necesarias para el correcto funcionamiento de este. Cabe mencionar que existe un software gratuito de la MCC que se llama MCCDaq versión 5.71 para Win2000/XP/Vista (144 MB) y contiene todos los drivers de sus productos incluyendo ULforLV (última versión), Universal Library e InstaCal 5.82. Estos puede ser descargados individual y libremente desde el sitio ftp1 de la misma empresa. Pero para nuestras pretensiones no es necesario instalar todo el software, existe un archivo (driver) que esta en el ftp llamado ULforLV711a (Universal Library for LabVIEW) de 16,12 MB que instala en LabVIEW una librería llamada MCC Data Acquisition necesaria para nuestro proyecto práctico. De acuerdo a las especificaciones de la MCC, Universal Library for LabVIEW - Versión 7.11a puede ser instalada desde LabVIEW 6.0 hasta la versión 8.21, en el sistema operativo Windows 9.x/2000/XP. 1 ftp://ftp.measurementcomputing.com/downloads/MCCDaqCD
  72. 72. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 61 Luego de instalar LabVIEW 8.2, se procede a instalar InstaCal v.5.82 y el archivo ULforLV711a respectivamente. InstaCal v5.82 Hacemos doble clic en el icono icalsetup clic en Aceptar y Setup (a) (b) En seguida clic en Next (c) Nuevamente clic en Next (d)
  73. 73. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 62 Finalmente, clic en Install y Finish. (e) (f) Figura 6.1 Instalación software InstaCal Reiniciamos la PC y configuramos InstaCal de acuerdo a las especificaciones técnicas de nuestro dispositivo PMD-1208FS (Personal Measurement Device). Abrimos InstaCal desde la ruta Inicio»Programas»Measurement Computing»InstaCal y se nos presenta una pantalla como muestra la figura 6.2a, luego hacemos clic en Add Board del menú Install (ver figura 6.2b). (a) (b) Figura 6.2 Configuración InstaCal Paso 1
  74. 74. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 63 Al haber hecho clic en Add Board escogemos del menú ISA el modelo DEMO-BOARD que es necesario para utilizar la DAQ 1208FS y que por defecto viene configurado con Board Number = 0 (ver figura 6.3a) y hacemos clic en Add para añadirlo (ver figura 6.3b). Luego cerramos InstaCal. (b) (a) Figura 6.3 Configuración InstaCal Paso 2 ULforLV711a Los requerimientos necesarios para la instalación de ULforLV711a son: • Espacio en el disco • LabVIEW™ • InstaCal™ Observación: Sabiendo lo anterior, al tratar de instalar los drivers de ULforLV711a no teniendo instalado el InstaCal el proceso de instalación de los drivers se interrumpe y nos vemos en la obligación de cancelar la instalación.
  75. 75. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 64 El programa ULforLV711a.exe es un archivo de tipo ZIP self-extracting que contiene la imagen del CD. Para extraer la imagen simplemente hacemos doble clic en el archivo, escogemos la carpeta donde se extraerán los archivos (por defecto es la C:windowsTemp) escribimos la contraseña2 y hacemos clic en OK se instalará automáticamente y reiniciamos. Figura 6.4 Descompresión ULforLV711a 6.3 Análisis En base a un análisis teórico del software LabVIEW y evolucionando desde la versión 6.0 hasta llegar a la versión 8.2, damos solución a uno de nuestros objetivos más grandes que consistió en la creación de un sistema de monitoreo programado en lenguaje G complementado con la utilización de un dispositivo de adquisición de datos (DAQ) para la obtención de variables físicas y su posterior análisis. A grandes rasgos, la topología del sistema de monitoreo para una pesquera (a modo de ejemplo la pesquera el Golfo Corral en Valdivia) queda como se muestra en la Figura 6.5 2 La contraseña es: mcclv711a entregada por la MCC en un archivo llamado “readme.txt”.
  76. 76. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 65 Panel Frontal Figura 6.5 En la paleta de controles del panel frontal en Containers dividimos la pantalla en dos mediante la función Vert Spliter Bar (ver Figuras 6.6a y 6.6b respectivamente) con la finalidad de dejar en el lado izquierdo opciones fijas para mayor flexibilidad al sistema, como por ejemplo, la ruta de acceso al archivo que guardará las muestras, el tiempo de muestreo, el menú de cambio de páginas y un botón de stop para detener el programa. Y en el lado derecho las funciones más importantes como es el propio monitoreo con las distintas variables a adquirir. (a) (b) Figura 6.6 Paleta controles Containers
  77. 77. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 66 Con la paleta de herramientas, como mencionamos en el capítulo V, le damos apariencia a nuestro VI en el panel frontal, principalmente utilizando colores. En el lado derecho de la pantalla y volviendo al control Containers seleccionamos la opción Tab Control que es de gran utilidad para el paso automático de una variable a otra (páginas) mediante la configuración del teclado o mouse (ver figura 6.7). Figura 6.7 Paleta de herramientas Figura 6.8 Tab control Haciendo clic derecho en el borde del Tab Control se despliega un menú donde existen variadas características para modificarlo, una de ellas es la de poder ir añadiendo Pages (páginas) con la opción Add Pages After/Before y complementarlo con la paleta de herramientas para darle una atractiva apariencia. Figura 6.9 Ejemplo Tab control Sub Sistema de Adquisición de datos La principal etapa o el corazón de toda la programación G es la simulación de la DAQ. Con la ayuda de los controles MCC Data Acquisition (ver figura 6.10) programamos virtualmente la DAQ USB 1208FS. Lo que se hace principalmente es obtener las variables físicas, convertir estas señales en variables de voltaje y posteriormente visualizarlas.
  78. 78. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 67 Figura 6.10 Controles MCC Data Acquisition Para simular la DAQ USB 1208FS ocupamos 3 bloques obtenidos de distintos controles de la librería MCC Data Acquisition. AIn.vi Analog Input ToEng.vi Signal Configuration ErrMsg.vi Calibration & Configuration Internamente estos bloques los configuramos de la siguiente manera: AIn lee la entrada de un canal A/D. Figura 6.11 Bloque AIn
  79. 79. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 68 ToEng Convierte, ya sea un valor simple o un array A/D a un valor equivalente en voltaje o corriente. Figura 6.12 Bloque ToEng ErrMsg Devuelve un mensaje de error asociado a un código de error. Si el código de error no es igual a 0 indica que ocurrió un error. Figura 6.13 Bloque ErrMsg La etapa de simulación de la DAQ 1208FS nos queda de la siguiente forma: Figura 6.14 Etapa simulación de la DAQ 1208FS Observación: BoardNum se refiere al número de placa asociada con la placa configurada cuando se instaló el programa InstaCal (igual número)
  80. 80. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 69 Sub Sistema de Almacenamiento de datos Cada dato que es capturado por la DAQ es llevado mediante la construcción de un arreglo al bloque Write to Spreadsheet que tiene la función de insertar ordenadamente la información en el programa Microsoft Excel para su posterior análisis. (a) (b) Figura 6.15 Subsistema de almacenamiento Sub Sistema de Alarma Esta etapa esta dividida principalmente en dos partes: a) Alarma Visual Se caracteriza por la presencia de leds verdes (on/off) para cada variable física que sobrepase su nivel permitido para un funcionamiento estable dentro de la empresa pesquera. En la Figura 6.16 se encuentra en la pantalla principal del sistema de monitoreo (Panel Frontal). Cada canal indica una variable distinta adquirida por la DAQ. En caso de peligro, un led verde se enciende como se muestra en el Canal 0.
  81. 81. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 70 Figura 6.16 Alarma visual (panel frontal) La programación en el Diagrama de Bloques queda representada por los siguientes símbolos. Haciendo doble clic dentro del icono de la bocina, entramos a la programación que pertenece a la parte sonora. b) Alarma Sonora Consiste en un archivo con extensión WAV. Al sobrepasar “x” nivel, este se acciona y comienza a sonar, actuando paralelamente con el encendido de los leds verdes. Figura 6.17 Alarma sonora (diagrama de bloques)
  82. 82. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 71 Principal (panel frontal) La pantalla principal del sistema de monitoreo queda representado como se muestra a continuación en la figura 6.18. Como se explicó anteriormente, dividimos la pantalla en dos mediante la función Vert Spliter Bar. La parte izquierda de la pantalla está representada por la ruta de archivo, el tiempo de muestreo, los distintos menús y el botón de stop para detener el funcionamiento del sistema de monitoreo. En la parte derecha de la pantalla se identifican los 8 canales de la DAQ 1208FS, la fecha, la hora, el sistema de alarma y la última muestra de cada variable capturada y visualizada en la tabla llamada base de datos. Figura 6.18 Pantalla principal Sistema Monitoreo (panel frontal)
  83. 83. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 72 Exploración de los distintos menús Menú Caldera Nivel de Presión Monitorea en tiempo real el nivel de presión en Kg/cm2 de ambas calderas. Al mismo tiempo se muestrean las señales a medida que trascurre el tiempo. Figura 6.19 Pantalla nivel de presión • Nivel de Agua Monitorea en tiempo real el nivel de agua de ambas calderas. Al igual que en el caso anterior se muestrean las señales. Figura 6.20 Pantalla nivel de agua
  84. 84. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 73 • Nivel de Temperatura Monitorea en tiempo real el nivel de temperatura del petróleo de ambas calderas. Paralelamente se visualiza el muestreo de ésta variable. Figura 6.21 Pantalla nivel temperatura de petróleo Menú Planta • Diagrama General Este diagrama, detalla las principales etapas que existen para la elaboración de harina de pescado en una planta. a) Pozos – Cocedores – Prensas b) Separadoras – Desborradoras c) Planta evaporadora d) Secadores e) Homogenizadores – Ensaque – Transporte
  85. 85. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 74 Figura 6.22 Diagrama general elaboración harina de pescado
  86. 86. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 75 Tramo 1 Figura 6.23 Diagrama general elaboración harina de pescado
  87. 87. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 76 Tramo 2 Figura 6.24 Separadoras – Desborradoras (Tramo 2)
  88. 88. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 77 Tramo 3 Figura 6.25 Planta Evaporadora (Tramo 3)
  89. 89. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 78 Tramo 4 Figura 6.26 Secadores a Vapor (Tramo 4)
  90. 90. ANÁLISIS EXPERIMENTAL ______________________________________________________________________________________________ 79 Tramo 5 Figura 6.27 Homogenizadores – Ensaque (Tramo 5)
  91. 91. VII PROYECTO LABORATORIO
  92. 92. PROYECTO LABORATORIO ______________________________________________________________________________________________ 81 7.1 Proyecto de laboratorio En nuestro proyecto de tesis se tiene considerado la proyección de un laboratorio con la finalidad de otorgarle un espacio al software que hemos analizado en detalle con anterioridad. Para ello, es que se procede a analizar la situación en la cual se encuentra el Instituto de Electricidad y Electrónica de la Facultad de Ciencias de la Ingeniería de la Universidad Austral de Chile, el cual en la docencia de pregrado posee a la fecha alrededor de 300 alumnos los cuales se verían ampliamente favorecidos con la iniciativa que se pretende integrar en su rama de asignaturas. Ahora, para la implementación del proyecto en si queda de manifiesto que las necesidades no son solo del orden físico si no que además de equipamiento tecnológico, sin embargo, el costo asociado a este concepto se estima que no es muy alto es por ello que siendo esta la única inversión a realizar se puede deducir que la ejecución final es altamente viable. Por otra parte, la implementación del software tiene como necesidad instantánea la adquisición de computadores como parte integral del proyecto, ya que es aquí donde se instalaran LabVIEW y todos los componentes que se incorporen con posterioridad. Para continuar, con lo que se refiere al espacio físico es que se considera como lugar ideal el laboratorio que en este momento pertenece al laboratorio de digitales siendo este adaptado a las necesidades del futuro laboratorio de LabVIEW. Finalmente, podemos observar que el proyecto tiene como uno de sus objetivos principales integrar nuevas tecnologías y conocimientos a la malla curricular de los alumnos tanto del Instituto de Ingeniería Electrónica así como de cualquiera que se interese en descubrir las posibilidades que entrega LabVIEW como herramienta de trabajo en diversas áreas de la ingeniería.
  93. 93. PROYECTO LABORATORIO ______________________________________________________________________________________________ 82 7.2 Resumen del proyecto El proyecto tiene como objetivo principal integrar una nueva herramienta para ampliar las posibilidades de los alumnos de la Facultad de Ciencias de la Ingeniería de la Universidad Austral de Chile, para ello es que se pretende incorporar nuevos laboratorios con la tecnología necesaria para que el trabajo se vea facilitado considerando la adquisición de computadores y diversas tarjetas de interfase las cuales aumentan aun mas la potencialidad de LabVIEW En cuanto a la infraestructura necesaria esta se encuentra disponible y solo se precisan pequeñas modificaciones en lo que se refiere al mobiliario y a la red eléctrica lo que no representa una gran inversión. Además la futura implementación de dichas instalaciones pueden verse traducidas en una mayor satisfacción del alumnado tanto del instituto como de la universidad en si. 7.3 Objetivos 7.3.1 ObjetivosGenerales • Proyectar la implementación de un laboratorio de experimentación para la utilización del software de análisis LabVIEW en su versión 8.2 7.3.2 ObjetivosEspecíficos • Acercar a los alumnos del instituto a LabVIEW con la finalidad de que estos vallan descubriendo las potencialidades de este nuevo software. • Analizar los costos asociados a la implementación del proyecto del laboratorio. • Analizar y proponer el espacio físico necesario para la implementación del laboratorio. • Analizar las ventajas y desventajas de la implementación de dicho laboratorio.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×