scieee AI-readable full text Open interactive document viewer

Integración de robot colaborativo en sistema de fabricación flexible en el contexto de la Industria 4.0

Aragón Isidro, Alazne

Abstract

Los sistemas de fabricación convencionales se encuentran inmersos en una transición hacia un modelo de producción más flexible que permita cubrir las demandas actuales del mercado. El paradigma de la Industria 4.0 plantea el uso de herramientas y tecnologías que aumenten la eficiencia y la capacidad de adaptación de los procesos productivos para hacer frente a un mercado globalizado y con una alta competitividad. Para lograr estos objetivos se pueden identificar dos factores clave: la robotización y la descentralización. Una de las tecnologías determinantes en este nuevo modelo de producción es la robótica colaborativa, ya que aporta fuerza, resistencia y precisión en la realización de tareas, y, sobre todo, capacidad para que personas y robots puedan colaborar en la realización de dichas tareas. Así, el uso de la robótica colaborativa permite maximizar la flexibilidad, la productividad y la calidad de los procesos. Los sistemas multiagente han demostrado ser adecuados para satisfacer los requisitos de conectividad y descentralización de los activos de fabricación en diferentes entornos industriales, hasta el punto de que el concepto de Agente Industrial se concibe como una implementación del concepto de Componente I4.0 (una particularización del concepto de Sistema Ciberfísico alineado con la arquitectura de referencia RAMI 4.0) mediante agentes. Este este contexto, este trabajo contribuye a la integración de una estación de ensamblado (formada por un robot colaborativo y un PLC) como agente industrial dentro FlexManSys, una plataforma de gestión de aplicaciones de fabricación desarrollada por el grupo de investigación GCIS de la UPV/EHU. Se sigue una arquitectura en 4 capas que permite la integración de la estación de ensamblado como componente I4.0 dentro de la plataforma inteligente. Esta integración comprende: la identificación y programación de las operaciones de la estación, de forma modular para maximizar la flexibilidad del sistema; la definición de los mecanismos necesarios para el intercambio de datos entre el activo y su agente asociado, y la definición de una interfaz, a nivel de sistema, que permita la gestión virtual de la estación.

Full text

MÁSTER UNIVERSITARIO EN INGENIERÍA DE CONTROL, AUTOMÁTICA Y ROBÓTICA TRABAJO FIN DE MÁSTER INTEGRACIÓN DE ROBOT COLABORATIVO EN SISTEMA DE FABRICACIÓNFLEXIBLE EN EL CONTEXTO DE LA INDUSTRIA 4.0 Bilbao, 24, junio, 2022 Estudiante Aragón Isidro, Alazne Directoras Sarachaga González, María Isabel Armentia Diaz de Tuesta, Aintzane Departamento Ingeniería de Sistema y Automática Curso académico 2021/2022 AGRADECIMIENTOS Quería comenzar este apartado agradeciendo el trato recibido por todos los profesores durante el máster. También agradecer a mis compañeros por estos dos años, no ha sido nada fácil comenzar un curso después de una pandemia y sin poder vernos la mitad de la cara, pero hemos conseguido pasar buenos momentos quedándonos con anécdotas para recordar. Agradecer también a todos aquellos que han seguido al lado mío a pesar de haberme tenido que desplazar a Bilbao. Este desplazamiento ha conseguido que los fines de semana los disfrutásemos de una mejor forma. Por ello, gracias a esas amigas y amigos que siempre están, aunque no nos veamos todos los días. Agradecer el esfuerzo de mis directoras, Isabel y Aintzane, el cual ha servido para poder sacar adelante este proyecto. Gracias por el trato que me habéis dado y por haber mostrado en todo momento vuestro apoyo ante cualquier situación. Sin olvidarme de Alejandro y Oskar, quienes han estado dispuestos a ayudarme en todo momento. Por último, agradecer a mi familia por haberme dejado adentrarme en esta nueva experiencia, la cual suma una etapa más de mi vida. A pesar de ser unos años duros han servido para madurar como estudiante y también como persona. Gracias por seguir a mi lado aun no poder pasar tanto tiempo juntos. RESUMEN Resumen Los sistemas de fabricación convencionales se encuentran inmersos en una transición hacia un modelo de producción más flexible que permita cubrir las demandas actuales del mercado. El paradigma de la Industria 4.0 plantea el uso de herramientas y tecnologías que aumenten la eficiencia y la capacidad de adaptación de los procesos productivos para hacer frente a un mercado globalizado y con una alta competitividad. Para lograr estos objetivos se pueden identificar dos factores clave: la robotización y la descentralización. Una de las tecnologías determinantes en este nuevo modelo de producción es la robótica colaborativa, ya que aporta fuerza, resistencia y precisión en la realización de tareas, y, sobre todo, capacidad para que personas y robots puedan colaborar en la realización de dichas tareas. Así, el uso de la robótica colaborativa permite maximizar la flexibilidad, la productividad y la calidad de los procesos. Los sistemas multiagente han demostrado ser adecuados para satisfacer los requisitos de conectividad y descentralización de los activos de fabricación en diferentes entornos industriales, hasta el punto de que el concepto de Agente Industrial se concibe como una implementación del concepto de Componente I4.0 (una particularización del concepto de Sistema Ciberfísico alineado con la arquitectura de referencia RAMI 4.0) mediante agentes. Este este contexto, este trabajo contribuye a la integración de una estación de ensamblado (formada por un robot colaborativo y un PLC) como agente industrial dentro FlexManSys, una plataforma de gestión de aplicaciones de fabricación desarrollada por el grupo de investigación GCIS de la UPV/EHU. Se sigue una arquitectura en 4 capas que permite la integración de la estación de ensamblado como componente I4.0 dentro de la plataforma inteligente. Esta integración comprende: la identificación y programación de las operaciones de la estación, de forma modular para maximizar la flexibilidad del sistema; la definición de los mecanismos necesarios para el intercambio de datos entre el activo y su agente asociado, y la definición de una interfaz, a nivel de sistema, que permita la gestión virtual de la estación. Palabras clave: Robótica colaborativa, agente industrial, componente I4.0, RAMI 4.0 y fabricación flexible. IV 5 PRUEBAS Y RESULTADOS ......................................................................... 61 5.1 Pruebas unitarias .............................................................................................. 62 5.1.1 Pruebas unitarias del robot ......................................................................... 62 5.1.2 Pruebas de conexión del PLC y el bróker .................................................. 62 5.1.3 Pruebas de conexión del PLC y el robot .................................................... 63 5.1.4 Pruebas de conexión entre el agente máquina y el agente pasarela ... 64 5.1.5 Pruebas de conexión entre el bróker y el agente pasarela..................... 65 5.2 Pruebas de integración .................................................................................... 65 5.2.1 Pruebas de integración del asset ............................................................... 65 5.2.2 Pruebas de integración del bróker ............................................................. 67 5.2.3 Pruebas de integración del agente máquina y el agente pasarela ....... 70 5.3 Pruebas de verificación y validación .............................................................. 71 6 METODOLOGÍA DE DESARROLLO DEL TRABAJO........................... 77 6.1 Descripción de las tareas ................................................................................. 77 6.1.1 Formación ..................................................................................................... 78 6.1.2 Programación del robot .............................................................................. 78 6.1.3 Conexión PLC – Robot ................................................................................. 78 6.1.4 Comunicación MQTT ................................................................................... 78 6.1.5 Agentes .......................................................................................................... 78 6.1.6 Integración .................................................................................................... 79 6.1.7 Documentación ............................................................................................ 79 6.2 Fases del proyecto ............................................................................................ 79 6.3 Diagrama de Gantt ........................................................................................... 81 7 ASPECTOS ECONÓMICOS ......................................................................... 85 8 CONCLUSIONES ............................................................................................. 89 9 REFERENCIAS BIBLIOGRÁFICAS ............................................................ 93 ÍNDICE DE FIGURAS VII Índice de figuras Figura 1. 1. Correlación entre la arquitectura de cuatro capar y un Componente I4.0 [7] ........................ 7 Figura 3. 1. Evolución de la industria [50] ................................................................................................ 17 Figura 3. 2. Arquitectura RAMI 4.0 [51] ................................................................................................... 19 Figura 3. 3. Componente I4.0 [52] ............................................................................................................ 20 Figura 3. 4. UR3e - Universal Robots [23] ................................................................................................. 23 Figura 3. 5. PolyScope [27] ....................................................................................................................... 24 Figura 3. 6. Arquitectura MQTT [45] ........................................................................................................ 28 Figura 4. 1. Representación del proyecto ................................................................................................. 34 Figura 4. 2. Mensajería entre el agente máquina y el agente pasarela ................................................... 36 Figura 4. 3. Diagrama de secuencia de la realización de un servicio ....................................................... 37 Figura 4. 4. Bloque de datos AASassetDB declarado en TIA Portal ......................................................... 41 Figura 4. 5. Definición de la dirección IP y el puerto del bróker ............................................................... 43 Figura 4. 6. Permitir acceso al bróker de dispositivos externos ................................................................ 43 Figura 4. 7. Comunicación entre el PLC y el bróker MQTT ........................................................................ 44 Figura 4. 8. Cliente MQTT (TIA Portal) ...................................................................................................... 45 Figura 4. 9. Diagrama de secuencia para la comunicación entre el agente máquina y el bróker ............ 47 Figura 4. 10.Diagrama de secuencia para la comunicación del bróker y el PLC ....................................... 47 Figura 4. 11. Conjunto de piezas .............................................................................................................. 49 Figura 4. 12. Palé ...................................................................................................................................... 49 Figura 4. 13. Disposición de la mesa de trabajo ....................................................................................... 50 Figura 4. 14. Descripción de las rampas ................................................................................................... 51 Figura 4. 15. Elementos dispensadores de la mesa de trabajo ................................................................ 51 Figura 4. 16. Posibles montajes finales .................................................................................................... 54 Figura 4. 17. Posición de los ítems sobre el palé ...................................................................................... 57 Figura 5. 1. Entorno de pruebas ............................................................................................................... 61 Figura 5. 2. Arranque de Mosquitto ......................................................................................................... 63 Figura 5. 3. Configuración Profinet en la instalación del robot ................................................................ 63 Figura 5. 4. Dispositivos y redes empleados en las pruebas de conexión del PLC y el robot .................... 64 Figura 5. 5. Selección de tópicos (TIA Portal) ........................................................................................... 68 Figura 5. 6. Bloque de deserializar (TIA Portal) ........................................................................................ 69 Figura 5. 7. Bloque de serializar (TIA Portal) ............................................................................................ 70 Figura 5. 8. Definición de los datos de fabricación ................................................................................... 71 Figura 5. 9. HMI ........................................................................................................................................ 73 Figura 6. 1. Diagrama de Gantt ................................................................................................................ 81 ÍNDICE DE TABLAS XI Índice de tablas Tabla 3. 1. Características de los robots de Universal Robots .................................................................. 23 Tabla 4. 1 . Parámetros de control de intercambio de información (lectura/escritura) ........................... 38 Tabla 4. 2. Datos enviados del agente máquina al PLC ............................................................................ 39 Tabla 4. 3. Datos enviados del PLC al agente máquina ............................................................................ 40 Tabla 4. 1. Conjunto de servicios proporcionados por el asset ................................................................. 53 Tabla 4. 2. Fases requeridas para cada servicio ....................................................................................... 55 Tabla 6. 1. Desglose de la ejecución de las tareas por fases .................................................................... 80 Tabla 7. 1. Aspectos económicos .............................................................................................................. 86 CAPÍTULO 1 INTRODUCCIÓN CAPÍTULO 2 OBJETIVOS Y ALCANCE Capítulo 2: Objetivos y alcance 11 2 Objetivos y alcance En este capítulo de la memoria se presenta el objetivo principal del proyecto y los objetivos parciales que permitirán la consecución del mismo. Además, se describe el alcance del trabajo. 2.1 Objetivos El objetivo principal de este trabajo consiste en la integración de un asset físico en un sistema de fabricación flexible conforme al paradigma de la Industria 4.0. Concretamente, se realiza la integración de un robot colaborativo UR3e (que forma parte de una estación de ensamblado) como un Componente I4.0, dentro de una arquitectura inteligente basada en agentes industriales. Para poder alcanzar el objetivo principal definido, es necesario el cumplimiento de los objetivos parciales que se describen a continuación. El primero estaría relacionado con el desarrollo del asset físico, compuesto por el robot colaborativo y un PLC. Mientras que los dos siguientes estarían orientados al desarrollo de su ASS, necesario para su integración en la arquitectura inteligente. Dichos objetivos parciales están definidos en los siguientes puntos. 1. Modularidad en los servicios ofrecidos por el robot: tanto la identificación de los servicios ofrecidos por el robot como su programación deben estar orientados no sólo a cubrir necesidades de producción normal, sino también a poder hacer frente a situaciones excepcionales de producción (e.g.: llegada de pedidos de prioridad alta, recuperación ante el fallo de un robot que ofrece algún servicio similar, etc). 2. Protocolo de comunicación a nivel de aplicación: para lograr una correcta integración del asset físico en la arquitectura inteligente, es necesaria una comunicación bidireccional en la que el robot, por un lado, recibirá las órdenes necesarias y, por otro lado, deberá proporcionar información del estado de evolución de sus tareas. Para el desarrollo de la comunicación se hace uso de un protocolo asíncrono, el cual permite que Capítulo 2: Objetivos y alcance 12 cada una de las partes no tenga la necesidad de esperar a recibir la información. 3. Arquitectura de integración: teniendo en cuenta las capacidades de comunicación de las tecnologías empleadas en este trabajo (agentes industriales y una estación de ensamblado con robot UR3e) y el protocolo de nivel de aplicación definido, será necesario definir los elementos de integración necesarios, así como sus interfaces de comunicación. 2.2 Alcance Este trabajo se enmarca dentro del ámbito de la Industria 4.0 y los sistemas de fabricación flexible, centrándose en la integración de un nuevo activo en la arquitectura inteligente del sistema de fabricación. En concreto, el sistema de fabricación inteligente es implementado mediante la arquitectura basada en agentes FlexManSys, mientras que el activo con el que se trabaja es un robot colaborativo UR3e de Universal Robot. Los agentes inteligentes de FlexManSys decidirán qué tarea debe realizar el robot que, además, proporcionará información de estado sobre su evolución. Como cualquier otro agente inteligente, la implementación del agente máquina se realizará conforme a la arquitectura de 4 capas. No obstante, no está contemplado entre los objetivos del proyecto la integración de dicho agente con los restantes agentes de FlexManSys. Por tanto, la capa superior se implementará parcialmente, siendo objeto de trabajo a futuro complementario dotando al agente de las capacidades de negociación y toma de decisiones en el marco de la citada arquitectura inteligente. Los servicios que debe desempeñar el robot colaborativo UR3e deben coincidir con los realizados por otro robot Kuka existente en el demostrador, con el objetivo de permitir validar los aspectos de flexibilidad de la plataforma de gestión de aplicaciones de fabricación FlexManSys. Por este motivo, ambos robots presentan características similares en cuanto a alcance y capacidad de carga, y el layout del entorno de trabajo coincide. CAPÍTULO 3 ESTADO DE LA TECNOLOGÍA Capítulo 3: Estado de la tecnología 15 3 Estado de la tecnología La evolución de la humanidad contempla 4 revoluciones industriales hasta el momento. A consecuencia de las líneas de montaje de la segunda revolución industrial, se han introducido diferentes adelantos tecnológicos relacionados con la producción en masa. A partir de la tercera revolución industrial, la introducción de robots dio pie a la automatización, la informática y la electrónica en el sector industrial. Esta evolución hace evidente la necesidad de comunicar los dispositivos que se encuentran en una planta de trabajo. Con el paso de los años, las comunicaciones han ido evolucionando de manera que hoy en día se dispone de una variedad amplia de protocolos de comunicaciones industriales, lo cual permite elegir el que mejor se ajusta a la hora de realizar el trabajo. Estos protocolos son los que hacen posible el intercambio de datos entre los dispositivos. A lo largo de este capítulo se presentan las diferentes tecnologías base, las cuales son necesarias para comprender la propuesta realizada en el trabajo. Antes de comenzar con la descripción de las tecnologías, se define la Industria 4.0 (I4.0), sus antecedentes históricos y la arquitectura de referencia que sigue este trabajo. Dado que para el desarrollo del proyecto se dispone de una estación de ensamblado compuesta por un PLC y un robot colaborativo UR3e, el capítulo continúa definiendo este tipo de robots y, concretamente, el robot utilizado. Se finaliza el capítulo con las comunicaciones industriales, centrándose en las dos utilizadas durante el proyecto. Por un lado, se ha hecho uso de Profinet (protocolo de Ethernet Industrial) para la comunicación entre el PLC y el robot. Por otro lado, el resto de comunicaciones del proyecto se realizan mediante MQTT. 3.1 Industria 4.0 La Industria 4.0, también conocida como la cuarta revolución industrial, es un término que se escucha tanto en el sector industrial como en la vida cotidiana. Esta revolución ha modificado las características básicas de la industria hasta el momento [8]. Este término fue introducido por primera vez el año 2011 en Alemania, siendo más Capítulo 3: Estado de la tecnología 16 exactos, en la feria de Hannover. La Industria 4.0 se refiere a la inteligencia de la red de trabajo de máquinas y procesos para la industria con la ayuda de las tecnologías de la información y la comunicación (TIC) [9], [10]. 3.1.1 Historia de la Automatización Industrial Para entender mejor el concepto de Industria 4.0 es necesario conocer de dónde proviene (véase en la Figura 3.1), requiriendo definir algunos términos sobre las tres revoluciones industriales anteriores. La Primera Revolución Industrial (Industria 1.0) está relacionada con la mecanización de la producción y la introducción de la máquina de vapor. La Segunda Revolución Industrial (Industria 2.0), en cambio, comenzó con el descubrimiento de la electricidad y la producción en línea de ensamblaje. Henry Ford trasladó los principios de la producción en masa a la industria del automóvil, consiguiendo producciones más rápidas con menores costes [11]. La Tercera Revolución Industrial (Industria 3.0, I3.0), también conocida como la revolución científico-tecnológica (RCT), se dio alrededor de los años 70. Esta revolución se centra en la producción en masa y el uso masificado de la lógica digital, concretamente, en los transistores MOS y chips de circuitos integrados, y todas las tecnologías que derivan de estos dos. El uso de estos productos trajo innovaciones que transformaron los métodos tradicionales de producción, permitiendo introducir en la industria la automatización parcial, usando controladores con memoria programable y computadoras. Lo que supuso el comienzo de la introducción de robots en el sector industrial. El origen de la Cuarta Revolución Industrial (Industria 4.0, I4.0) representa la combinación de las nuevas formas en la que la tecnología puede ser integrada tanto en la industria como en la vida cotidiana, mediante la fusión de las tecnologías actuales. Dentro de esta revolución se definen avances tecnológicos como la inteligencia artificial, la nanotecnología y la impresión 3D entro otros [12]. En los siguientes puntos se muestran algunas de las diferencias que existen entre la Industria 3.0 y la Industria 4.0 [13]: • La I3.0 se limita a los sistemas físicos, mientras que la I4.0 está enfocada a los sistemas ciberfísicos, compuestos por sistemas reales y virtuales al mismo tiempo. Capítulo 3: Estado de la tecnología 17 •La Inteligencia Artificial (Artificial Intelligence, AI) es la precursora de la I4.0. A través de ella se integran conceptos como Machine Learning y manejo de grandes cantidades de datos (BigData), entre otros. •La I4.0 se basa en las comunicaciones rápidas entre los diferentes elementos de la industria para una adaptación igualmente veloz a los cambios. Resumiendo, la principal diferencia entre las dos últimas revoluciones industriales se encuentra a nivel tecnológico. La I3.0 surgió hace varias décadas, lo que supone que las tecnologías utilizadas durante esa revolución sean menos satisfactorias en comparación con las de la I4.0. Es decir, la cuarta revolución da un paso más, no solo temporal, sino también en la digitalización del dato. Lo cual, acompañado del gran desarrollo de las tecnologías actuales de procesamiento y comunicación permite hacer frente a las exigentes demandas de flexibilidad de los actuales sistemas de fabricación. Figura 3. 1. Evolución de la industria [50] 3.1.2 RAMI 4.0 La evolución de la industria conlleva la necesidad de la generación de modelos de arquitectura de referencia, que permitan aplicar buenas prácticas a los diseños sin el estorbo de restricciones innecesarias y arbitrarias. Las arquitecturas más conocidas en el sector industrial son las siguientes: RAMI 4.0 (Reference Arquitectural Model Industrie, Europa), NIST (National Institute of Standards and Technology), IIRA Capítulo 3: Estado de la tecnología 24 Para programarlo se dispone de PolyScope (véase en la Figura 3.5) que es una Interfaz Gráfica de Usuario (Graphical User Interface, GUI) en el Teach Pendant. Esta interfaz permite operar con el brazo robótico y la controladora, permitiendo ejecutar programas. Figura 3. 5. PolyScope [27] 3.3 Comunicaciones Con el paso de los años, las funcionalidades de los robots colaborativos van mejorando, consiguiendo que realicen trabajos más complejos y con mayor perfección. La necesidad de ser más eficientes y conseguir reducir el tiempo de producción, obliga a compartir tareas entre robots. Esto conlleva la necesidad de tener que realizar comunicaciones entre ellos [28]. Los protocolos de comunicación industriales hacen posible el intercambio de información entre diferentes dispositivos durante los procesos, consiguiendo formar una red de comunicación con todos los dispositivos que estén comunicados entre sí [29]. Por un lado, se ha generado la necesidad de evolucionar los antiguos protocolos ante la evolución de la industria, y, por otro lado, surge la necesidad de crear nuevos estándares basados en nuevas tecnologías. Entre los protocolos antiguos y los nuevos estándares, destacan protocolos como Ethernet Industrial, PROFIBUS, MQTT y AS-I. A Capítulo 3: Estado de la tecnología 25 la hora de desarrollar el proyecto se ha hecho uso de los protocolos MQTT y PROFINET, siendo este último un estándar de Ethernet. 3.3.1 Ethernet Ethernet [30] es uno de los protocolos más utilizados en el mundo, que surge de un esfuerzo colaborativo de la corporación XEROX. Es una tecnología tradicional que permite conectar dispositivos en una red de área local (LAN, Local Area Network) o una red de área amplia (Wide Area Network, WAN) por cable. Permite comunicar dos dispositivos a través de un protocolo, el cual define un lenguaje de red común [31]. La red de área local Ethernet proporciona una comunicación para el intercambio de datos de alta velocidad entre computadoras y otros dispositivos digitales, ubicados dentro de un área geográfica de tamaño moderado que cubre casas, oficinas... La IEEE define a la Ethernet como el Protocolo 802.3. Esta red es usada mundialmente debido a las ventajas que ofrece: bajo coste, compatibilidad con versiones anteriores, resistente al ruido, velocidad, fiabilidad y seguridad de los datos. 3.3.1.1 Ethernet Industrial Industrial Ethernet es el uso de Ethernet en un entorno industrial con protocolos que proporcionan determinismo y control en tiempo real [32]. Estos protocolos incluyen: •EtherCAT. Tecnología de Ethernet Industrial en tiempo real. Es un protocolo informático de código abierto y alto rendimiento creado y desarrollado por Beckhoff Automation [33]. •EtherNET/IP. Basado en un modelo de objeto llamado CIP (Control and Information Protocol), es un protocolo de red industrial. •PROFINET. Responde a la necesidad de interoperabilidad entre los dispositivos de automatización y los subsistemas, los cuales están enlazados mediante Ethernet. •POWERLINK. Protocolo de comunicación en tiempo real basado en hardware estándar Ethernet, que es capaz de expandir Ethernet mediante un mecanismo mixto de sondeo y distribución de tiempo [34]. Capítulo 3: Estado de la tecnología 26 • SERCOS III. Estandarización abierta a interfaces digitales para comunicaciones de tiempo real a alta velocidad entre controladores industriales, dispositivos de movimiento y dispositivos de entradas/salidas [35]. • CC-Link IE. Red con alto nivel de velocidad y con gran capacidad de cubrir largas distancias, que proporciona tanto comunicación asíncrona como comunicación síncrona determinista [36]. Teniendo en cuenta los diferentes protocolos que incluye Ethernet Industrial, en este proyecto se ha realizado la comunicación entre el PLC y el robot mediante el estándar abierto PROFINET. Dicho estándar es uno de los más utilizados mundialmente de Ethernet Industrial. El objetivo principal de este protocolo está en la reducción de los costes de ingeniería mediante la integración con plantas de automatización existentes, incluso estando basadas en buses de campos tradicionales [37], [38]. Este protocolo de comunicación considerado muy rápido a nivel de bus, permite intercambiar datos de forma rápida y determinista entre controladores y dispositivos de automatización [39]. La comunicación mediante Profinet puede realizarse mediante cable Ethernet, cable de fibra óptica, cable de alimentación a través de Ethernet o inalámbrico [40]. Profinet permite el intercambio de datos de una manera rápida, precisa y organizada. Profinet es un estándar de Ethernet Industrial desarrollado por Profibus International (PI) para ingeniería de plantas y máquinas modulares o E/S distribuidas. Consiste en varios temas como la automatización distribuida (Profinet CBA), los dispositivos de campo descentralizados, la gestión de redes, las pautas de instalación y la integración de web [41]. Dependiendo del tipo de información que se quiera transmitir existen diferentes mecanismos de transmisión, los cuales conforman los ‘canales de comunicación’. Dentro de Profinet existen tres canales de comunicación: en tiempo real (RT), en tiempo no real (NRT) y en tiempo real isócrono (IRT). • Tiempo real, RT. Define la comunicación en tiempo real manejando el intercambio de datos de tiempo crítico. Consigue tiempos de actualización mayores a los 250µs. Capítulo 3: Estado de la tecnología 27 •Tiempo no real, NRT. Utiliza todas las capas del modelo OSI y cuenta con direcciones IP, permitiendo acceder a los dispositivos a través de enrutamiento o internet. Este canal es utilizado mayormente para las comunicaciones menos sensibles, como la configuración entre el dispositivo y el controlador. •Tiempo real isócrono, IRT. Define una comunicación en tiempo real con ancho de banda reservado y ciclos sincronizados. Consigue tiempo de actualización mayores a los 125µs. 3.3.2 MQTT El protocolo MQTT, creado en 1999, es un protocolo de red de mensajería ligero estándar de OASIS para IoT (Internet of Things) y M2M (Machine to Machine). Está diseñado para el transporte de mensajería de publicación-suscripción entre dispositivos remotos, consiguiendo publicar y suscribir datos en tópicos. MQTT permite la mensajería entre un dispositivo y la nube y viceversa, consiguiendo facilitar el envío de datos en las dos direcciones. Sus siglas hacen referencia a ‘Message Queing Telemetry Transport’ [42], [43]. Este protocolo de publicación-suscripción (pubsub) está diseñado pensando en dispositivos pequeños [44]. Los sistemas Pubsub funcionan como un bus de mensajes. Un dispositivo proporciona un mensaje con información a un tema (tópico) y cualquier software con una suscripción en ese tema obtiene una copia de su mensaje. Son varias las ventajas que ofrece este protocolo, pero la principal está relacionada con la seguridad de una empresa. Este protocolo permite aumentar la seguridad, esto es debido a que los equipos están conectados a los servidores, de tal manera que se consigue almacenar los datos en una entidad. A día de hoy, MQTT es uno de los protocolos que más se utiliza en una amplia variedad de entornos industriales. Por ejemplo: automóvil, logística, fabricación, viviendas inteligentes (domótica), gas, petróleo y transporte. El protocolo MQTT como mínimo puede realizar 4 acciones: publicar, suscribirse, cancelar la suscripción y hacer ping. oPublicar. Envío de un bloque de datos. oSuscribirse. Suscripción de un cliente en un tópico. Capítulo 3: Estado de la tecnología 28 o Cancelar la suscripción. Desconexión del bróker, lo puede realizar tanto el suscriptor como el editor. o Ping. Es utilizado para comprobar si la conexión sigue funcionando. El cliente manda un paquete al bróker y este le contesta con otro paquete. 3.3.2.1 Arquitectura MQTT MQTT es un protocolo que sigue el paradigma publicista/suscriptor. Este mecanismo desacopla al cliente que envía mensajes (publicista) de uno o varios clientes que reciben los mensajes (suscriptores). Un bróker es un servidor con el que se comunican los clientes, estos clientes no se comunican entre sí. Los clientes que se conectan al bróker pueden ser publicistas, suscriptores o ambos (véase en la Figura 3.6). Figura 3. 6. Arquitectura MQTT [45] MQTT es un protocolo controlado por eventos, donde no hay transmisión de datos periódica o continua. 3.3.2.2 Tópicos MQTT Los mensajes MQTT se organizan en tópicos. Un tópico está compuesto por uno o más niveles. Los temas y las estructuras de temas son uno de los principales puntos de diseño de MQTT. A diferencia de los buses de mensajes más ‘empresariales’, en MQTT los temas no están registrados previamente. Los clientes MQTT pueden suscribirse o cancelar la suscripción a los tópicos. El remitente de un mensaje (mecanismo de publicación) se encarga de definir el contenido y el tópico al enviar el Capítulo 3: Estado de la tecnología 29 mensaje. Un bróker MQTT puede tener millones de tópicos consiguiendo una estructura ligera y dinámica. A la hora de suscribirse a un tópico se deben tener en cuenta los siguientes dos comodines. •# - Comodín multinivel. Permite acceder a todos los subtópicos del tópico al que se suscribe. El suscriptor estará suscrito a todo lo que esté después de este carácter, evitando suscribirse a cada uno de los tópicos. •+ - Comodín de un solo nivel. Solamente coincide hasta la siguiente barra invertida ‘/’. Puede ir situado en la mitad o al final del tópico. CAPÍTULO 4 DESCRIPCIÓN DE LA SOLUCIÓN PROPUESTA Capítulo 4: Descripción de la solución propuesta 33 4 Descripción de la solución propuesta Este capítulo describe la solución propuesta para la integración de un activo de fabricación, una estación de ensamblado, en un sistema de fabricación flexible, implementado mediante una arquitectura inteligente basada en agentes industriales llamada FlexManSys. La solución presentada es conforme al paradigma de la Industria 4.0, por lo que el activo se integra en FlexManSys como un Componente I4.0. Por un lado, los agentes son entidades software autónomas capaces de competir y colaborar con otros agentes para lograr sus objetivos, lo cual les dota de la capacidad para tomar decisiones y negociación necesaria para la implementación de sistemas de fabricación flexibles. Los agentes industriales son agentes que, además, son capaces de integrar assets físicos. Es por ello que suelen emplearse para la implementación de AASs. Este es el caso de la arquitectura de FlexManSys, donde todas las máquinas de una planta (assets físicos) están supervisadas por su correspondiente agente máquina (AAS basado en agentes), capaz de interactuar con el resto de agentes de la arquitectura para tomar decisiones sobre los servicios que la máquina debe realizar. Para esta toma de decisiones el agente máquina debe conocer el estado de las tareas que el asset físico esté llevando a cabo. Por otro lado, el asset físico es el responsable de realizar los servicios de fabricación que la arquitectura inteligente considere necesarios en cada momento. Y también es el encargado de informar acerca de la evolución de las tareas solicitadas. En este trabajo, el asset físico se corresponde con una estación de ensamblado compuesta de un PLC y un robot colaborativo. Este último será el que realice los servicios de fabricación relacionados con el ensamblaje de piezas. En este contexto, y tal y como se muestra en la Figura 4.1, el agente máquina (AAS) representa las capas superiores de la arquitectura de integración propuesta en este trabajo (capa de inteligencia y gestión), mientras que la estación de ensamblado (asset) se corresponde con las capas inferiores (capas operativas y funcional). A pesar de la capacidad de los agentes industriales para integrar assets físicos, esta integración Capítulo 4: Descripción de la solución propuesta 40 de ensamblaje. Por ello, una vez que las variables de identificación llegan desde el agente máquina al PLC se copian sobre las variables de identificación que se envían desde el PLC al agente máquina. El resto de las variables van actualizando su valor a medida de la evolución del proceso de ensamblaje. El conjunto de variables se observa en la Tabla 4.3, donde se recopilan las variables de identificación y las variables que recogen los tiempos de ensamblaje. Tabla 4. 3. Datos enviados del PLC al agente máquina Nombre Tipo Descripción Id.Machine_Reference UDINT Referencia de la máquina Id.Order_Reference UDINT Referencia del pedido Id.Batch_Reference UDINT Referencia del lote Id.Ref_Subproduct_Type UDINT Referencia del subproducto Id.Ref_Service_Type UDINT Referencia del servicio Id.Item_Number USINT Número del ítem completado Data.Initial_Time_Stamp LDT TimeStamp de inicio del ítem Data.Final_Time_Stamp LDT TimeStamp de final del ítem Data.Service_Time_Stamp LDT TimeStamp de inicio del servicio Considerando las tablas anteriores, se ha generado un bloque de datos en el programa de control del PLC desarrollado en TIA Portal (véase en la Figura 4.4), donde se consigue recopilar todos los datos con los que se va a trabajar durante el proceso de ensamblaje. Mediante estructuras se consigue definir tanto los datos bidireccionales como los unidireccionales, diferenciando cada uno de los sentidos en el caso de los unidireccionales. Capítulo 4: Descripción de la solución propuesta 41 Figura 4. 4. Bloque de datos AASassetDB declarado en TIA Portal 4.2 Integración AAS – asset de la estación de ensamblado Este subapartado del capítulo se centra en la comunicación entre los elementos del Componente I4.0, el AAS y el asset, que precisa un agente pasarela y un bróker MQTT. Por tanto, se comienza con una explicación sobre el diseño del agente pasarela, el cual se utiliza para que los datos procedentes del agente máquina lleguen hasta el bróker. Posteriormente, se presenta el bróker MQTT, basado en la comunicación mediante publicista/suscriptor, en el cual se organizan los datos en tópicos. 4.2.1 Diseño del agente pasarela El segundo agente que se utiliza en el proyecto es el agente pasarela, el cual es el encargado de comunicar el agente máquina con el resto de los componentes del Capítulo 4: Descripción de la solución propuesta 42 proyecto. Este agente, como indica su nombre, es capaz de mandar y recibir mensajes ACL actuando de puente con otros protocolos. En este proyecto, el agente pasarela hace de intermediario entre el protocolo de comunicación de los agentes y el protocolo de comunicación MQTT. Siguiendo la misma estructura a la hora de definir un agente, se comienza definiendo el comportamiento de dicho agente. En este caso, se dispone de un agente pasarela con comportamiento cíclico. Su funcionamiento se basa en enviar la estructura de datos procedente del agente máquina al bróker y viceversa. Lo que significa que debe estar en todo momento en funcionamiento, a la espera de que lleguen mensajes por alguno de los dos sentidos de transmisión. El agente pasarela diseñado dispone de dos modos de trabajo. Por un lado, se define el funcionamiento cuando recibe información desde el agente máquina. Por el otro, se define el funcionamiento cuando recibe datos desde el bróker. En referencia al primero de los funcionamientos, una vez recibe una estructura de datos procedente del agente máquina, se encarga de enviar un mensaje de confirmación, permitiendo asegurar que la recepción de datos se ha realizado adecuadamente. Tras ello, procesa los datos y realiza el envío de la estructura de datos, consiguiendo que lleguen correctamente hasta el bróker MQTT. En cambio, si los datos provienen del bróker, el agente pasarela se debe encargar de procesarlos y enviarlos hasta el agente máquina. En este segundo caso los datos enviados se definen como informativos. Para poder realizar una comunicación publicista/suscriptor es necesario hacer uso de un cliente MQTT, el cual es el encargado de publicar los datos procedentes del agente máquina y de suscribirse al tópico necesario para poder recibir la información procedente del asset. Por tanto, dentro del agente pasarela se debe generar un cliente MQTT que haga el trabajo de publicar en el tópico indicado o suscribirse al tópico del cual se debe conseguir la información del proceso de ensamblaje. 4.2.2 Conexión con el bróker MQTT La conexión entre el AAS y el asset también requiere el uso de un bróker, permitiendo que los datos procedentes del agente lleguen hasta el asset pasando por él. En este proyecto se ha hecho uso de Mosquitto como bróker MQTT, el cual permite que la estructura de datos llegue desde el agente máquina hasta el PLC y viceversa. Capítulo 4: Descripción de la solución propuesta 43 Eclipse Mosquitto [48] es un bróker MQTT de código abierto. Debido a su ligereza, es posible su funcionamiento en dispositivos de baja potencia. El bróker tiene la funcionalidad de recibir los mensajes de ambos sentidos, siendo el encargado de gestionar los tópicos (temas). Las funciones que cumple el bróker utilizado durante el proyecto son las siguientes: •Aceptar la solicitud de conexiones del cliente MQTT. •Recibir mensajes de un cliente MQTT. •Aceptar las solicitudes de suscripción de los clientes MQTT. •Reenviar mensajes recibidos a los clientes MQTT atendiendo a las suscripciones. Para poder utilizar el bróker en el proyecto, es necesario su previa configuración. En este caso, se han realizado dos cambios en el archivo de configuración del bróker. El primero de ellos está relacionado con la definición de la dirección IP y el puerto en el que se encuentra el bróker (véase en la Figura 4.5). Para este proyecto se le ha asignado la dirección 192.168.2.151 y el puerto 1883. Figura 4. 5. Definición de la dirección IP y el puerto del bróker El segundo cambio de la configuración está relacionado con las conexiones. En este proyecto se trabaja con dispositivos definidos dentro del PC local y dispositivos que están fuera del PC, por ello es necesario permitir el acceso al bróker desde dispositivos que se encuentran fuera del PC local (véase en la Figura 4.6). Figura 4. 6. Permitir acceso al bróker de dispositivos externos La conexión con el bróker se hace en dos sentidos. Por un lado, existe la conexión del bróker y el agente pasarela, la cual permite que los datos enviados desde el agente máquina lleguen hasta el bróker y viceversa. Por otro lado, existe la conexión entre el bróker y el asset. En este segundo caso, se consigue que los datos del bróker lleguen hasta el PLC y los datos del robot lleguen hasta el bróker pasando por el PLC. Por tanto, Capítulo 4: Descripción de la solución propuesta 44 se consigue una comunicación en ambas direcciones teniendo el bróker como intermediario. Cada vez que se quiera realizar la conexión con el bróker es necesario el uso de un cliente MQTT, por ello, en este proyecto es necesario el uso de dos clientes MQTT (véase en la Figura 4.1). El primero de ellos se define en el programa de control del PLC y el segundo en el agente pasarela. En el caso del PLC, el desarrollo del sistema de control se ha hecho con la herramienta TIA Portal V16. Esta herramienta permite el uso de librerías, facilitando tanto la comunicación como la manipulación de las estructuras de datos utilizadas en el proyecto. El Cliente MQTT que establece la comunicación MQTT entre el bróker y el PLC es el encargado de realizar tanto la suscripción como las publicaciones con el bróker (véase en la Figura 4.7). Dicho cliente se define mediante un Bloque de Función (Function Block, FB) que permite el intercambio de datos con el bróker. Al comunicar mediante este protocolo surge la necesidad de hacer uso de la librería ‘Libraries for Communication for SIMATIC Controllers’, la cual dispone de los bloques necesarios para realizar la comunicación con el bróker, y entre ellos está el bloque del cliente MQTT. Figura 4. 7. Comunicación entre el PLC y el bróker MQTT Capítulo 4: Descripción de la solución propuesta 45 El Bloque de Función del Cliente MQTT es necesario instanciarlo en el programa generado en TIA Portal, consiguiendo la estructura que se muestra en la Figura 4.8. Una vez instanciado es necesario vincular cada una de sus salidas y entradas con una variable del programa. Para agrupar cada una de las variables relacionadas con la comunicación del cliente, se ha generado un Bloque de Datos (Data Block, DB) donde se recopilan todas las variables que se necesitan asignar para el bloque del Cliente MQTT. Figura 4. 8. Cliente MQTT (TIA Portal) Capítulo 4: Descripción de la solución propuesta 46 Este cliente permite tanto la suscripción a un tópico del bróker como la publicación de datos en él. Entre las variables que ofrece el bloque se encuentran las que recopilan los datos relacionados con la conexión, publicación y suscripción al bróker. •enable. Parámetro de control que permite establecer y mantener la conexión con el bróker mientras su valor sea TRUE. •publish. Con conexión existente al bróker permite publicar cada vez que haya un flanco positivo. •subscribe. Con conexión existente al bróker permite suscribirse al tópico tras obtener un flanco positivo. •mqttTopic. Tópico al que se desea publicar/suscribir/cancelar la suscripción. •publishMsgPayload. Mensaje MQTT que se desea publicar en un tópico. •receivedMsgPayload. Mensaje MQTT que se recibe al suscribirse en un tópico. El segundo cliente MQTT se ha definido en el agente pasarela. Este cliente se encarga de publicar los datos necesarios en el bróker cuando estos provienen del agente máquina mediante el tópico ‘UR3e/agente2PLC’ (véase en la Figura 4.9). Este tópico define el robot con el que se trabaja y el sentido del envío de los datos. Es decir, define el envío de datos que se realiza desde el agente máquina hasta el PLC. En cambio, si se desea obtener los datos que provienen del PLC, es necesario realizar una suscripción a uno de los tópicos definidos en este proyecto, ‘UR3e/PLC2agent’. En este segundo caso, el tópico define el sentido contrario del envío de datos, en otras palabras, precisa el envío de datos desde el PLC hasta el agente máquina. Mediante esta suscripción, cada vez que se escriba un nuevo dato en este tópico, los datos llegan hasta el cliente y se guardan en el agente pasarela para después poder enviarlos al agente máquina. Capítulo 4: Descripción de la solución propuesta 47 Figura 4. 9. Diagrama de secuencia para la comunicación entre el agente máquina y el bróker En el caso del cliente MQTT desarrollado en el programa de control del PLC, tiene el mismo funcionamiento, pero definiendo los tópicos a la inversa (véase en la Figura 4.10). En el caso de querer recibir información desde el agente, el cliente se debe suscribir al tópico ‘UR3e/agent2PLC’. Por el contrario, si se desea publicar los datos de la evolución del proceso, los datos se deben publicar en el tópico ‘UR3e/PLC2agent’. En este caso se hace uso de dos tópicos, uno para cada sentido de la comunicación. Figura 4. 10.Diagrama de secuencia para la comunicación del bróker y el PLC Capítulo 4: Descripción de la solución propuesta 48 4.3 Asset de la estación de ensamblado El asset de la estación de ensamblado consta de dos dispositivos: el PLC y el robot. El PLC será responsable de obtener y procesar la información procedente del bróker. Una vez se haya procesado dicha información, debe enviar los datos necesarios a la controladora del robot. Para ello es imprescindible la conexión entre los dos dispositivos que componen el asset y la realización de un programa que vincule cada uno de los datos del proceso a realizar. La comunicación entre el PLC y el robot se ha efectuado mediante el protocolo Profinet. Este protocolo permite intercambiar datos de forma rápida y determinista. Dado que el robot es capaz de comunicarse mediante diferentes protocolos (Modbus, Profinet y Ethernet/IP) es necesario especificar en la instalación del robot el protocolo que se va a utilizar durante la comunicación. El robot de la estación de ensamblado es el encargado de llevar a cabo el servicio solicitado, por ello se necesita un conocimiento previo de las piezas con las que se trabaja y de la mesa de trabajo. El conocimiento de estos elementos permite entender los servicios a realizar, como sus situaciones iniciales y finales. Para finalizar con este apartado del capítulo se especifican tanto los servicios a realizar como el diseño de programación realizado para el robot. 4.3.1 Piezas del ensamblaje La estación de ensamblado ha sido diseñada para realizar el ensamblado de ítems. Dichos ítems están compuestos por varias piezas a colocar sobre las bases con la ayuda del robot disponible en la estación de trabajo. Las piezas que lo componen son las siguientes: base, rodamiento, bulón, tapa interior y tapa exterior (véase en la Figura 4.11). A la hora de realizar los servicios, no es necesario utilizar todos los elementos que componen el conjunto, lo cual dependerá del servicio que se haya solicitado. Disponer de una variedad de servicios aumenta la flexibilidad de la estación, permitiendo actuar ante averías o paros por mantenimiento en colaboración con otra estación disponible de características similares. Capítulo 4: Descripción de la solución propuesta 49 Figura 4. 11. Conjunto de piezas Las bases sobre las cuales se ensamblan las piezas vienen ordenadas en un palé, el cual está formado por 6 posiciones y en las cuales se sitúan las bases (véase en la Figura 4.12). Figura 4. 12. Palé Capítulo 4: Descripción de la solución propuesta 56 oFase 1  El robot comienza desde la posición inicial, se mueve hasta la zona inicial del palé (zona A) donde coge el palé y lo lleva hasta la zona de montaje (zona B). Tras depositar el palé en la zona de montaje, el robot vuelve a la posición inicial. oFase 2  El robot coloca un rodamiento en cada una de las bases que está colocada sobre el palé. Para ello, el robot se desplaza, desde la posición inicial, hasta la rampa en la cual están colocados los rodamientos (véase en la Figura 4.14, rampa de la derecha). Una vez coja un rodamiento en la pinza, la deposita en la primera base. Se realiza el mismo movimiento hasta dejar el último rodamiento en la última base que se haya solicitado. Finalmente, el robot vuelve a la posición inicial. oFase 3  El robot se desplaza, desde la posición inicial, hasta el dispensador de bulones, del cual coge un bulón y lo deposita en el ítem inicial que le corresponde en ese momento. El robot realiza la misma secuencia de movimientos hasta completar todos los ítems que se han solicitado. Finalmente, el robot vuelve a la posición inicial. oFase 4  El robot se desplaza, desde la posición inicial, hasta la rampa en la cual están las tapas interiores (rampa de la izquierda en la Figura 4.14), el robot coge el primer tapón interior y lo coloca en el ítem correspondiente del palé. Tras depositar el primer tapón, realiza la misma secuencia de movimientos hasta completar todos los ítems solicitados. Finalmente, el robot vuelve a la posición inicial. oFase 5  El robot se desplaza, desde la posición inicial, a la zona en la cual está el palé de las tapas exteriores (zona D). En ella coge una de las tapas y la deposita en el ítem correspondiente del palé que está situado en la zona de montaje (zona B). Estas tapas se irán colocando una a una en orden, comenzando por el primer ítem y finalizando en el último que se haya solicitado. Finalmente, el robot vuelve a la posición inicial. oFase 6  Esta última fase corresponde al final del montaje. El robot se desplaza, desde la posición inicial, hasta la zona de montaje, coge el palé y lo deja en la zona final (zona C). Finalmente, el robot vuelve a la posición inicial. En la Figura 4.17 se muestra el orden que sigue el robot a la hora de realizar el montaje de los ítems. Siempre comenzará desde el ítem 1 y finalizará en el ítem que se defina en el pedido de servicio, como máximo 6 ítems por cada servicio solicitado. Capítulo 4: Descripción de la solución propuesta 57 Figura 4. 17. Posición de los ítems sobre el palé CAPÍTULO 5 PRUEBAS Y RESULTADOS Capítulo 5: Pruebas y resultados 61 5 Pruebas y resultados En este capítulo se describen las pruebas realizadas y los resultados que se han obtenido. Dada la variedad de dispositivos y tecnologías presentes en este proyecto, se ha realizado un desarrollo escalonado, comenzando por el funcionamiento de cada dispositivo y/o tecnología para después realizar una integración ordenada de los mismos. Por ello, este capítulo se organiza en tres subapartados. Un primer apartado que aborda las pruebas unitarias de los dispositivos y las pruebas de conexión entre dispositivos para validar las tecnologías empleadas. Un segundo apartado referente a las pruebas de integración con estrategia bottom-up para comprobar que la comunicación vertical en ambos sentidos proporciona una transferencia de datos correcta. Un tercer apartado con las pruebas de verificación y validación del Componente I4.0 de la estación de ensamblado. En la Figura 5.1 se presenta el escenario de pruebas. Por un lado, se tienen el bróker (Mosquitto) y los agentes (máquina y pasarela) dentro del PC local. Por otro lado, se encuentra el PLC físico, con el cual se realiza el control del robot UR3e. Figura 5. 1. Entorno de pruebas Capítulo 5: Pruebas y resultados 62 Como se puede observar, en el escenario de pruebas intervienen dos aplicaciones que se ejecutan en el PC local. Por un lado, se hace uso del software MQTT Explorer que permite visualizar los datos que llegan al bróker en ambos sentidos. Por otro lado, se ha diseñado un HMI que permite controlar las variables del proceso y mostrar su evolución. 5.1 Pruebas unitarias Las pruebas unitarias hacen referencia a cada una de las pruebas que se han realizado durante el proyecto con los dispositivos y la conexión entre dispositivos. Por ellos, este subapartado se ha dividido en las pruebas realizadas en relación con la programación del robot, pruebas de conexión del PLC y el bróker, pruebas de conexión del PLC y el robot, pruebas de conexión entre el agente pasarela y el agente máquina, y pruebas de conexión entre el bróker y el agente pasarela. 5.1.1 Pruebas unitarias del robot Las pruebas unitarias del robot están directamente relacionadas con la comprobación de la correcta programación de los movimientos del robot. Conocida la distribución de la mesa, se comprueba que el robot llega adecuadamente y sin ningún impedimento a cada una de las posiciones requeridas. Una vez las posiciones están definidas y guardadas, se realiza un programa en el cual se define la secuencia de movimientos que debe realizar el robot. Para el desarrollo de este programa se toma de referencia el servicio 4, el cual realiza a parte de realizar el montaje con todas las piezas disponibles para el ensamblado de los ítems, también trabaja con el máximo número de ítems posibles (6 ítems). 5.1.2 Pruebas de conexión del PLC y el bróker Las simulaciones requeridas para estas pruebas precisan la utilización de la herramienta PLCSim Advance. Esta herramienta permite simular un PLC real realizando una instancia de PLC virtual, siendo necesario asignarle una dirección IP en la misma subred que se encontraba el bróker. Una vez se comprueba que la conexión entre PLCSim Advance y el bróker es correcta y permite transferir datos básicos de un dispositivo a otro, se plantean pruebas en las que es necesario arrancar el bróker (véase en la Figura 5.2) y realizar la conexión Capítulo 5: Pruebas y resultados 63 mediante el cliente MQTT definido en el PLC. Para ello se hace uso de la variable ‘enable’, la cual permite que se realice la conexión. Mientras esta variable se mantenga activa, se mantendrá la conexión. Si se desea suscribirse a un tópico, es suficiente con activar la variable ‘subscribe’. En el caso de querer publicar en el bróker, es necesario que la opción de ‘subscribe’ este desactivada y generar un flanco positivo en la variable ‘publish’. Todas estas variables hacen referencia a las variables definidas en el cliente MQTT de la Figura 4.9. Figura 5. 2. Arranque de Mosquitto 5.1.3 Pruebas de conexión del PLC y el robot Dado que a conexión entre el PLC y el robot se realiza con el protocolo Profinet, es necesario habilitar la opción de Profinet en el UR3e, tal y como se muestra en la Figura 5.3. Una vez esté la opción habilitada, el led se pondrá en amarillo indicando que está preparado para comunicar. Posteriormente, cuando se realice la conexión con el PLC, el led se cambia a verde confirmando que se ha realizado la conexión adecuadamente y el robot está preparado para realizar la comunicación. Figura 5. 3. Configuración Profinet en la instalación del robot Capítulo 5: Pruebas y resultados 64 Las primeras pruebas realizadas para comprobar la conexión entre el PLC y el robot, permitieron identificar la incapacidad de conexión de PLCSim Advance mediante Profinet. Por ello, en estas pruebas es necesario hacer uso del PLC físico. Trabajar con el PLC físico precisa crear su instancia dentro del TIA Portal y realizar la conexión con el robot. En la Figura 5.4 se muestran los tres componentes (incluido el HMI para el control del proceso), la comunicación realizada entre ellos y la dirección IP de cada uno de los dispositivos. Una vez instanciado el PLC físico, la conexión entre el PLC y el robot se ha realizado adecuadamente, consiguiendo el intercambio de datos. Figura 5. 4. Dispositivos y redes empleados en las pruebas de conexión del PLC y el robot 5.1.4 Pruebas de conexión entre el agente máquina y el agente pasarela Al no tener el agente máquina integrado en la arquitectura FlexManSys, las pruebas correspondientes a la conexión entre el agente máquina y el agente pasarela se realizan con ayuda de una consola que permite escribir manualmente la información que se necesita para el comienzo del proceso de ensamblaje. Para poder comprobar que la conexión entre ambos agentes funciona correctamente, se realiza el envío de datos con una sola variable. Este envío permite asegurarse de que la variable enviada desde el agente máquina llega correctamente hasta el agente pasarela. Tras ello, el agente pasarela envía un mensaje de confirmación. Capítulo 5: Pruebas y resultados 65 5.1.5 Pruebas de conexión entre el bróker y el agente pasarela Con objeto de realizar la conexión entre el bróker y el agente pasarela se debe tener en cuenta que se deben arrancar en este orden: primero el bróker y después el agente pasarela. Una vez estén arrancados, será posible arrancar el agente máquina, que posee las variables definidas con unos valores fijos. Durante estas pruebas se realiza el envío de dichas variables hasta el bróker, y mediante la consola que ofrece MQTT Explorer se realiza el envío desde el bróker hasta el agente pasarela. En sentido contrario, para poder recibir los datos procedentes del bróker, el cliente MQTT definido en el agente pasarela debe estar suscrito al tópico correspondiente. 5.2 Pruebas de integración Las pruebas de integración se realizan según una estrategia bottom-up. En primer lugar, se realiza la integración de los dispositivos que conforman el asset. Una vez obtenida una comunicación correcta en ambos sentidos entre el PLC y el robot, el siguiente paso en la integración consiste en añadir el bróker. Para finalizar con las pruebas de integración se agregan los agentes pasarela y máquina. Cabe destacar que, si bien las pruebas unitarias se ciñen a la conexión entre dispositivos, las pruebas de integración se focalizan en el correcto intercambio de las estructuras de datos asociadas con las solicitudes de servicios e información sobre el desempeño de los mismo. 5.2.1 Pruebas de integración del asset Para poder llevar a cabo todas las transferencias de datos entre el PLC y el robot se debe utilizar la estructura de datos que ofrece el robot a la hora de instanciarlo en TIA Portal. Para ello es necesaria la previa instalación del GSD de Universal Robots. Concretamente, un GSD es un archivo de texto ASCII que contiene las especificaciones del dispositivo para la comunicación. Sin la instalación de este archivo no sería posible la configuración de red del robot. Una vez se han instanciado, se debe configurar la misma subred a los dos dispositivos a comunicar, para que se puedan ver entre ellos. Teniendo en cuenta la estructura de la que dispone el PLC, se han definido las siguientes dos direcciones IP para los dispositivos. •PLC  192.168.1.172 Capítulo 5: Pruebas y resultados 72 1. Suscripción (arriba a la izquierda) Este apartado está compuesto por dos interruptores que permiten la conexión y la suscripción del Cliente MQTT al bróker con sus correspondientes leds. En el momento que se desea conectar con el bróker se debe poner en ON el interruptor ‘Conexión con el bróker’, lo que conlleva a que se ponga el led en verde si la conexión se ha hecho correctamente. Tras ello se debe cambiar la posición del interruptor de ‘Suscripción al bróker’, en este caso también se pondrá el led en verde si la suscripción se hace adecuadamente. Una vez hecha la suscripción al tópico correspondiente se espera hasta que lleguen los datos procedentes del agente. Cuando los datos hayan llegado, el led que indica ‘Datos recibidos del bróker’ comienza a parpadear y continuará parpadeando hasta que se presione el pulsado de ‘Deserializar datos’. Tras pulsarlo los datos llegan hasta la controladora del robot y se comienza el proceso de ensamblaje. 2. Publicación (abajo a la izquierda) Este apartado está compuesto por dos leds que indican (cambiando de rojo a verde) en qué momento se serializan los datos que se deben enviar al bróker y el momento en el que se realiza la publicación en él. 3. Solicitud (arriba a la derecha) Este apartado muestra el servicio y el número de ítems solicitados por el usuario tras haber deserializado los datos mediante el pulsador que hay en el apartado suscripción. 4. Producción (abajo a la derecha) Este último apartado muestra todos los datos necesarios de la producción. Estos datos irán actualizándose a medida que el proceso vaya ejecutándose. En él se muestra el led que indica que ha llegado un nuevo servicio a realizar (‘New service’), la cantidad de ítems completados hasta el momento (‘Item Completed’), valor que va cambiando con la evolución del ensamblaje, un led que se activa cada vez que se finaliza el ensamblaje de un ítem y un led que indica el momento en el que el servicio ha finalizado por Capítulo 5: Pruebas y resultados 73 completo. Por otro lado, se muestran los tiempos de producción. Concretamente, se muestra la hora y día del comienzo del servicio, así mismo la hora y día de comienzo y final del ensamblaje de cada uno de los ítems solicitados. Figura 5. 9. HMI CAPÍTULO 6 METODOLOGÍA DE DESARROLLO DEL TRABAJO Capítulo 6: Metodología de desarrollo del trabajo 77 6 Metodología de desarrollo del trabajo En este capítulo se define la metodología utilizada para el desarrollo del proyecto, teniendo en cuenta el cómputo de horas a dedicar. Al comienzo de este proyecto se hizo una estimación aproximada de un cómputo de 300 horas, comenzando en septiembre y finalizando en junio. Para el progreso del proyecto ha sido necesario seguir un orden en el desarrollo de cada una de las tareas. A pesar de necesitar una base de conocimiento de las tareas previas para poder continuar con las siguientes, no ha sido necesario tenerlas completamente finalizadas para avanzar en el proyecto. Esta es la razón por la cual las tareas aparecerán fraccionadas en el diagrama de Gantt mostrado en uno de los siguientes subapartados. Las diferentes tareas a realizar durante el proyecto son las siguientes: 1. Formación 2. Programación del robot 3. Conexión PLC - Robot 4. Comunicación MQTT 5. Agentes 6. Integración 7. Documentación Este capítulo se divide en tres apartados. En el primero se realiza una descripción de cada una de las tareas. En el segundo se identifican las fases del proyecto que agrupan dichas tareas y se recoge en una tabla el tiempo dedicado a las tareas de cada fase. Por último, en el tercer apartado, se presenta la planificación del proyecto con el cronograma de las tareas en un Diagrama de Gantt. 6.1 Descripción de las tareas En este apartado de la metodología se reúnen las explicaciones de cada una de las tareas del proyecto. Capítulo 6: Metodología de desarrollo del trabajo 78 6.1.1 Formación Al comienzo de un proyecto es necesario recopilar información sobre el tema que se va a tratar, recopilando toda la información en los artículos seleccionados. Dada la variedad de tecnologías utilizadas durante el proyecto, ha sido necesario realizar una formación modulada dependiendo de la tarea que se estaba realizando. En concreto, tecnologías relacionadas con el robot, TIA Portal y los agentes. El tiempo dedicado a la formación en cada una de las tecnologías ha dependido del conocimiento previo. 6.1.2 Programación del robot El programa del robot precisa flexibilizar al máximo el proceso a realizar. El código referente a la programación del robot ha sido desarrollado desde cero en el Teach Pendant, requiriendo aprender su manejo. 6.1.3 Conexión PLC – Robot Esta tarea hace referencia a la necesidad de comunicar el PLC y el robot, consiguiendo realizar la transferencia de datos en ambos sentidos. Para ello, se ha utilizado Profinet, siendo necesario el uso de librerías específicas que ofrece SIMATIC S7 para poder realizar la conexión. 6.1.4 Comunicación MQTT La comunicación MQTT permite que los datos enviados desde el agente hasta el bróker lleguen al PLC, y viceversa. Esta tarea aborda la gestión del bróker y el tratamiento realizado a los datos que se envían, identificando los siguientes tres aspectos: •Configuración del bróker. •Conexión entre el PLC y el bróker. •Conexión entre el bróker y el agente. 6.1.5 Agentes Esta fase se dedica a la programación de los agentes (máquina y pasarela) y las estructuras de datos enviadas en ambos sentidos que han sido meticulosamente comprobadas mediante las simulaciones necesarias. Capítulo 6: Metodología de desarrollo del trabajo 79 6.1.6 Integración Una vez finalizadas las tareas, es necesario realizar la integración de cada una de las tecnologías, consiguiendo verificar y validar su correcto funcionamiento. Para ello se deben hacer pruebas tanto de comprobación de las conexiones entre los diferentes dispositivos, como del funcionamiento del robot. Esta tarea engloba pruebas de integración, de validación y de verificación. Por lo tanto, esta fase se dedica a la comprobación de que todas las tareas funcionan correctamente y realizan lo solicitado. 6.1.7 Documentación A medida que se va realizando el proyecto, se recopila información, comenzando por buscar información para la parte más teórica del documento y finalizando por documentar la parte del desarrollo del proyecto. 6.2 Fases del proyecto Para el conocimiento real del periodo de tiempo dedicado al proyecto se ha generado la Tabla 6.1 que agrupa las tareas en 3 fases: Formación, Desarrollo y Documentación. En la tabla se muestran las fechas aproximadas de comienzo y fin de cada una de las tareas. Aunque se indique el primer día y el último que se ha dedicado a esa tarea, eso no significa que todos los días que fija ese periodo de tiempo se hayan dedicado a esa tarea. Por ello, se ha generado una columna que indica la duración en días de cada una de las tareas, permitiendo fijar los días exactos dedicados a cada una de las tareas, siendo posible dedicar un mismo día a dos tareas diferentes. Tras calcular los días dedicados a cada una de las tareas se ha conseguido obtener los días exactos dedicados al proyecto, exactamente 198 días. Capítulo 6: Metodología de desarrollo del trabajo 80 Tabla 6. 1. Desglose de la ejecución de las tareas por fases Formación Tarea Fecha de inicio Fecha final Días dedicados a la tarea Entorno 15-10-2021 19-10-2021 3 Robot 16-10-2021 21-10-2021 4 TIA Portal 26-10-2021 27-10-2021 2 Agentes 18-10-2021 11-01-2022 11 Desarrollo Tarea Fecha de inicio Fecha final Días dedicados a la tarea Programación del robot 04-11-2021 06-04-2022 25 Conexión PLC - Robot 20-01-2022 22-03-2022 23 Comunicación MQTT 23-11-2021 19-05-2022 42 Agente 2022-05-19 27-05-2022 12 Integración 26-04-2022 27-05-2022 34 Documentación Tarea Fecha de inicio Fecha final Días dedicados a la tarea Documentación 27-10-2021 24-06-2022 90 Total 198 Capítulo 6: Metodología de desarrollo del trabajo 81 6.3 Diagrama de Gantt El la Figura 6.1 se muestra el Diagrama de Gantt con la planificación del proyecto. En dicho diagrama se pueden observar las fases descritas, así como las fechas de comienzo y fin de cada una de las tareas. Figura 6. 1. Diagrama de Gantt Capítulo 8: Conclusiones 89 8 Conclusiones El trabajo realizado en este proyecto Fin de Máster ha contribuido a la integración de un robot colaborativo UR3e en un entorno de fabricación flexible. En él se ha realizado desde la programación de cada uno de los servicios del robot hasta su integración como Componente I4.0 en un sistema multiagente. Como se ha comentado en la introducción, este trabajo está dentro de un proyecto de investigación, por lo que se ha partido del conocimiento del propio grupo de investigación. Por la misma razón, los progresos que se obtengan durante el desarrollo del trabajo servirán de base para futuros proyectos del grupo de investigación. En lo que se refiere al activo de fabricación (la estación de ensamblado), se ha logrado programar el robot de manera que se ha conseguido mayor eficacia en su funcionamiento. La estructura modular definida para el programa del robot permite aumentar la eficiencia y flexibilidad del proceso de ensamblado, tanto en producción normal como en situaciones excepcionales de producción. Así, el robot no sólo es capaz de realizar las operaciones de ensamblaje desde diferentes montajes iniciales (sólo base, base con rodamiento, etc.), sino que también es capaz de procesar diferente número de ítems. Por otro lado, la conexión establecida entre el robot y el PLC, el segundo componente del activo, ha permitido descargar al robot tareas de gestión relativas a la comunicación con el agente máquina. De esta forma, el robot se ha centrado en la realización de los servicios de fabricación y del envío de información relativa a su evolución, mientras que el PLC ha sido el encargado de atender las solicitudes del agente máquina y del tratamiento de la información recibida del robot para convertirla a la estructura demandada por el agente. Además, el hecho de disponer de un PLC también ha permitido ampliar las capacidades de comunicación propias del robot, siendo posible hacer uso del paradigma publicista/suscriptor para la comunicación AAS-activo, siendo el bróker mosquitto el intermediario de dicha comunicación. Así, haciendo uso de la herramienta de ingeniería TIA Portal se ha dispuesto de un cliente MQTT para la conexión PLC-bróker, tanto para publicar como para suscribirse a tópicos. Ha sido Capítulo 8: Conclusiones 90 necesario desarrollar otro cliente MQTT como parte del agente pasarela para la conexión agente-bróker. De esta forma se ha conseguido la integración del activo y el AAS del componente I4.0 Finalmente, es importante destacar que gracias al HMI y a la consola desarrollados y a las pruebas realizadas se ha podido comprobar el correcto funcionamiento de la arquitectura de integración. Es decir, se ha podido comprobar que diferentes solicitudes de servicio para diferente cantidad de ítems han sido correctamente realizadas por el robot. Y que la información relativa a la evolución de dichos servicios ha sido actualizada en el agente. Se puede decir, por lo tanto, que mediante el desarrollo de cada una de las tareas realizadas durante el proyecto se ha conseguido cumplir con cada uno de los objetivos propuestos a comienzo del proyecto. Cabe destacar que se han tenido que superar varios problemas que han ido surgiendo durante el proyecto tanto a nivel de comunicaciones como a nivel de código. En el futuro, se espera el uso de un PC industrial (IPC127e), consiguiendo instanciar tanto el agente como el bróker en él. Además, se pretende la integración total del Componente I4.0 en la arquitectura de FlexManSys, de tal manera que no sea necesario el uso de la consola. Finalmente, para realizar la supervisión del proceso de fabricación sería necesario diseñar un HMI nuevo que permita visualizar la evolución del proceso. CAPÍTULO 9 REFERENCIAS BIBLIOGRÁFICAS Capítulo 9: Referencias bibliográficas 9 Referencias bibliográficas [1] M. Hermann, T. Pentek, B. Otto, and T. * Pentek, “Design Principles for Industrie 4.0 Scenarios: A Literature Review”, doi: 10.13140/RG.2.2.29269.22248. [2] J. Q. Li, F. R. Yu, G. Deng, C. Luo, Z. Ming, and Q. Yan, “Industrial Internet: A Survey on the Enabling Technologies, Applications, and Challenges,” IEEE Communications Surveys and Tutorials, vol. 19, no. 3, pp. 1504–1526, Jul. 2017, doi: 10.1109/COMST.2017.2691349. [3] “RAMI 4.0, el Modelo de arquitectura de referencia para la industria 4.0 -.” https://blog.tenea.com/rami-4-0-el-modelo-de-arquitectura-de-referencia-para-laindustria-4-0/ (accessed Jun. 09, 2022). [4] 2660.1-2020 - IEEE Recommended Practice for Industrial Agents Integration of Software Agents and Low-Level Automation Functions. IEEE, 2021. [5] A. Lopez, E. Estevez, O. Casquero, and M. Marcos, “Using industrial standards for modeling flexible manufacturing systems,” in Proceedings - 2020 IEEE Conference on Industrial Cyberphysical Systems, ICPS 2020, Jun. 2020, pp. 41–46. doi: 10.1109/ICPS48405.2020.9274785. [6] A. López, E. Estévez Estévez, and M. Marcos, “Trazabilidad de la producción basada en agentes industriales,” in XLII JORNADAS DE AUTOMÁTICA : LIBRO DE ACTAS, Servizo de Publicacións da UDC, 2021, pp. 717–723. doi: 10.17979/spudc.9788497498043.717. [7] A. Lopez, O. Casquero, E. Estevez, P. Leitao, and M. Marcos, “Towards the generic integration of agent-based AASs and Physical Assets: a four-layered architecture approach,” Oct. 2021, pp. 1–6. doi: 10.1109/indin45523.2021.9557568. [8] “Pesi | Artículo sobre el modelo RAMI de Industria 4.0.” http://www.pesiseguridadindustrial.org/frontend/pNoticia/articulo-sobre-el-modelo-rami-de-industria40_537 (accessed Jan. 30, 2022). [9] “Industry 4.0 and the fourth industrial revolution explained.” https://www.iscoop.eu/industry-4-0/ (accessed Nov. 29, 2021). [10] “¿Qué es la Industria 4.0?” https://www.factoriadelfuturo.com/que-es-la-industria-4-0/ (accessed Nov. 10, 2021). [11] “Revolución Industrial – De Industria 1.0 a Industria 4.0 - Desoutter Industrial Tools.” https://www.desouttertools.mx/industria-4-0/noticias/1015/revolucion-industrial-deindustria-1-0-a-industria-4-0 (accessed Mar. 13, 2022). [12] “Short history of manufacturing: from Industry 1.0 to Industry 4.0 - KFactory.” https://kfactory.eu/short-history-of-manufacturing-from-industry-1-0-to-industry-4-0/ (accessed Oct. 27, 2021). 93 Capítulo 9: Referencias bibliográficas 94 [13] “The differences between Industry 3.0 and 4.0: technology and innovation.” https://audaces.com/en/industry-3-0-industry-4-02/#Differences_between_Industry_30_and_Industry_40 (accessed May 25, 2022). [14] M. A. Pisching, M. A. O. Pessoa, F. Junqueira, D. J. dos Santos Filho, and P. E. Miyagi, “An architecture based on RAMI 4.0 to discover equipment to process operations required by products,” Computers and Industrial Engineering, vol. 125, pp. 574–591, Nov. 2018, doi: 10.1016/j.cie.2017.12.029. [15] S.-I. Ao and International Association of Engineers, Topological Approach for Mapping Technologies in Reference Architectural Model Industrie 4.0 (RAMI 4.0). [16] “Open Source Control Device for Industry 4.0 Based on RAMI 4.0 _ Enhanced Reader”. [17] P. Marcon et al., “The Asset Administration Shell of Operator in the Platform of Industry 4.0; The Asset Administration Shell of Operator in the Platform of Industry 4.0,” 2018. [18] Panepistēmio Kyprou, IEEE Industrial Electronics Society, and Institute of Electrical and Electronics Engineers, 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation : September 12-15, 2017, Limassol, Cyprus. [19] “Plataforma Industria 4.0 - Página de inicio.” https://www.plattformi40.de/IP/Navigation/DE/Home/home.html (accessed May 17, 2022). [20] C. S. Franklin, E. G. Dominguez, J. D. Fryman, and M. L. Lewandowski, “Collaborative robotics: New era of human–robot cooperation in the workplace,” Journal of Safety Research, vol. 74, pp. 153–160, Sep. 2020, doi: 10.1016/j.jsr.2020.06.013. [21] A. Grau, M. Indri, L. lo Bello, and T. Sauter, “Robots in Industry: The Past, Present, and Future of a Growing Collaboration with Humans,” IEEE Industrial Electronics Magazine, vol. 15, no. 1, pp. 50–61, Mar. 2021, doi: 10.1109/MIE.2020.3008136. [22] F. Vicentini, “Collaborative Robotics: A Survey,” 2020, doi: 10.1115/1.4046238. [23] “Robots Colaborativos | Universal Robots.” https://www.universal-robots.com/es/ (accessed Nov. 10, 2021). [24] “▷Todo sobre los Robots Colaborativos | Marcas y Precios.” https://www.neobotik.com/robotscolaborativos/#Caracteristicas_de_los_robots_colaborativos (accessed Jun. 10, 2022). [25] “UR3e - Fiche técnica.” [26] “Robots UR3e: Robot Colaborativo Universal Robot.” https://cfzcobots.com/productos/ur3e/ (accessed Nov. 10, 2021). [27] “Universal Robots e-Series User Manual UR3e Original instructions (en) UR3e User Manual,” 2009. [28] A. Climent Jiménez, “Comunicación Inteligente Robots | Universal Robots.” https://www.universal-robots.com/es/blog/comunicacion-inteligente-robots/ (accessed Apr. 19, 2022). Capítulo 9: Referencias bibliográficas 95 [29] “Cuáles son los protocolos de comunicación industrial - AUTYCOM.” https://www.autycom.com/protocolos-de-comunicacion-industrial/ (accessed Apr. 19, 2022). [30] M. A. Maynard, “Digital Equipment Carporation The Ethernet ALocal Area Network Data Link Layer and Physical Layer Specifications intel,” 1980. [31] J. Burke, A. Irei, and W. Chai, “Ethernt.” https://www.computerweekly.com/es/definicion/Ethernet (accessed May 04, 2022). [32] P. S. Marshall, Industrial Ethernet. [33] “EtherCAT Technology Group | ¿Por qué utilizar EtherCAT?” https://www.ethercat.org/es/why_use_ethercat.htm (accessed May 04, 2022). [34] “Ethernet Powerlink Descripción generalyEstandarización.” https://hmong.es/wiki/Ethernet_Powerlink (accessed May 04, 2022). [35] “What is Sercos?” https://www.sercos.org/technology/what-is-sercos/ (accessed May 04, 2022). [36] “CC-Link IE Field Network | Network technology | CC-Link Partner Association.” https://www.cc-link.org/en/cclink/cclinkie/cclinkie_f.html (accessed May 04, 2022). [37] “¿Qué es PROFINET? - Universidad PROFINET.” https://profinetuniversity.com/profinet-basico/que-es-profinet/ (accessed May 12, 2022). [38] P. Ferrari, A. Flammini, D. Marioli, and A. Taroni, “Experimental evaluation of PROFINET performance,” in IEEE International Workshop on Factory Communication Systems - Proceedings, WFCS, 2004, pp. 331–334. doi: 10.1109/wfcs.2004.1377739. [39] C. Felser, M. Felser, and H. Kaghazchi, “Improved architecture for Profinet IRT devices,” 2012. doi: 10.1109/ETFA.2012.6489562. [40] “PROFINET: Qué es y cómo funciona | Comunicaciones Industriales.” https://www.cursosaula21.com/profinet-que-es-y-como-funciona/ (accessed Jun. 10, 2022). [41] J. Feld, “Profinet - Scalable factory communication for all applications,” in IEEE International Workshop on Factory Communication Systems - Proceedings, WFCS, 2004, pp. 33–38. doi: 10.1109/wfcs.2004.1377673. [42] “Protocolo MQTT - Ditel Diseños y Tecnología S.A.” https://www.ditel.es/protocolomqtt/ (accessed Nov. 30, 2021). [43] “MQTT - The Standard for IoT Messaging.” https://mqtt.org/ (accessed Nov. 30, 2021). [44] “Using MQTT to send and receive data for your next project | Opensource.com.” https://opensource.com/article/18/6/mqtt (accessed Apr. 05, 2022). [45] “MQTT vs CoAP, the battle to become the best IoT protocol.” https://www.pickdata.net/es/noticias/mqtt-vs-coap-mejor-protocolo-iot (accessed Jun. 22, 2022). [46] “IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains.” https://www.jetbrains.com/idea/promo/?source=google&medium=cpc&campaign=973 Capítulo 9: Referencias bibliográficas 96 6637745&term=intellij&gclid=Cj0KCQjwzLCVBhD3ARIsAPKYTcRlLxabVYxvw31 3W6R_cKKGP0TgbmwYltkmOvxj8PmPhKgE7x5sLJwaAkHCEALw_wcB (accessed Jun. 17, 2022). [47] “FIPA ACL Message Structure Specification.” http://www.fipa.org/specs/fipa00061/SC00061G.html (accessed Jun. 17, 2022). [48] “Eclipse Mosquitto.” https://mosquitto.org/ (accessed Jun. 11, 2022). [49] “Library for Data Streams (LStream),” 2021. [Online]. Available: http://www.siemens.com/industrialsecurity. [50] “INDUSTRIA 4.0 - Qué es, ventajas y sus aplicaciones.” https://pyxis.cat/es/industria4-0/ (accessed Nov. 13, 2021). [51] G. Koschnick, M. Hankel, and B. Rexroth, “RAMI 4.0-Structure The Reference Architectural Model Industrie 4.0 (RAMI 4.0) Contact: Reference Architectural Model Industrie 4.0,” 2015, Accessed: Nov. 20, 2021. [Online]. Available: www.zvei.org/ [52] “Modularidad en la industria de procesos con I4.0 (Parte 1) - infoPLC.” https://www.infoplc.net/plus-plus/tecnologia/item/104784-modularidad-en-la-industriade-procesos (accessed Mar. 13, 2022).