Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN DE EVENTOS DISCRETOS COMERCIAL FEBRERO 2023 Jorge Hernangómez González DIRECTOR DEL TRABAJO FIN DE GRADO: Juan de Juanes Márquez Sevillano J o rg e H e rn a n g ó m e z G o n z á le z TRABAJO FIN DE GRADO PARA LA OBTENCIÓN DEL TÍTULO DE GRADUADO EN INGENIERÍA EN TECNOLOGÍAS INDUSTRIALES JORGE HERNANGÓMEZ GONZÁLEZ 1 «¿Heredarán los robots la Tierra? Sí, pero serán nuestros hijos» Marvin Minsky, científico estadounidense y uno de los padres de la Inteligencia Artificial 2 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) AGRADECIMIENTOS Este trabajo ha supuesto todo un reto para mí, y me gustaría agradecer el apoyo recibido por todas las personas que han confiado en mí desde el principio de la carrera. En primer lugar, quiero agradecer a mi tutor la confianza que ha depositado en mí y la proposición de un tema tan innovador y apasionante. En segundo lugar, me gustaría agradecer a mis padres y a mi hermana toda la paciencia y comprensión que han tenido conmigo a lo largo de estos años. Sin estas dos cosas no habría sido posible acabar estos estudios. Tampoco puedo terminar sin agradecer a Álvaro, Íñigo, Javier, Rodrigo, Irene y todas demás las personas que me llevo de esta Escuela y con los que he compartido todo estos años. Por último, me gustaría dar las gracias a todas las personas que me han acompañado, desde el principio o no, al final de esta carrera. Gracias a ellos he podido sonreir en momentos donde no habría podido hacerlo solo, y darme cuenta de que lo realmente importante no es estudiar. Muchas gracias. JORGE HERNANGÓMEZ GONZÁLEZ 3 RESUMEN En este trabajo se han explorado nuevas formas de simular procesos industriales discretos. La simulación por eventos discretos es una técnica de modelado dinámico de sistemas que permite crear un modelo de una planta industrial con el objetivo de su análisis, creación o mejora. Hoy en día, los procesos industriales se encuentran cada vez más automatizados. Normalmente, la automatización de un proceso requiere de una inversión económica que debe ser estudiada previamente. Parte de este estudio es realizada gracias a la simulación, a pesar de que ésta no sólo es importante para analizar procesos en planta. En lo que respecta a este proyecto el aspecto más interesante de la simulación son sus ventajas. El ahorro económico y de recursos derivados de las conclusiones que pueden sacarse de un modelo o de un gemelo digital pueden suponer la diferencia entre las empresas competidoras. Los modelos digitales, a diferencia de los gemelos digitales, son simulaciones de procesos que toman como datos del entorno aquellos que sean configurados virtualmente. Es decir, mientras que un gemelo digital es un modelo que toma datos reales en tiempo real, un gemelo digital puede tomar los datos de un archivo histórico o de una distribución probabilística determinada. Por ejemplo, en un modelo digital la frecuencia de llegada de piezas a una máquina puede seguir una distribución normal de media 10 segundos, mientras que en un gemelo digital dicho parámetro vendrá dado por datos reales de la máquina en cuestión, que puede seguir o no esta distribución. A lo largo de este documento se explicará como una manera concreta de crear un modelo o gemelo digital puede tener importantes ventajas con respecto a la manera convencional. Estas dos maneras de modelar se dan en el marco del programa de simulación de eventos discretos FlexSim, que es uno de los más utilizados para este propósito. Ilustración 1: Logo y lema de FlexSim Mediante la utilización de este programa, y a la vez que se explica su funcionamiento, se ha descrito en este trabajo tres procesos industriales, ordenados de menor a mayor complejidad. En los dos primeros ejemplos se controlará mediante sensores ópticos y lógica sencilla el funcionamiento de cintas transportadoras de piezas. Al ser el método de simulación y no el proceso en sí el objeto de interés de este trabajo, las piezas serán genéricas y se tratará de centrar la atención en el funcionamiento de la simulación. El tercer proceso, la producción de unas piezas en una planta real, será explicado con mayor detalle. Por su parte, FlexSim es un programa que permite una amplia variedad de funciones predefinidas. No obstante, los límites quedan prácticamente superados cuando se comienza a simular el proceso en lo que se llama Process Flow. Process Flow es un espacio de trabajo dentro de FlexSim que, a diferencia de la interfaz principal del programa, centra su funcionamiento en la lógica y no en el diseño 3D de los modelos. Ambos espacios de trabajo (Process Flow y el espacio 3D) no son excluyentes. De hecho, la combinación de ambos es la base para que un proceso como los que se describen a continuación sea fiel a la realidad. 4 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) En las siguientes imágenes se muestran ejemplos de procesos simulados en FlexSim. Como puede apreciarse, la prioridad en el espacio 3D es la disposición y conexión de los elementos del proceso, mientras que en panel de Process Flow se da más importancia a la lógica secuencial de este. Ilustración 2: Panel de trabajo de Process Flow en FlexSim Ilustración 3: Espacio 3D de FlexSim En este trabajo, y en especial en el tercer ejemplo expuesto, se hará hincapié en la comparación de ambos métodos de simulación. Como se verá más adelante, Process Flow es una herramienta más poderosa que el simple modelado en 3D. Además, se explorarán diferentes formas de programar la lógica del proceso en Process Flow, de manera que este espacio de trabajo pueda suponer una importante diferencia en la función del modelo. Además de la explicación de los tres ejemplos, se ha incluido en el tercero un estudio de los tiempos, costes y mejoras del proceso. La explicación de estos será de gran utilidad a la hora de sacar conclusiones del estudio. JORGE HERNANGÓMEZ GONZÁLEZ 5 Por último, se encuentran en las conclusiones las ventajas de modelar de la manera correcta mediante Process Flow. Estas ventajas pueden ser divididas en tres grandes bloques: acercamiento a la realidad, flexibilidad y visibilidad. En cuanto al primero, queda aclarado después del estudio del tercer proceso que sin Process Flow es imposible simular ciertos procesos con detalle, es decir, sin realizar aproximaciones que alejen demasiado el modelo digital del proceso real. Estas limitaciones del programa de simulación si no se usa Process Flow se presentan no solo en FlexSim, sino en cualquier otro programa de simulación similar. La flexibilidad que aporta Process Flow al modelado de procesos se basa en lo que antes se ha denominado “la manera correcta” de modelar. Esta técnica, desarrollada en los tres ejemplos de este trabajo, se basa en utilizar las mismas variables que existen en el proceso real. La utilización de estas debe ir acompañada por una lógica detallada y descompuesta que permita realizar cambios en cada detalle de ella. Esto amplía las posibilidades de modelado y permite realizar cambios en el proceso de cara a su creación, optimización o adaptación a nuevos cambios. Por último, la visibilidad del proceso que viene dada por Process Flow no tiene rival frente a cualquier otra técnica de modelado. Mediante esta herramienta es posible visualizar en todo momento el estado de todos los elementos del proceso, tanto lógicos como materiales. Esto permiteprofundizar en ellos de una manera imposible mediante el simple diseño 3D o la programación mediante código escrito. Además, FlexSim ofrece una amplia variedad de opciones de conectividad. Esta lista va desde la utilización de bases de datos externas guardadas en tablas o en Excel hasta la utilización de datos tomados de internet en vivo, pasando por una conectividad total con un PLC. Es esta última opción, la de conectarse a un autómata programable (PLC, Programmable Logic Controller), es de gran interés para las empresas con procesos en planta. Ilustración 4: PLC de la empresa Siemens La utilización de estos autómatas es indispensable en un proceso automatizado que necesita que varias variables se relacionen entre sí de cara a la toma de decisiones. Estos dispositivos deben ser programados manualmente y deben contener toda la lógica del proceso. En lo que respecta a ellos, el uso de FlexSim por parte de las empresas puede ser útil. Sin embargo, la utilización de Process Flow supera esta ventaja con creces, convirtiendo FlexSim en una herramienta indispensable de trabajo para los programadores. Mediante Process Flow no solo puede crearse un modelo digital, sino que puede crearse un gemelo digital, y ayudarse de él para programar y probar el PLC. La creación de este gemelo digital comienza con la modelización del proceso. Esta no puede ser realizada de cualquier manera si el objetivo es la toma de datos reales y la conexión con 6 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) un PLC. En este trabajo se explica por qué modelar con Process Flow y hacerlo utilizando ciertas variables puede suponer una ventaja de cara a la creación del gemelo. Una vez se tiene el modelo digital en FlexSim realizado mediante Process Flow, es posible conectar la fuente de datos del modelo a las variables reales del proceso simulado. Esto permite tener todas las ventajas descritas anteriormente que un modelo digital tiene, con la ventaja adicional de que lo que ocurre en el modelo será lo que esté ocurriendo o pueda ocurrir en un futuro en el proceso real. Los aspectos positivos del diseño del proceso mediante esta técnica pueden ser vitales en el correcto funcionamiento de un proceso. Como se verá en el capítulo de conclusiones, la simple modelización del proceso de la manera indicada puede destapar grandes errores lógicos y situaciones inesperadas que deben ser corregidas antes de que se produzcan en la planta real. Debido a la extensión del trabajo y a la falta de datos reales de una planta, en este trabajo se detallan el funcionamiento de Process Flow, sus diferencias con otros espacios de modelado, las ventajas de su utilización y las aplicaciones de estos tres temas sobre los tres ejemplos desarrollados. No se profundiza, por tanto, en la conexión con los datos reales aportados por una fábrica, sino en el primer paso en la creación de un gemelo digital que supone el diseño correcto de su correspondiente modelo digital. Después de las conclusiones, y cerrando el contenido técnico de este trabajo, se encuentra una lista de líneas futuras que abren las posibilidades a la continuación de este proyecto. Estas ramificaciones completarían las ideas antes descritas y ampliarían el conocimiento sobre técnicas de simulación de eventos. Palabras clave Modelo, gemelo, digital, simulación, proceso, lógica, conectividad. Códigos UNESCO • 12 Matemáticas o 1203 Ciencia de Los Ordenadores ▪ 1203.05 Sistemas Automatizados de Producción ▪ 1203.26 Simulación • 33 Ciencias Tecnológicas o 3310 Tecnología Industrial ▪ 3310.03 Procesos Industriales ▪ 3310.05 Ingeniería de Procesos o 3311 Tecnologías de la Instrumentación ▪ 3311.02 Ingeniería de Control o 3313 Tecnología E Ingeniería Mecánicas ▪ 3313.15 Diseño de Máquinas JORGE HERNANGÓMEZ GONZÁLEZ 7 ÍNDICE 1. ESTADO DEL ARTE ...................................................................................................... 1 2. INTRODUCCIÓN ........................................................................................................... 4 3. OBJETIVOS ................................................................................................................... 6 4. METODOLOGÍA ............................................................................................................ 7 4.1 Primer proceso ............................................................................................................ 9 4.1.1 Resumen ............................................................................................................... 9 4.1.2 Explicación del proceso ......................................................................................... 9 4.1.3 Creación del modelo 3D .......................................................................................11 4.1.4 Creación del modelo con PF ................................................................................20 5. RESULTADOS Y DISCUSIÓN ......................................................................................29 5.1 Segundo proceso ........................................................................................................29 5.1.1 Resumen ..............................................................................................................29 5.1.2 Explicación del proceso ........................................................................................29 5.1.3 Creación del modelo 3D .......................................................................................30 5.1.4 Creación del modelo con PF ................................................................................32 5.2 Tercer proceso ............................................................................................................37 5.2.1 Resumen ..............................................................................................................37 5.2.2 Explicación del proceso ........................................................................................38 5.2.3 Creación del modelo 3D .......................................................................................42 5.2.3.1 Tiempos .........................................................................................................51 5.2.3.2 Costes ...........................................................................................................53 5.2.3.3 Mejoras ..........................................................................................................54 5.2.4 Creación del modelo con PF ................................................................................58 5.2.4.1 Marcado y transporte inicial ...........................................................................63 5.2.4.2 Transporte intermedio ....................................................................................71 5.2.4.3 Variables ........................................................................................................73 5.2.4.4 Máquinas operando .......................................................................................76 5.2.4.5 Espera de piezas en mesa de procesado en lo que se llena la entrada si la estación ya está esperando piezas ............................................................................80 5.2.4.6 Espera de piezas en mesa de procesado en lo que se vacíaa la salida si ya se había empezado a vaciar ...........................................................................................83 5.2.4.7 Tiempos y costes ...........................................................................................84 5.2.4.8 Mejoras ..........................................................................................................86 6. CONCLUSIONES..........................................................................................................896.1 Introducción ................................................................................................................89 6.2 Acercamiento a la realidad ..........................................................................................89 8 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) 6.3 Visibilidad ...................................................................................................................92 6.4 Flexibilidad ..................................................................................................................93 6.5 Otras ventajas del PF .................................................................................................94 7. LÍNEAS FUTURAS ........................................................................................................95 8. BIBLIOGRAFÍA .............................................................................................................96 9. ÍNDICE DE FIGURAS ...................................................................................................98 10. ABREVIATURAS, UNIDADES Y ACRÓNIMOS ....................................................... 101 11. GLOSARIO .............................................................................................................. 102 CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 1 1. ESTADO DEL ARTE En este capítulo se van a presentar una serie de artículos referenciados que tienen que ver directamente con este trabajo. De esta manera, se sienta una base bibliográfica sobre el contenido de éste al relacionar la información de estos documentos con el trabajo realizado. Un gemelo digital (Digital Twin, DT) es un homólogo informatizado de un sistema físico, que puede usarse sincronizando en tiempo real de los datos detectados procedentes de un proceso y es capaz de decidir entre un conjunto de acciones y ejecutar el todo el sistema de producción de forma óptima. En cambio, un modelo digital (Digital Model, DM) es una representación digital de un objeto físico o proceso existente que no intercambia información con el objeto real. Basándose en esta última definición, si además existe un flujo de datos unidireccional automatizado entre el estado físico y digital de un objeto, se podría llamar al modelo sombra digital (Digital Shadow, DS) (Kritzinger, Karner, Traar, Henjes, & Sihn, 2018). Con el crecimiento de las nuevas tecnologías y la nueva Industria 4.0, que intenta reinventar las conexiones en los procesos de fabricación, muchas empresas se han propuesto la creación de gemelos y modelos digitales. Estos están atrayendo la atención de investigadores académicos y profesionales industriales. Mediante el modelado de alta fidelidad y la fusión de datos es posible reproducir un proceso físico y permitir una supervisión, optimización y predicción de los resultados del mismo (Digital twin towards smart manufacturing and industry 4.0, 2021). La Industria 4.0, por su parte, pretende integrar tecnologías que permitan mejorar la comunicación entre personas y dispositivos. Este objetivo es complejo y se apoya para llevarse a cabo en aplicaciones informáticas de simulación de eventos discretos (Discrete Event Simulation, DES). Sin embargo, la creciente demanda de una toma de decisiones en tiempo casi real ha hecho que la DES se convierta en un componente fundamental de los gemelos digitales (Agalianos, Ponis, Aretoulaki, & Plaka, 2021). Se ha mencionado en el párrafo anterior la definición de DES. La diferencia principal entre un DES DM y un DES DT es la fuente de datos que permite simular el proceso. Mientras que el modelo digital utiliza datos internos que simulan las condiciones del proceso reales, el gemelo digital utiliza datos reales de planta para realizar la simulación. Sin embargo, ambas presentan unas fases de análisis de los resultados y la posibilidad de optimización e implementación de las soluciones halladas (Reed, Löfstrand, & Andrews, 2021). Por otro lado, para modelar formalmente un proceso de fabricación de manera virtual se utilizan siete elementos básicos: el controlador, el ejecutor, el procesador, el buffer, la entidad de flujo, los nodos y la ruta logística. Cada elemento está representado por un símbolo que servirá para crear un esquema del flujo de información en el modelo. Este esquema será el primer paso por realizar una vez se tiene el modelo CAD de los distintos elementos que van a conformar la simulación. Después de esto el modelo deberá ser definido virtualmente de manera que este esquema muestre de manera rápida y visual el funcionamiento del mismo (Jiang, Qin, Fu, Zhang, & Ding, 2021). Para optimizar estos procesos, es fundamental identificar rápidamente los cuellos de botella. El objetivo será equilibrar la línea de producción y reducir el tiempo del proceso que constituye este cuello de botella, que limita la producción total. Además, de cara a la creación del modelo, es interesante crear diferentes submodelos que funcionen de manera independiente y que intercambien información con el resto del sistema. Esto ayuda a simplificar el modelo y facilita la resolución de problemas (Gu, y otros, 2021). Además, los modelos digitales pueden ser optimizados de manera que se adapten automáticamente a las variaciones en los productos a fabricar o en respuesta a las excepciones que se producen durante el proceso de producción. Para ello, utilizan sensores ESTADO DEL ARTE 2 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) que perciben la situación actual del entorno, emplean el razonamiento y utilizan actuadores para ejecutar la secuencia de acciones necesarias para conseguir los objetivos deseados. Estos sistemas autónomos son clave para el nuevo nivel de flexibilidad que exigen las últimas aplicaciones de automatización industrial (Rosen, von Wichert, Lo, & Bettenhausen, 2015). Durante la fabricación, el diagnóstico de equipos, la simulación de procesos y la predicción pueden realizarse en un espacio virtual, reduciendo eficazmente los fenómenos anómalos de producción. Este mantenimiento predictivo del proceso puede reducir los riesgos de fallo en la fabricación. Además, el modelo debe ser eficaz a la hora de permitir la comunicación entre los diferentes subsistemas. Esta falta de comunicación suele constituir una de las mayores limitaciones en los modelos digitales (Qiu, Chen, Zhang, Yi, & Li, 2022). Un ejemplo práctico de todo lo comentado anteriormente puede ser un hospital. Un hospital constituye un centro con un proceso en el que los recursos y las necesidades varían notablemente dependiendo del momento, siendo por tanto un reto a la hora de ser modelado. Para minimizar las diferencias entre demanda y capacidad, se ha creado un modelo digital. Este modelo no solo debe tratar objetos físicos, sino que es interesante también la toma de decisiones inmateriales y las consecuencias indirectas de estas (Karakra, Fontanili, Lamine, Lamothe, & Taweel, 2022). La creación de un modelo digital por submodelos debe incluir las conexiones entre estos, de manera que todos trabajen con un objetivo común de manera sincronizada. Esta división en submodelos debe estar orientada a la recolección de datos del proceso y la posibilidad de optimización de este gracias a la posibilidad de interacción humano-modelo que puede ser inviable si solo pudiera realizarse de manera física en el proceso industrial. En la siguiente imagen se representa un modelo de ejemplo dividido en submodelos (Beregi, Szaller, & Kádár, 2018). Ilustración 5: Diagrama de un modelo de proceso de control CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 3 Por último, lacreciente demanda de productos personalizados ha traído consigo un reto para el sistema de logística de producción (Production Logistics, PL). La incertidumbre con las materias primas y la incertidumbre del equipo de producción condicionan la productividad de la fabricación. En respuesta, las empresas tienen que flexibilizar sus procesos con sistemas con varias fases de funcionamiento y distintos niveles de gestión. Se han investigado técnicas para el diagnóstico de fallos mediante la programación de grupos y el mantenimiento predictivo, basado en la fabricación celular. Este tipo de fabricación consiste en disgregar o descomponer el proceso logístico en funciones más sencillas, de manera que es más fácil detectar fallos (Pan, Qu, Wu, Khalgui, & Huang, 2021) INTRODUCCIÓN 4 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) 2. INTRODUCCIÓN Es evidente que, con el auge de las nuevas tecnologías, el futuro de la fabricación pasa por el desarrollo de la Industria 4.0. Los procesos industriales, que además están cada vez más automatizados, pueden ser optimizados gracias a la recolección de datos y simulación de estos en un entorno virtual. La simulación de procesos industriales es la manera más eficaz y barata de solucionar fallos en la fabricación y de optimizar los procesos. No solo es una manera rápida de realizar cambios en el proceso para ver los resultados, sino que es mucho más barato que hacer las pruebas en el sistema real. Por ello, es importante que los modelos digitales se asemejen lo más que se pueda a la realidad. Cabe mencionar la definición de Virtual Commissioning, que consiste en la creación de un ambiente virtual mediante el cual el usuario pueda interactuar con el mundo físico (Badaraite, 2018). No siempre es viable obtener datos en tiempo real de un proceso de fabricación. Por ello, a veces basta con tener un modelo digital e introducir una fuente de datos histórica del proceso productivo. Sin embargo, tanto la utilización de datos reales en tiempo real, como de datos reales pasados, como de estimaciones de datos del proceso, presenta las ventajas nombradas anteriormente. Como se ha comentado antes, tanto los modelos digitales como los gemelos digitales poseen una fase de análisis de resultados y la posibilidad de optimización del sistema. En concreto, está demostrado que las simulaciones de eventos discretos reproducen fielmente la realidad si el modelo está creado a imagen y semejanza del sistema físico en planta y si los datos introducidos del entorno son similares a los reales. En la creación de un gemelo o un modelo digital, debe comenzarse definiendo el proceso y la línea de producción de manera general. Esto suele hacerse utilizando lo que se conoce como VSM (Value Stream Mapping). El VSM es un método de diagrama de flujo que se utiliza para ilustrar y analizar un proceso de producción (Asana, s.f.). El mapa de flujo de valor es un componente clave en la gestión de proyectos Lean o Lean manufacturing, una metodología ágil que aumenta el valor para el cliente al eliminar el desperdicio de cada fase del proyecto. La metodología Lean Manufacturing intenta optimizar los procesos de fabricación eliminando aquellos subprocesos o tareas que no son necesarios o entorpecen el proceso de producción. Los elementos que conforman el VSM están predefinidos y pueden ser clasificados a grandes rasgos en los citados anteriormente: el controlador, el ejecutor, el procesador, el buffer, la entidad de flujo, los nodos y la ruta logística. Una vez se tiene clara la disposición general del proceso, debe ser simulado lo más fielmente posible a la realidad. Gracias al desarrollo de la informática existen potentes herramientas de simulación que permiten crear estos modelos. Estos programas deben tener la suficiente flexibilidad como para que las empresas puedan simular su propio proceso productivo, que puede incluir multitud de variables propias y que es diferente a todos los demás. Por ello, los modelos digitales no solo deben de funcionar como el proceso real, sino que la simulación debe asemejarse al funcionamiento interno del sistema, conteniendo todos los detalles posibles. Por ejemplo, una simulación de un proceso simple será optimizada más fácilmente si en el modelo digital se tienen expuestas todas las variables del sistema y no solo las que el programa informático requiere para simular el proceso. Este nivel de detalle no solo abre la posibilidad a una mejor optimización de los procesos y a una rápida detección de los fallos, sino que permite ver con mayor exactitud qué aspectos ralentizan la producción, al ver más fácilmente los cuellos de botella. Es fundamental que los subprocesos que limitan la producción total sean identificados como tal, por lo que es interesante que el sistema no esté implementado virtualmente de manera demasiado general, CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 5 sino disgregando o descomponiendo en pequeñas interacciones entre variables. Además, el mismo nivel de detalle garantizará que el proceso se simula de manera fiel a la realidad, incluyendo todos los detalles del funcionamiento en planta. Paradójicamente, detallar más el modelo simplifica la mejora de éste. La similitud entre el sistema modelado y el sistema real debe pasar por recoger la misma información del entorno en ambos casos. En el modelo digital deberá ser mediante variables simuladas, mientras que el modelo real se tratará de sensores y señales eléctricas, mecánicas o simplemente eventos que conllevan decisiones. Es decir, una vez que el modelo es fiel a la realidad, y si el programa informático de simulación lo permite, correr la simulación y obtener datos permitirá en primer lugar encontrar si existen fallos en el sistema. Por ejemplo, es posible que un proceso quede atascado si cierta combinación de variables conlleva una decisión lógica que no había sido contemplada. Quizá estas condiciones del entorno no se han dado en la planta real y por eso no se había detectado el fallo, o quizá el proceso real está aún en fase de diseño o mejora. En ambos casos, la simulación detallada habrá conseguido prevenir ese fallo. Por otro lado, las simulaciones de eventos discretos no siempre son lo suficientemente visuales como para permitir este nivel de detalle ni encontrar rápidamente los fallos y cuellos de botella o cambiar aspectos del proceso para optimizarlo. De hecho, la mayoría de los simuladores de eventos discretos están centrados en la línea de producción de un producto físico. Sin embargo, como se planteó en el ejemplo del hospital, estos eventos discretos no siempre son productos físicos, sino que pueden ser ítems inmateriales. Por ejemplo, la decisión de un médico que implica la decisión de un grupo de enfermeros, o una llamada telefónica que espera a ser atendida por el personal de recepción. Como se ha mencionado antes, la determinación detallada del modelo pasa por utilizar variables similares a las del proceso real. Además, esto facilitará la integración de datos reales para crear el gemelo digital. Por otro lado, la división en submodelos también forma parte de esta caracterización del modelo. Dentro de un proceso productivo existirán submodelos que funcionen de manera independiente. Por ejemplo, una máquina, la función de un operador o la resolución de un error lógico serán acciones distintas que deberán interactuar entre sí y que, en ocasiones, se valdrán de las mismas variables iniciales o cambiarán las mismas variables finales. Es por ello que se menciona la necesidad de una sinergia de los elementos de la simulación. Por último, cabe mencionar la necesidad de flexibilidad de estos modelos ante variaciones externas e internas. Como se ha mencionado antes, la incertidumbre en la industria es cada vez mayor, especialmente relacionadacon la demanda y con la obtención de materias primas. Esta flexibilidad no siempre es fácil de adaptar a la realidad y el modelo debe ser capaz de permitir simular multitud de variaciones del proceso para conseguir obtener soluciones a estos problemas. Como se desarrollará en el capítulo de metodología, para el tratamiento de todos estos aspectos en este trabajo se han basado las conclusiones en varios modelos realizados con un programa llamado FlexSim. Este programa incluye un espacio de trabajo llamado Process Flow, que es más abierto que la interfaz convencional. En los objetivos se mencionará dicho programa, mientras que en la metodología se explicará mejor esta cuestión. OBJETIVOS 6 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) 3. OBJETIVOS En base a la discusión expuesta en la introducción, se presentan los siguientes objetivos a cumplir en este trabajo: • Creación de varios modelos digitales de procesos industriales con el programa de simulación FlexSim. Se trata de tres procesos de complejidad creciente que se valen del programa para llegar a las conclusiones. • Mejora de estos modelos contra las limitaciones de FlexSim mediante la función interna del programa llamada Process Flow (PF). Los dos primeros modelos consisten en la utilización de Process Flow como única herramienta posible para desarrollar el funcionamiento lógico correcto del proceso. El tercer proceso constará de dos modelos: uno sin Process Flow y otro con Process Flow. La comparación de ambos modelos es de donde se han obtenido la mayor parte de las conclusiones. • Optimización de los modelos mediante PF. En los dos primeros casos se resaltará el uso de Process Flow como única herramienta utilizable para simular bien los dos procesos. En el tercer ejemplo, además de esto, se propondrán una serie de mejoras al modelo y al proceso, y al final de la explicación se relacionarán estas mejoras con Process Flow. • Comparación de los modelos obtenidos y obtención de conclusiones. La comparación antes mencionada, que parte de la mejora del modelo de tiempos del tercer modelo, será acompañada de una explicación de la obtención de tiempos y costes del proceso de cara a visualizar mejor las variaciones entre los modelos con y sin Process Flow. Haciendo hincapié en las ventajas que pretenden alcanzarse al modelar con Process Flow, estas deberán incluir: • Comprender profundamente los tres procesos y establecer mediante la simulación los elementos y variables necesarios para que cada modelo se asemeje a la realidad. • Aumento considerable en el acercamiento a la realidad de la simulación, suponiendo esto la superación de los límites que tiene el programa al modelar sin Process Flow. • Conseguir una mejor visualización del modelo, de manera que facilite la comprensión del proceso para una persona ajena a su diseño. • Sentar las bases para que los modelos digitales creados sean más fácilmente convertibles en gemelos digitales o en sistemas de diseño de PLCs. • A través de una combinación de mayor acercamiento a la realidad, mayor visibilidad del proceso y aumento de la flexibilidad de modelado, proponer mejoras para aumentar la producción. CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 7 4. METODOLOGÍA Para el cumplimiento de estos objetivos el trabajo se basará en el programa de simulación comercial FlexSim. Este software de simulación de eventos discretos nació en 2003 y fue desarrollado por FlexSim Software Products, Inc. En la siguiente imagen se compara FlexSim con otro programa de simulación de procesos industriales. FlexSim USIM PAC Ilustración 6: Comparación entre programas de simulación (Capterra, s.f.) Una de las principales diferencias que pueden apreciarse en la tabla anterior es la posibilidad de tener imágenes en 3D en movimiento, aportando una gran visibilidad al proceso. En la siguiente imagen puede verse un ejemplo 3D de una planta de embotellado. Ilustración 7: Ejemplo de disposición de una planta en FlexSim FlexSim tiene dos grandes modalidades: Classic y Healthcare. La segunda es para la creación de modelos aplicados a las ciencias de la salud, mientras que la primera es más general. Se ha trabajado en la primera opción. La licencia de FlexSim utilizada es la educacional, que fue METODOLOGÍA 8 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) proporcionada por la E.T.S.I. Industriales y que no tiene el límite de ítems que sí posee la versión de prueba gratuita. El programa permite simular procesos de todo tipo y se divide en varias mesas de trabajo. Por un lado, está la parte de simulación 3D. En ella, distintos elementos de una librería preinstalada pueden colocarse mediante el sistema Drag-and-Drop en un espacio tridimensional, pudiendo ser conectados y configurados para que el proceso quede simulado. Estas librerías pueden ser modificadas añadiendo el usuario cualquier forma 3D que se le ocurra, siempre que su función se asemeje a una de las que ya vienen instaladas. Además de las opciones de configuración de cada elemento, llamadas Propiedades (‘Quick Properties’), existe la posibilidad de utilizar código interno de programación en ciertas funciones. Este código se llama FlexScript y permite implementar soluciones más complejas que las que permite la librería que viene por defecto. Por otro lado, el trabajo se basará en otro espacio de trabajo de FlexSim llamado Process Flow (PF). Esta modalidad fue creada recientemente por FlexSim, por lo que es novedosa en el sector. En ella se pueden colocar elementos de otra librería distinta, y también elementos programados por el usuario con FlexScript, de manera que se relacionen entre ellos y determinan el funcionamiento del proceso. Al no tratarse de una simulación en 3D sino de algo más abstracto, PF permite representar infinidad de tipos de procesos, siendo más abierto que el simple modelo 3D. Las diferencias entre el modelo con y sin la utilización de PF serán desarrolladas en este trabajo. En los ejemplos que se van a desarrollar, se relacionan directamente los elementos de un modelo 3D con el PF, de manera que el modelo consta de un funcionamiento detallado y abierto gracias a PF al mismo tiempo que puede ser visualizado en 3D. Esta combinación de ambas modalidades es la más interesante de cara a realizar un modelo o gemelo digital. Otro de los espacios de trabajo utilizados es el de Dashboards. En él, la librería contiene una serie de gráficos que permiten obtener datos en tiempo real del proceso simulado. Estos datos son muy útiles a la hora de comparar las simulaciones y las distintas mejoras que se implementan, además de detectar fallos y ver si se cumplen los objetivos de producción. Para el trabajo con FlexSim se ha obtenido información de diferentes fuentes, en su mayoría de Internet, incluyendo la propia ayuda interna del programa. La lectura acompañada de imágenes sobre los diferentes aspectos del programa, así como vídeos explicativos ha solucionado la mayor parte de las dudas que han ido surgiendo. Estos vídeos provenían tanto de canales de divulgación científica académica, usuarios particulares y canales de empresas privadas como de conferencias en directo de la propia empresa creadora de FlexSim, cuya filial en la península ibérica FlexSim Iberia provee de Webinars en español a los usuarios del programa. Además, se ha complementado el aprendizaje con la asistencia a las clases de la asignatura Integrated Manufacturing Systems del Máster Universitario de Ingeniería Industrial. En ellas se profundizaba en la creación de modelos digitales en el entorno 3D citado, así como en la obtención de datos y resultados. Para alcanzar los objetivos anteriormente desarrollados, se han creado varios modelosde tres procesos diferentes. En primer lugar, se explicarán con detalle dos procesos y sus correspondientes modelos creados con FlexSim, de manera que su explicación tiene una doble función: desarrollar el funcionamiento del PF y de FlexSim, y exponer dos aplicaciones prácticas de estos que aumentarán la utilidad de los dos modelos. El primero de estos dos procesos se desarrolla a continuación, mientras que el segundo, que se vale de la información explicada inicialmente en el primero, se explica en el capítulo de resultados y discusión. Por último, se desarrollará en este último capítulo en mayor extensión un proceso industrial real completo, que incluirá elementos de PF utilizados en los dos procesos previos y otros que CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 9 se explicarán en este tercer apartado. Además, como se ha comentado en los objetivos, de este proceso se han creado dos modelos: uno que solo se desarrolla en el espacio de trabajo 3D de FlexSim, y otro que basa el funcionamiento del proceso en PF. De esta manera quedarán reflejadas claramente las diferencias entre estos dos modelos y las razones por las que PF es una herramienta útil para alcanzar los objetivos y superar los retos planteados en la introducción de este trabajo. 4.1 Primer proceso 4.1.1 Resumen Este modelo será un ejemplo simple de PF que servirá para explicar las nociones básicas de su funcionamiento y creación, así como una visión rápida de lo que se entiende por modelo 3D en FlexSim. El proceso a simular es una cinta transportadora que mueve objetos de una cola a otra. Esta cinta está regida por un motor eléctrico cuyo funcionamiento irá determinado por PF. Además, en este primer ejemplo se explicarán las diferentes posibilidades de conectividad de FlexSim que serán útiles para la realización de los modelos, así como la manera de implementar lógica PLC en PF. Ilustración 8: Vista general del primer proceso 4.1.2 Explicación del proceso Consiste en una línea de producción de un producto único que viene representado por defecto como una caja. Estas cajas constituyen el elemento de flujo de la simulación e irán pasando por los distintos ítems colocados en el espacio 3D. Después de ser generados en una fuente (source), las cajas llegarán a una primera cola (Queue). La cola, representada como una base sobre la que pueden almacenarse cajas, es llenada automáticamente por la fuente y vaciada por un operador (Operator). METODOLOGÍA 10 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) Ilustración 9: Fuente y cola inicial Este operador es lo que se denomina un ejecutor de tareas (Task Executer). La función de este es coger las cajas de la cola inicial y llevarlas a la cinta transportadora. Después de ser depositadas en la cinta, un sensor óptico (Photo Eye) detectará la presencia de piezas en la cinta, activando el motor eléctrico que la hace funcionar. Mientras no haya detección de pieza por el sensor, la cinta permanecerá parada. Ilustración 10: Cinta transportadora y motor Esta última funcionalidad del modelo es la que realmente constituye un desafío que solo puede ser llevado a cabo mediante PF. Con el simple modelo 3D y las Propiedades de los ítems es imposible llevar a cabo este mecanismo. Después de salir de la cinta transportadora, las cajas son almacenadas en una segunda cola. Esta vez las cajas saldrán de dicha cola mediante la acción de otro ejecutor de tareas, un robot, que las deposita en un procesador (Processor). CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 11 Ilustración 11: Procesador y segunda cola El procesador es una máquina genérica capaz de realizar acciones sobre los elementos de flujo y que puede soltar los elementos una vez han sido terminados de procesar. Esta evacuación se llevará a cabo mediante un sumidero (Sink) que absorberá las cajas que van llegando. Ilustración 12: Salida del procesador 4.1.3 Creación del modelo 3D Antes de nada, debe crearse un modelo 3D sobre el que se trabaja. Haciendo click en New Model, se despliega la siguiente ventana, la cual se acepta con la configuración mostrada, que viene por defecto. METODOLOGÍA 12 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) Ilustración 13: Ventana de creación de un nuevo modelo Una vez se han configurado las unidades del modelo, aparece la interfaz principal de FlexSim, por defecto en la zona de trabajo de modelado 3D. A la izquierda está la librería con la lista de ítems que se pueden utilizar, en el centro está el espacio 3D donde se trabajará y a la derecha está la ventana de Propiedades del elemento sobre el que se haga click. Si se recrea el modelo descrito en lo que va de capítulo mediante la utilización de esta librería, faltará unir los diferentes ítems para definir la dirección y sentido de la línea de producción. Para ello, en la barra superior, se utiliza la función de conectar objetos (Connect Objects) para conectar la fuente con la cola inicial, ésta con la cinta transportadora, ésta con la segunda cola, ésta con el procesador y éste con el sumidero. También se conectarán de esta manera el motor y la cinta transportadora. No debe olvidarse colocar el sensor óptico al comiendo de la cinta transportadora. Ilustración 14: Sensor óptico sobre la cinta Además, se conectarán mediante la función de conectar puertos (Connect Center Ports) los ejecutores de tareas y los ítems desde los que operan, esto es, el operador con la cola inicial CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 13 y el robot con la segunda cola. Las líneas entre ítems representan estas conexiones, y el sentido en cada línea va del extremo rojo al verde. Ilustración 15: Vista aérea de la planta Si se centra la atención en las propiedades de cada ítem, se verá que a pesar de ser un modelo todavía sin PF se pueden personalizar bastantes aspectos del proceso: • Fuente: puede ser personalizada la frecuencia con la que crea elementos, y puede personalizarse qué elementos crea. Además, puede indicarse a qué puerto de salida deben salir dichos objetos según ciertas condiciones. Ilustración 16: Configuración de la fuente Los elementos no tienen por qué ser cajas. De hecho, FlexSim permite elegir entre varios elementos como esferas, botellas o palés. Sin embargo, también está permitida la integración de elementos 3D externos. Esto permite la personalización total de la animación 3D, que no solo puede ser implementada en los elementos de flujo, sino que puede sustituir la apariencia de cualquier ítem. Esto incluye, por ejemplo, los procesadores, que podrán ser sustituidos por máquinas diseñadas en 3D a imagen y semejanza de las utilizadas realmente. Esto se ha probado en este modelo cambiando la apariencia del ítem motor que rige la cinta transportadora. Inicialmente este tenía la apariencia de la imagen siguiente. METODOLOGÍA 14 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) Ilustración 17: Apariencia por defecto de un motor Sin embargo, mediante el software de diseño 3D Fusion360 de Autodesk se ha diseñado un motor eléctrico más realista a modo de ejemplo de personalización 3D, con la apariencia de la siguiente figura. Ilustración 18: Diseño 3D externo del motor Como se ha comentado antes, además de la apariencia 3D puede modificarse la frecuencia de llegada de los elementos de flujo. Una de las posibilidades es que estos vengan dados por una distribución estadística de las de la siguiente lista. En ellas pueden ser modificadas todoslos parámetros, por ejemplo, la media y desviación típica de una distribución normal. Esto serán los segundos que pasen entre la llegada de un elemento y el siguiente. También es interesante la llegada de piezas regida por una tabla global (Global Table). CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 15 Ilustración 19: Opciones en la configuración de tiempos Estas tablas permiten intercambiar información entre los diferentes ítems del proceso, siempre que se pueda cambiar un valor de estas y ser leído más adelante por otro elemento. En el caso de la fuente, una tabla podría contener los datos reales de llegadas de piezas de un proceso industrial. Esto constituye la posibilidad de utilizar datos históricos reales de una fábrica, que además es posible importar directamente desde Excel. Más adelante se desarrollan estas posibilidades. • Cola: no solo sirve para almacenar objetos, sino que supone un elemento de pausa para los elementos de flujo que a veces es necesario implementar en el modelo, aunque no exista como tal en planta. Desde sus propiedades pueden cambiarse parámetros como su capacidad, su tiempo de permanencia o si su salida se debe producir en lotes de ciertas cantidades de cajas. METODOLOGÍA 16 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) Ilustración 20: Configuración de cola Además, puede apreciarse que se encuentra marcada la casilla de usar transporte (Use Transport). Esto indica que, para que los objetos salgan de esta cola, utilizarán un medio de transporte que se trata del elemento conectado al puerto current.centerObjects[1], esto es, el operador. La posibilidad antes comentada de indicar los lotes (batches) de productos está relacionada con la necesidad ocasional de implementar colas que no existen en realidad, de cara a agrupar objetos en lotes. Existen otros ítems que realizan funciones parecidas, como el combinador (combiner). • Operador: además de su apariencia y capacidades dinámicas, puede ser personalizada su prioridad para actuar. Esto es interesante de cara a la realización del tercer proceso, ya que el ejecutor de tareas deberá elegir entre varias opciones que llegarán al mismo tiempo a su lista de órdenes pendientes. CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 17 Ilustración 21: Configuración de un operador Dicha prioridad puede elegirse de la lista desplegada en el apartado Pass To, que se muestra en la siguiente figura. METODOLOGÍA 18 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) Ilustración 22: Opciones de configuración en un ejecutor de tareas Como puede apreciarse, puede establecerse que un ejecutor de tareas realice una función u otra en función de cuál esté más cerca, de cuál esté disponible primero, aleatoriamente o por turnos, y teniendo en cuenta o no si el destino está disponible. Estas opciones no siempre son las necesarias, por lo que puede complementarse pulsando en el icono de un papel a la derecha de este apartado. Esto despliega el espacio de programación en FlexScript, que permite la introducción de código interno para regir el comportamiento de los elementos. Esto permite realizar complejos sistemas que traten a los elementos de una manera u otra. Sin embargo, hay aspectos del proceso que no pueden ser programados únicamente con código, y menos aún con las propiedades del ítem, y es entonces cuando es más interesante el uso de PF. • Procesador: el procesador permite simular una máquina genérica que realiza acciones sobre el elemento de flujo. Las principales características que pueden cambiarse son la capacidad y los tiempos de procesado y ajuste, que también pueden elegirse de una tabla global o distribución estadística, al igual que antes, entre otras opciones. Ilustración 23: Configuración de un procesador CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 19 Aunque no es único en los procesadores, existe la posibilidad de asignar etiquetas (labels). Estas etiquetas pueden asignarse a los elementos de flujo, de manera que estos funcionan como transporte de información aguas abajo en el proceso. Ilustración 24: Etiquetas en un elemento 3D Además, y de nuevo no siendo único en los procesadores (también en, por ejemplo, las colas), pueden crearse acciones (Triggers) que afectan a los distintos elementos del modelo. Por ejemplo, en el caso de un procesador, puede configurarse que los objetos cambien de forma física y sean etiquetados al acabar el procesado, y que estas etiquetas sirvan para que luego un operador decida a qué puerto enviar caja elemento de flujo. En la siguiente imagen pueden verse las principales opciones de triggers que permite configurar un procesador. Ilustración 25: Opciones de triggers Estas opciones pueden ser ejecutadas en distintos momentos, y estos se muestran en la siguiente figura. Ilustración 26: Momentos para realizar una acción METODOLOGÍA 20 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) 4.1.4 Creación del modelo con PF Para abrir la funcionalidad de Process Flow hay que pinchar en dicha opción en la barra superior. De las 4 opciones que da, se selecciona la de ‘Add a general process flow’. Esto despliega un panel en blanco donde pueden ir añadiéndose elementos de la lista ‘Library’ de la izquierda de la pantalla. Ilustración 27: Apertura de un nuevo panel de Process Flow Como se ha comentado anteriormente, el modelo consiste en una cinta transportadora que funciona con el motor contiguo, y el sensor detecta el paso de un objeto en la cinta de manera que detiene el motor durante unos segundos. Mediante los elementos de la nueva librería que se despliega a la izquierda en la interfaz de FlexSim, se podrá ir configurando en el panel de PF en blanco que aparece ahora la funcionalidad de los elementos del modelo 3D, que hasta ahora no realizan más que una sucesión de cajas que no apaga ni enciende el motor y que no deja sin funcionar la cinta transportadora en ningún momento. El recorrido de las cajas, si bien es el mismo en este caso en el modelo con y sin PF, constituye el desencadenante para que la cinta transportadora pare o siga funcionando. Esta manera de depender de la llegada de las cajas es característica de PF, y simula una cinta transportadora cuyo motor ahorra energía cuando está quieto debido a que no hay una pieza que desplazar. Este ejemplo se asemeja al funcionamiento de una escalera mecánica, que detecta una persona para acelerar o ralentizar la marcha de los peldaños. En primer lugar, se colocan tres elementos Contenedor (Container) y se renombran para esquematizar mejor el sistema (Input, Server y Output). Ilustración 28: Organización en contenedores Dentro de cada proceso se colocarán las variables que influyen en el sistema. En este caso son dos: el motor, que irá accionándose y parándose, y el sensor óptico, que cambiará su CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 21 valor discreto entre 0 y 1. Se cogen dos elementos tipo Variable y se coloca uno en el proceso Input y otro en el proceso Output, pudiendo además renombrarlos con el panel derecho desplegado al hacer click en cualquiera de las dos variables. Además, se reproduce el sistema de bloques representado en la siguiente imagen, y explicado a continuación. Ilustración 29: PF del primer modelo Al igual que en el modelo 3D se tienen los elementos de flujo, en PF se tienen los tokens. Estos tokens son elementos que fluyena través de los elementos de la librería, que son representados por bloques con diferentes símbolos, como puede verse en la figura anterior. Los tokens son capaces de transmitir información y un bloque está activo siempre que un token esté contenido en él en ese momento. Los tokens pueden ser creados, fluir por los distintos bloques y ser destruidos o almacenados. En el caso del contenedor Input, se tiene un conjunto de bloques unidos entre sí. Esto equivale a tener uno seguido de otro, de manera que los tokens serán creados en el bloque Source y serán destruidos en el bloque Sink, fluyendo de arriba abajo. A continuación se explicarán los distintos elementos que aparecen en la figura anterior y que servirán para regir el funcionamiento del modelo: • Variable: se trata de los bloques de color rosa con un círculo azul, que son capaces de cambiar su valor. Por ellos no pasan los tokens. En este ejemplo, las variables METODOLOGÍA 22 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) cambiarán su valor entre 0 y 1 y esto desembocará en la activación o desactivación del motor. o photo eye: variable que cambiará su valor en función de si el sensor óptico está cubierto o no por una pieza. Para ello, se configura de la siguiente manera. Ilustración 30: Configuración de la variable photo eye Como puede apreciarse, las variables pueden asociarse a objetos del modelo 3D, siendo PE1 el sensor óptico. Este tipo de asociaciones es lo que relaciona el modelo 3D con el modelo PF. Además, en las variables declaradas como sensor pueden declararse eventos (Events), que regirán cómo debe cambiar el valor de la variable, en este caso con números entre 0 y 1. o motor: el motor estará declarado como una variable de control en la que, que son las que pueden ser ajustadas con acciones, como puede verse en la siguiente figura. CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 23 Ilustración 31: Configuración de la variable motor Así, cuando la variable valga 0, el motor se parará, y cuando valga 1 el motor funcionará. Cabe destacar que las variables tienen en la parte inferior de su configuración la opción Ver variable (View Variable), la cual permite visualizar el valor de la variable en directo durante la simulación. Esta función sólo está disponible en PF y no en el modelo 3D, donde pueden usarse variables mediante FlexScript, de manera que PF posee una clara ventaja a la hora de visualizar el proceso y corregir errores, puesto que un modelo en proceso de creación presentará fallos al no conseguir que las variables valgan lo que en realidad deberían valer. o Conexión OPC UA: las variables en planta poseen varios protocolos de comunicación de control en procesos industriales. Las variables en PF, al ser declaradas, pueden ser asignadas a uno de estos protocolos. De esta manera las variables del proceso quedarán conectadas de la misma manera en que lo harían en planta. Por ello, FlexSim permite elegir entre las siguientes opciones ▪ Allen-Bradley: marca de una línea de equipos de automatización. Esta opción serviría para trabajar mejor con productos de esta empresa. ▪ Modbus: protocolo de comunicación basado en la arquitectura maestro/esclavo o cliente/servidor. Existen empresas que se dedican a la conexión con otros protocolos como OPC UA. ▪ OPC DA (Open Platform Communication Data Access): es el protocolo clásico de comunicación estándar entre dispositivos y sistemas industriales. METODOLOGÍA 24 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) ▪ OPC UA: presenta algunas ventajas con respecto al protocolo OPC DA, como la fácil integración y reducción de costes y la fiabilidad. (kepserverxopc, s.f.) En PF pueden emularse estas conexiones, creando un protocolo ficticio, o puede conectarse el ordenador a una conexión real. Como puede apreciarse en la siguiente figura, es posible configurar una conexión entre variables conectándose a un servidor (Server) con una contraseña (Password). Esto permitiría obtener los valores para las variables que se conecten a dicho servidor en tiempo real. Con esta función es posible crear un gemelo digital, que reproduce exactamente lo que está pasando en planta en el momento. Ilustración 32: Creación de una conexión OPC DA De hecho, en las siguientes dos imágenes puede apreciarse un ejemplo de servidor conectado, y la configuración de ciertas variables. Ilustración 33: Conexión OPC UA a un servidor CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 25 Ilustración 34: Configuración de una conexión a un servidor En este ejemplo la conexión se emulará al no tener datos de una planta real en directo, y de cara a seguir explicando las nociones básicas de PF. Se escoge el protocolo OPC UA debido a que OPC (OLE for Process Control) (OLE, Object Linking and Embedding) es el protocolo más extendido y general en la industria actualmente, y a que la UA (Unified Architecture) presenta ciertas ventajas frente a la DA (Data Access). Esta emulación puede configurarse directamente, como se ha hecho en el tercer proceso, o declarar el servidor OPC como una variable más, como se ha hecho en este ejemplo. El protocolo OPC UA incorpora todas las grandes funciones de los OPC anteriores, pero solucionando los nuevos requerimientos de comunicación de los entornos actuales. De hecho, OPC DA ha sido la más utilizada en la industria hasta hoy gracias a su no dependencia de ningún fabricante, su interoperabilidad y su transmisibilidad de datos. Sin embargo, OPC UA le ha robado el puesto de más usado gracias a su fácil integración, fiabilidad de datos, interoperabilidad a todos los niveles, alcance de las arquitecturas en tiempo real y múltiples opciones de mercado. Los costes de integración se reducen al ser más rápido y sencillo hacerlo con OPC UA que con OPC DA, además de que resulta imposible descifrar la información intercambiada entre servidor y cliente, al estar en OPC UA los datos encriptados. Además, OPC DA sólo podía basarse en Windows, mientras que OPC UA permite hacerlo también en MacOS, Linux, PLCs con Sistemas Operativos propios, dispositivos IoT (Internet of Things) sencillos o herramientas cloud (LogitekTeam, 2019). Las variables declaradas anteriormente, por tanto, han sido conectadas a un protocolo OPC UA para la comunicación entre máquinas. Los eventos y acciones que permiten incluir las variables en su configuración incluyen varias funciones, algunas de ellas imposibles de realizar sin PF. Las principales pueden verse en la siguiente imagen. Ilustración 35: Eventos a configurar en las variables El uso de variables que simulen sensores o la activación de un puente H que controla un motor eléctrico constituye uno de los aspectos más interesantes de PF. No solo el modelo funcionará METODOLOGÍA 26 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) de manera animada aportando datos de producción y cuellos de botella, sino que permite saber el valor de las variables en todo momento, algo fundamental cuando se desean detectar fallos en los automatismos o a la hora de implementar mejoras, tanto en el modelo como en planta. • Fuente (Source): este bloque será el encargado de crear tokens. Existen varios tipos, pero el realmente interesante es el que crea un token cada vez que un item activa el sensor óptico. Por eso, se asociará con el cambio de la variable photo eye. Ilustración 36: Fuente en el primer proceso Es posible configurar el nombre o valor del token, entre otras cosas, en la configuración de la fuente, como puede verse en la siguiente tabla. Ilustración 37: Configuración de la fuente• Ajustar variable (Set Variable): son bloques que, cuando son franqueados por un token, cambian el valor de la variable que se asocie al valor deseado. • Retraso (Delay): cuando el token llega a este bloque, quedará retenido el tiempo que se configure. En ocasiones, este bloque puede ponerse al final de una serie de órdenes que se ejecutan instantáneamente con una duración de cero segundos, de manera que sirve como punto y seguido para que el programa no se atasque. Es un método que no sigue unas normas claras pero funciona, y así lo declara la propia empresa creadora de FlexSim en su manual. Las variables se conectan a los bloques de ajustar variable, a la fuente y a la variable que hace de servidor OPC de la siguiente manera. CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 27 Ilustración 38: Conexiones de las variables La lógica de este PF consiste en el cambio de la variable photo eye cuando una pieza se posa sobre el sensor en el modelo 3D, es decir, cuando llega a la cinta transportadora, creando por tanto un token en la fuente. Este token cambiará el valor de la variable motor a 1, es decir, lo pondrá en funcionamiento, ya que por defecto se ha configurado para estar parado. Después de un retraso suficiente como para que la cinta transportadora, que tiene una longitud y velocidad determinadas, termine de desplazar la pieza, se vuelve a apagar el motor ajustando la variable a 0. Este simple sistema ahorrará energía y permitirá ver la ocupación real del motor y la cinta transportadora, y de poder programarse en planta, quedaría reflejado también en el modelo digital. El hecho de poder conectar las variables entre sí con varios tipos de servidores permite, además de lo mencionado anteriormente, emular la lógica de un PLC (Programmable Logic Controller). La emulación sirve para simular un sistema que eventualmente usara PLC. Esta lógica se entregará a otro miembro del equipo que programará la lógica de escalera real. Como experto en simulación, el creador del modelo no tiene por qué saber programar PLC. Usando la emulación, es posible diseñar la lógica ideal que deben usar los PLC en el sistema y después usar la emulación para comunicar como debería funcionar esa lógica al empleado que programará el PLC real para el sistema del mundo real. Una vez la lógica de escalera del PLC está implementada puedo conectar FlexSim al sistema real y saber si la lógica del PLC se ha programado correctamente. A medida que el modelo se ejecuta y recibe información real del sistema real, puede comparar el modelo de simulación con los resultados del sistema para validar que el PLC se programó bien. La lógica Ladder no puede hacerse programando directamente pero sí con PF para luego ser replicado en un programa (Flexsim Andina, 2022). METODOLOGÍA 28 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) Además de conectarse a un servidor real, también es posible conectar variables directamente con Excel, que puede ser también en tiempo real o una lista de datos, bien históricos de planta o bien configurados con la intención de probar ciertas condiciones entorno concretas. Para ello, debe pulsarse el icono de Excel. Posteriormente, se debe crear una tabla global en la caja de herramientas. En la ventana emergente, se selecciona importar, y después añadir línea de importación. Después de llamarla como se desee, se selecciona el archivo de Excel sobre el que se va a trabajar escribiendo la ruta. Después, se debe seleccionar que hoja utilizar y en que tabla se volcarán los datos. Es posible modificar que solo lea ciertas líneas y/o columnas y decir de que tipo es cada variable. Es interesante de cara a la creación de un gemelo digital la función ‘post import code’, que permite meter las tablas con algún script, y no manualmente. Para conectarse a una base de datos, que puede estar en el mismo ordenador, fuera de él, en un sitio web o en cualquier parte, elijo en la opción Database conector el tipo de base de datos, para después escribir su dirección IP. Ilustración 39: Conexión a una base de datos Es posible, con la ayuda de PF, tomar datos desde una página de Internet. Por ejemplo, podrían tomarse los datos del tráfico reales para que sirvan como variables del entorno en PF (FlexSim Iberia, 2021). Ilustración 40: Toma de datos desde Internet CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 29 5. RESULTADOS Y DISCUSIÓN 5.1 Segundo proceso 5.1.1 Resumen Dos cintas transportadoras se encuentran cruzadas, coincidiendo en cierta zona donde los objetos que transportan pueden colisionar. Para evitar esto, se han colocado sensores ópticos antes y después de la zona de choque. Estos, mediante lógica de control en PF, activarán o desactivarán los motores eléctricos que mueven las cintas transportadoras, evitando el choque de objetos. Ilustración 41: Vista general del segundo proceso 5.1.2 Explicación del proceso Después de obtener el estado de una variable sensor óptico (photo eye), estos photo eye se comunicarán entre sí mediante una conexión OPC UA, rigiendo el comportamiento de los motores asociados a las dos cintas transportadoras. La zona de cruce entre ambas cintas es denominada área restringida. Si una pieza está en esta área, y se detecta que un objeto de la cinta perpendicular está a punto de entrar en la misma, el motor de esta última deberá detenerse hasta que el elemento de flujo, representado por cajas, proveniente de la primera cinta haya salido del área restringida. RESULTADOS Y DISCUSIÓN 30 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) Ilustración 42: Acción sobre las cintas de los sensores Después de recorrer la totalidad de cada cinta, las cajas entrarán en un procesador antes de irse por un sumidero. Ilustración 43: Salida del procesador 5.1.3 Creación del modelo 3D Deberán usarse dos fuentes, dos sumideros, dos cintas transportadoras, dos procesadores y 4 sensores ópticos. Deberán colocarse y unirse (mediante links tipo A) como en la siguiente figura: CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 31 Ilustración 44: Vista aérea de la planta Es importante para el ámbito visual que las cintas transportadoras se crucen físicamente, y aunque el sistema funcionará independientemente de este hecho. Nótese también que los sensores deben colocarse antes y después del área restringida y en cada cinta. Los pasos para que el modelo 3D quede de esta manera son: 1. Poner dos cintas transportadoras cruzadas. 2. Poner una fuente y un sumidero antes y después de cada cinta. 3. Poner entre cada cinta y su sumidero un procesador. 4. Poner un motor al lado de cada cinta transportadora. 5. Unir todos los elementos con links tipo A (conectores de objetos antes mencionados). 6. Agregar dos sensores ópticos por cada cinta transportadora, de manera que uno va antes y otro después del cruce de ambas. 7. Para mayor claridad, se renombran los elementos de la siguiente manera: Objeto Nuevo nombre Photo eye antes de la intersección en Conveyor1 PhotoEye1A Photo eye después de la intersección en Conveyor1 PhotoEye1B Photo eye antes de la intersección en Conveyor2 PhotoEye2A RESULTADOS Y DISCUSIÓN 32 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) Photo eye después de la intersección en Conveyor2 PhotoEye2B 8. Cambiar las propiedades de las fuentes de manera que quede marcada la opción ‘Arrival at time 0’, para que los objetos comiencen a salir desde que se activa lasimulación. 9. En las fuentes se han establecido tiempos de llegada distintos para que todas las combinaciones posibles de colisiones sean probadas. 10. En este caso, se han coloreado las cintas transportadoras para mayor claridad. 5.1.4 Creación del modelo con PF Después de añadir todos los elementos, deberá quedar de la siguiente manera. Ilustración 45: PF del segundo modelo (1/2) CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 33 Ilustración 46: PF del segundo modelo (2/2) De cara al interés de este trabajo, solo interesa explicar los nuevos bloques que se han utilizado en este ejemplo y la explicación de la lógica del proceso. El resto de bloques funciona de manera análoga al primer proceso explicado en este trabajo. Las variables sensor óptico, conectadas al resto mediante un protocolo OPC DA (se ha probado en este ejemplo para mostrar que en la simulación en FlexSim funciona de igual manera en ejemplos sencillos que la conexión OPC UA), envían una señal a diferentes fuentes de tokens. Estos tokens obtendrán información del estado de los sensores ópticos, y con ella cada elemento de flujo será tratado según convenga. Los tokens desaparecen al llegar a los sumideros y, como puede apreciarse, cada cinta transportadora (Conveyor) posee su contenedor de lógica, siendo análogas entre sí. En primer lugar, cabe destacar los nuevos bloques de decisión (Decide), espera de evento (Wait for Event) y obtener valor de la variable (Get Variable): • Decisión: cuando el token llega a este bloque se procede a decidir qué hacer con ese token. En lo que a este ejemplo y el siguiente respecta, y la forma más útil y realista de utilizar este elemento, es mediante el uso de condiciones lógicas (Conditional decide), si bien se permiten usar otras opciones, como puede verse en la siguiente figura. RESULTADOS Y DISCUSIÓN 34 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) Ilustración 47: Opciones de configuración del bloque de decisión En este proceso, la condición lógica vendrá dada por el valor de las variables que cambian con la posición de los objetos, es decir, las de los sensores ópticos. • Esperar evento: este bloque retiene los tokens que llegan a él hasta que ocurra un evento. Este evento puede ser prácticamente cualquiera, y forma parte de la visión realista de PF: el avance de la simulación no depende de tiempos previamente marcados, sino de eventos reales que desencadenan acciones cuando ocurren realmente. La combinación de este bloque con los anteriormente explicados permitirá ciertas ventajas logísticas que se podrán apreciar más adelante, en el tercer proceso explicado. Un ejemplo del uso de este bloque en este proceso es el mostrado en la siguiente imagen. Se asigna a un objeto, que en este caso es otra variable de PF, pero también podría ser un objeto del modelo 3D. Además, se debe especificar qué evento es el que se debe esperar, que en este caso es el cambio (OnChange) de la variable Photo eye 1A. Ilustración 48: Configuración del bloque de espera de evento • Obtener el valor de la variable: el token que franquea este bloque recibirá el valor de la variable que se asigne, y asignará a ese token otro token distinto, que puede ser renombrado. Por ejemplo, en la siguiente figura puede verse cómo el token de valor unidad será complementado con el token.PhotoEyeState, cuyo valor será el de la variable asociada Photo Eye 2A en el momento en que se franquea el bloque de obtener valor de la variable. CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 35 Ilustración 49: Configuración de la adquisición del valor de la variable Photo eye 2A A continuación, se procede a explicar el proceso lógico y el funcionamiento del modelo PF, es decir, el recorrido de los tokens a lo largo del diagrama de flujo. Para simplificar la explicación se detallará el funcionamiento de la cinta transportadora 1, puesto que la 2 es análoga. Mientras los elementos de flujo salen de las fuentes del modelo 3D (que no tienen nada que ver con las fuentes del modelo PF), las cintas transportan dichos elementos (cajas) hacia el otro extremo. Las cintas, por defecto, están siempre funcionando. Estas están asociadas a los correspondientes motores, de manera que estos rigen su funcionamiento. Cuando una caja cruza el sensor de entrada a la zona restringida de la cinta 1, la variable Photo eye 1A cambia su valor a 1. Este cambio fuerza a la fuente Source: item en photo eye 1A a crear un token, cuyo valor es la unidad. Cuando este token es creado, avanza inmediatamente al bloque de obtener el valor de la variable Get variable. Este bloque tiene el objetivo de obtener el valor del sensor óptico de entrada de la cinta 2. Este último sensor dará un valor de 1 a la variable homónima siempre que haya sido cubierto por una caja y ésta no haya salido todavía de la zona restringida, es decir, habiendo pasado por encima del sensor óptico de salida de la cinta 2, Photo eye 2B. Por ello, después de obtener el valor de esta variable, queda decidir qué hacer con la cinta: pararla para evitar la colisión de dos cajas o dejar que continúe. En el bloque de decisión, la condición lógica será el propio token.PhotoEyeState, como puede verse en la imagen inferior. Ilustración 50: Condición del bloque de decisión Si el valor es nulo, el token principal y su información asociada se irán por la rama 2, configurada para ir directa a un sumidero, con lo que la cinta no se para al no existir pieza con la que colisionar. Si el valor es distinto de cero, se irá por la rama 1, que lleva a otro conjunto de bloques. Ilustración 51: Posibles destinos de los tokens RESULTADOS Y DISCUSIÓN 36 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES (UPM) Este conjunto apagará el motor cambiando el valor de dicha variable a 0, esperará el evento de que el sensor óptico de entrada 2 esté a 0 (la pieza que había en la zona restringida ya ha salido) y de nuevo enciende el motor de la cinta 1 para que la pieza siga su camino. Todas las variables están conectadas mediante el mismo protocolo, como puede apreciarse en la siguiente imagen. La visualización de la influencia entre las variables y de estas en otros elementos del modelo es una de las características principales de PF. Ilustración 52: Conexiones de las variables CREACIÓN Y OPTIMIZACIÓN DE GEMELOS DIGITALES DE UNA PLANTA EMPLEANDO UNA HERRAMIENTA DE SIMULACIÓN JORGE HERNANGÓMEZ GONZÁLEZ 37 5.2 Tercer proceso 5.2.1 Resumen El tercer y último proceso detallado en este trabajo es considerablemente más complejo que los dos anteriores. Se trata de un modelo que representa la fabricación completa de piezas que son procesadas mecánicamente en varias máquinas, a la vez que la logística del proceso. Este apartado contiene: • Explicación del proceso, incluyendo también los objetivos de producción, detalles de tiempos de mecanizado, explicación detallada del funcionamiento de las máquinas, desarrollo de la idea del volteo e interpretaciones sobre los datos del problema, cuyo origen es una empresa real que propuso el problema de modelar y mejorar su proceso. • Creación del modelo 3D, que incluye elementos explicados en los dos procesos anteriores. Sin embargo, esta vez se desarrollará el modelo 3D de manera paralela al modelo con PF, de manera que hay partes del modelo 3D que servirán para el de PF y otras que tienen el objetivo de intentar sustituir el PF. De esta manera será mucho más fácil comparar ambos modelos, sólo 3D y 3D con PF, para ver las ventajas del PF, así como las dificultades que presenta la creación de cada modelo. • Creación del modelo con PF y explicación de los
Compartir