UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO Nombre del proyecto: Automatización de flujos de agua Empresa: SAMSA Memoria que como parte de los requisitos para obtener el título de: TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN Presenta: HECTOR RUELAS LEGORRETA Asesor de la UTEQ Ing. Jesús Ricardo Tapia Armas Asesor de la Empresa Ing. Álvaro Nieto Moreddou Santiago de Querétaro, Qro, Agosto del 2013
Resumen: En este proyecto se desarrollo un software para monitorear y controlar un sistema de bombeo controlado por un PLC Siemens de la familia S7-1200 con un modulo de entradas y salidas analógicas. Este software fue programado en Visual Basic 2012. Se desarrollo para establecer una comunicación TCP/IP ya sea alambrica o inalámbricamente tanto en una red local o a través de internet. Se fue creando el código desde el establecimiento del protocolo de comunicación hasta la lectura y escritura de las variables del código del PLC. Este programa permite leer y escribir las variables dentro de un bloque de datos del código del PLC, enviar correos con alertas sobre las fallas, llevar un registro del comportamiento del proceso, generar reportes históricos de las variables y un registro de los eventos importantes sobre el proceso. Todos los objetivos fueron alcanzados además de otros solicitados por la empresa. En conclusión aunque fue difícil por la carencia de antecedentes y de algún tipo de desarrollo o investigación anterior. El proyecto fue un éxito y alcanzo todos los objetivos de manera satisfactoria. (PLC, Visual Basic, Control, Internet, Variables.) 2
Description: This internship period was done in Samsa Company, a little office and workshop in Queretaro City, specialized in the development of automatized equipment for pumping water. The office where I work is painted white and blue, it has a couple of desks and a couple of couches, and being small as it is, it has enough equipment to do the work. The project was led by engineer Alvaro Nieto, founder and CO of the company, who guided, designed and directed full time with the team in charge of the project. My immediate boss is a smart and proactive person; he is also hardworking, reliable and easy going. He is a very tall and big person, and very kind. HECTOR RUELAS LEGORRETA 3
Índice de la Memoria: Resumen...2 Description 3 Índice.....4 I. Introducción...5 II. III. IV. Antecedentes...5 Justificación...6 Objetivos 6 V. Alcance..7 VI. VII. VIII. IX. Análisis de Riesgos..7 Fundamentación Teórica 8 Plan de Actividades.9 Recursos Materiales y Humanos.10 X. Desarrollo del Proyecto.10 XI. XII. XIII. XIV. Resultados Obtenidos... 13 Conclusiones y Recomendaciones.14 Anexos.15 Bibliografía..16 4
I.- Introducción: El desarrollo de este software surgió de la necesidad de poder tener un control y monitoreo sobre un proceso controlado por un PLC Siemens S7-1200 sin utilizar las herramientas de desarrollo de Siemens, ya que estas se encuentran muy limitadas y requieren de la compra de varias licencias tanto para el desarrollo del control como para el sistema de monitoreo entregado al cliente. La empresa donde se desarrollo el software es SAMSA automatización. El objetivo general fue generar un software de control y monitoreo. El modelo educativo es Técnico Superior Universitario (TSU) en Mecatrónica Área Automatización en modelo intensivo. SAMSA Automatización, el giro de la empresa es el desarrollo de sistemas automáticos de bombeo. II.- Antecedentes: Dado que no existe otra interfaz de conexión con el PLC (Controlador Lógico Programable) S7-1200 de Siemens a excepción de las proporcionados por ellos, las cuales están muy limitadas en memoria, velocidad y prestaciones, Entoncesse decidió realizar una nueva plataforma en el ambiente de Visual Basic para el monitoreo y control del PLC en cuestión. Así mismo del requerimiento de licencias y software el cual encarece el proceso, se origino la idea de crear el software. 5
III.- Justificación: Este proyecto se concibió para proporcionar a los clientes una plataforma de monitoreo y control de bombeo de agua, más eficiente, rápida, con másopciones de control y gestión de datos, y de manera remota. Ya que los altos mandos de los clientes de SAMSA normalmente no se encuentran mucho tiempo en una sola ubicación. De este modo se genera la idea de un programa de conexión remota el cual pueda monitorear y manipular las variables del proceso de bombeo de agua con una forma ligera, practica, con más opciones de control y gestión de datos, remota y sencilla. IV.- Objetivos: 1. Realizar una conexión estable con el PLC(Controlador Lógico Programable) S7-1200 de Siemens por medio de protocolo TCP/IP de Ethernet Industrial en una aplicación de Visual Basic. 2.-Desplegar los controles de las variables de hasta 6 bombas del proceso de control de manera fiable, rápida, ligera, amigable con el usuario, y en tiempo real. 3.-Adquirir la facultad de modificar 20 controles del proceso de manera fiable, rápida, ligera, amigable con el usuario, y en tiempo real. 4.-Graficar en tiempo real 5 de las variables del proceso de control de manera fiable, rápida, ligera, amigable con el usuario, y en tiempo real. 6
5.-Adquirir la facultad de generar un reporte semanal con los valores de 5 de las variables del proceso de manera fiable, rápida, ligera, amigable con el usuario, y en tiempo real. 6.-Tener 3 selectores para poder desplegar la información en diferentes tipos de unidades de presión, de caudal e indicar de cuantas bombas es el sistema. V.- Alcances: Esta plataforma será de una forma genérica para poderse utilizar en cualquier tipo de equipo instalado por la empresa, será entregada como un software opcional al cliente por un costo extra, y en un futuro se planea que sustituya a las HMI de siemens y a los tableros de control físicos reduciendo así el costo de instalación hasta por $30,000. Así mismo generando una plataforma para mantenimiento económica, rápida y remota. En esta etapa del proyecto se pretende completar y alcanzar todos los objetivos propuestos con la forma y tiempo establecidos. VI.- Análisis de riesgos: Las posibles limitaciones y contratiempos que podría tener el proyecto podrían ser: 1.-La conexión puede ser inestable, intermitente o con pérdida de datos 2.-los datos recibidos podrían ser retrasados y/o sobrescritos sin poderse haber desplegado y/o analizado. 7
3.- los controles podrían no ser en tiempo real generando una respuesta lenta del sistema 4.- la grafica podría no ser clara y de fácil interpretación 5.-La herramienta podría carecer de una forma fiable de exportar los datos a alguna otra aplicación/programa y por lo tanto imposible de generar un reporte 6.-Podrian haber problemas, incertidumbres e inexactitud al momento de hacer las conversiones de las diferentes unidades de medida. VII.- Fundamentación Teórica: Dado que la comunicación con el PLC para programarlo y controlarlo por medio de las herramientas de Siemens (TIA Portal y el OPC de siemens) son realizadas por medio de comunicación TCP/IP Ethernet Industrial, Por lo tanto es posible utilizar este protocolo con alguna otra herramienta de software para obtener y gestionar los datos del PLC. 8
VIII.- Plan De Actividades: Tarea Fecha Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Semana 9 Semana 10 Semana 11 Semana 12 Instalación del software necesario Investigación para comprender la gestión de datos y la comunicación del plc Establecer comunicación con el Plc Generar el código para poder leer las Variables Generar el código para poder escribir las Variables Generar el código para poder graficar los datos obtenidos Generar el código para exportar los datos a otra aplicación Generar el código para poder cambiar las unidades de medición Generar el código para asegurar con Contraseñas Desplegar todas las variables a leer Establecer campos para ingresar todos los datos a escribir Generar la grafica con los 5 datos Necesarios Exportar los datos necesarios en los periodos establecidos Establecer campos necesarios para ingresar contraseñas Modificación visual para dar una organización amigable y funcional Pruebas del programa en versión Alpha Corrección de fallas y errores de la versión Alpha Pruebas del programa en versión Beta Corrección de fallas y errores de la versión Beta 9
IX.- Recursos Materiales y Humanos: -PLC de Siemens S7-1200 -Cable Ethernet -Ruteador o Switch Inalámbrico(opcional) -Computadora con Sistema operativo Windows XP en adelante, con el software TIA Portal 2011 o mayor y con Visual Studio 2010 o mayor. -Personal con dominio del software TIA Portal y Visual Studio X.- Desarrollo del Proyecto: Al inicio del proyecto se procedió a evaluar el equipo de cómputo con el que se contaba para determinar si tenía las características necesarias para el desarrollo del software. Después de la limpieza y formateo del equipo de computo se determino que cumplía con los requisitos y se procedió a instalar el software necesario. Se realizo una investigación extensa sobre la arquitectura del PLC y la gestión de datos en este y se descubrió que solo podía accederse a los bloques de datos, entradas y salidas del PLC. Entonces se procedió a generar un código que pudiera establecer una comunicación estable con el PLC en un ambiente dentro de Visual Basic como lo requerían los objetivos del proyecto. Tras varios intentos y a base de prueba y error se pudo generar la conexión. 10
Con la conexión estable se pudo proceder a leer la información del PLC, pero, al no tener bloques de datos directamente relacionados con la tabla de variables del PLC se genero un bloque de función en el cual se copiaban los valores de estas variables y se enviaban a un bloque de datos el cual ya era accesible para la aplicación, con esto, se pudieron recopilar los datos del PLC y su tabla de variables. Teniendo las lecturas de las variables del PLC, el siguiente paso fue escribir sobre ellas, pero, al igual que el caso anterior, se podía escribir en un bloque de datos, pero causaba ningún efecto sobre el PLC, así que se genero otro bloque de funciones para mandar los valores escritos por la computadora en los bloques de datos a la tabla de variables del PLC. Pudiendo leer y escribir los datos del PLC, el siguiente punto fue generar un código en el cual se pudiera graficar las lecturas obtenidas, se generaron funciones de grafica, en los que se iban almacenando los valores cada segundo, borrando el último dato y agregando el nuevo al principio de la lista, de este modo se podía obtener una grafica en tiempo real de hasta los últimos 5 minutos del proceso. También al tener lecturas de los datos, estos se podían almacenar, los cuales se guardaban en arreglos de variables tipo flotante, en un arreglo de 3600 se podía almacenar los valores de lecturas de cada segundo hasta por una hora, y así se pudieron escribir en un libro de Excel, logrando así el objetivo de exportar los datos a otra aplicación para su gestión. 11
El siguiente punto de los objetivos era asegurar que la escritura estuviera protegida por contraseña, así que se deshabilitaron todos los campos de escritura, y solo se podían rehabilitar cuando dos de los datos ingresados coincidían con los establecidos con el código. Teniendo el código base para obtener lecturas, fue muy sencillo copiar y modificar solo pequeñas porciones para obtener los datos de todas las variables requeridas de leer. Así mismo teniendo el código base para escribir en el PLC se copio y solo se modificaron puntos específicos para poder escribir todos los datos necesarios. Al tener la gráfica base, solo se agregó las líneas con los valores de las variables requeridas, se desplegaron los valores de éstas, y así se cumplió otro de los objetivos. Al lograr toda la programación se procedió a darle formato y un orden al programa ya que este se encontraba desorganizado y con una apariencia poco atractiva. Se introdujeron animaciones, se separo en diferentes campos, se agruparon en escritura y lectura, se generaron menús, pestañas, el logotipo de la empresa así como muchas otras cuestiones estéticas del programa. 12
XI.- Resultados Obtenidos: 1. Se logro realizar una conexión estable con el PLC la cual tiene prioridad sobre cualquier otra de las probadas en el momento, aun mayor que la de programación del PLC o la de obtención de datos por el Web Server, sin disminuir su capacidad o velocidad. 2.-Se logro generar el código y desplegar controles detallados sobre las 6 bombas y todas sus funciones y velocidades tanto en un modo automático por medio del PID del PLC y por medio manual indicado por el usuario. 3.-Se logro generar el código y desplegar controles para más de 90 variables del PLC y del proceso obteniendo un control detallado sobre el comportamiento del proceso. 4.-Se logro generar el código y desplegar una grafica la cual contiene los valores de las 5 variables deseadas en tiempo real y de los últimos 5 minutos transcurridos 5.-Por decisión de la empresa y por la cantidad de recursos en memoria RAM que se hubieran requerido el reporte en Excel se redujo a generar un reporte cada hora, cada 8 horas o cada 24 horas a decisión del usuario con la opción de establecer una hora para generar el primer reporte y de ahí se realicen automáticamente cada vez que se cumpla el tiempo establecido. 6.-Se logro generar el código y desplegar controles para seleccionar el tipo de unidad a utilizar en PSI, BAR y Kg/cm 2 en presión y en GPM y LPS en flujo. 13
XII.- Conclusiones y Recomendaciones: En conclusión se logro alcanzar todos los objetivos de manera satisfactoria en tiempo y forma, logrando que SAMSA cuente con una herramienta propia para el control y monitoreo de sus procesos, pudiendo así prescindir de las herramientas proporcionadas por Siemens, volviéndose así una empresa que ofrece un servicio extra y de un costo más competitivo. De esta manera concluye la estadía dentro de la SAMSA Automatización. En relación a la situación del límite de la memoria RAM, se recomienda simplemente que el desarrollador cuente con un equipo con mayor capacidad y que la computadora que se entregue al cliente o la que este use que este dedicada al control del proceso tenga una capacidad mayor. Si es requerido modificar el código del PLC para adaptarlo a una nueva aplicación se recomienda no modificar el bloque de datos donde se guardan las variables leídas, ya que estas se leen por su ubicación en la memoria del PLC y no por su nombre de identificación. Por lo tanto, si es necesario, no se debe borrar ninguna de las variables ya que esto cambiara su ubicación al momento de compilarse el programa, simplemente deben omitirse, y de agregarse nuevas, estas deben ir después de las ya utilizadas. 14
XIII.- Anexos: Archivo Léame Incluido con el programa: Sistema de Monitoreo y Accionamiento Remoto a través de Internet M.A.R.I. Versión 1.0.0.7 Conexión: Para que el programa pueda establecer una conexión local con el plc, la Computadora y el plc deben de encontrarse dentro de la misma red, la misma Subred, y en el mismo bloque. Para poder realizar una conexión a través de internet se debe hacer un Mapeo de puertos permitiendo entrada y salida a internet al puerto 102 de Laip del plc, así ingresando el ip que su proveedor de internet le asigna Podrá acceder remotamente a su plc. Contraseñas: Por su seguridad y la de su equipo el ingreso de las contraseñas expira después De 3 minutos, después de este tiempo tendrá que volver a ingresar su contraseña Si quiere realizar nuevas modificaciones. Reportes: Si no se ingresa una ruta en el campo para los reportes en Excel, estos se Guardaranautomáticamente en Mis Documentos con el nombre del equipo, la fecha Y la hora de expedición del reporte. Modo Manual: El modo manual le permite establecer a una velocidad las bombas a su selección Cuando se activa el modo manual todas las bombas se desactivan por seguridad, Entonces usted indicara cuales bombas serán las que enciendan. Utilizar el modo manual por más 24 horas invalida la garantía del equipo. Fallas: Cuando ocurra alguna falla del PLC o algún evento de importancia este se Registrara en un archivo de texto dentro de mis documentos, indicando el tipo De error, la fecha y la hora en la que este ocurrió. Si no se cuenta con conexión a internet se desplegara un cuadro de dialogo Indicando que no se ha podido mandar el correo, el tipo de falla y se Registrara en el archivo de texto antes descrito. Posibles soluciones a las fallas: -falla en transductor de presión El sensor de presión se encuentra dañado o mal conectado, reconectar o reemplazar. -cisterna vacía, equipo fuera La cisterna de agua se encuentra sin agua, rellenarla a un nivel operativo. -equipo fuera por pantalla táctil El control maestro en la pantalla táctil se encuentra en off, reactivar el Control maestro. - variador 1, 2, 3, 4,5 o 6 en falla o desconectado El variador de velocidad de la bomba correspondiente está dañado o desconectado, reconectar o reemplazar. - selector físico de la bomba 1, 2,3,4,5 o 6 NO en automático El selector en el tablero de control se encuentra en la posición manual, Cambiarposición a automático. 15
- selector pantalla táctil bomba 1,2,3,4,5 o 6 NO en automático El selector en la pantalla táctil del equipo se encuentra en modo manual, Cambiarposición a automático. - selector virtual PC bomba 1,2,3,4,5 o 6 NO en automático El selector dentro del programa de control se encuentra fuera de la posición De modo automático, cambiar posición a automático. XIV.- Bibliografía: Mengual Pitarch, Pilar (2011) STEP 7: UNA MANERA FÁCIL DE PROGRAMAR PLC DE SIEMENS editorial: MARCOMBO, S.A. Foro de ayuda de Siemens disponible en: http://support.automation.siemens.com 16