Paletizador de cajas con Factory.io

Comenzamos con una serie de entradas que vamos a dedicar a la automatización y la industria 4.0, para ello os traigo uno de mis proyectos de mi portfolio, este paletizador de cajas con Factory.io.

Este proyecto de automatización está hecho con OpenPLC un proyecto de código abierto que nos permite programar autómatas basado en la regla IEC 61131-3, que es la norma que estandariza los lenguajes de programación en los PLC.

Este editor soporta los 5 lenguajes que define esta norma aunque nosotros nos vamos a apoyar en el más conocido en el mundo laboral, Ladder Diagram (LD).

¿Qué es el lenguaje Ladder?

Este lenguaje permite programar al autómata de manera secuencial, siguiendo un flujo de instrucciones similar a una escalera, de ahí su nombre «Ladder Diagram». Cada «peldaño» en la escalera representa una instrucción o conjunto de operaciones lógicas que el autómata debe realizar.

El autómata evalúa cada peldaño de arriba hacia abajo, ejecutando las instrucciones en orden secuencial. Una vez que completa una instrucción, pasa al siguiente peldaño, asegurando un flujo de trabajo ordenado y predecible.

Breve introducción a Ladder

En este lenguaje tenemos principalmente 4 tipos de contactos y 2 formas de conectarlos.

Los tipos de contactos principales son:

Inputs del lenguaje ladder
Outputs del lenguaje ladder

Los tipos de conexiones que podemos hacer son:

  • Conexión en paralelo o OR lógico:
Conexión en paralelo o OR lógico
  • Conexión en serie o AND lógico:
Conexión en serie o AND lógico

Estas 4 imágenes que acabas de ver son los fundamentos de este lenguaje, unos contactos (según nos interese normalmente abiertos o cerrados) cuya función es energizar la bobina que tenemos al final de la línea.

Además este lenguaje también nos ofrece bloques de función propios de los autómatas como contadores, retardos a la conexión que iremos viendo en entradas posteriores.

Por último comentarte que lo que ves arriba de los elementos de la línea son las direcciones asignadas a aquellos sensores o actuadores reales que existen en nuestro proceso, por ejemplo tanto I0.0 como I0.1 pueden ser dos interruptores y Q0.0 una lámpara.

Breve introducción a Factory.io

Factory.io es un software de simulación de proyectos industriales, actualmente es de pago pero dispone de una licencia gratuita de un mes de uso, más que suficiente para poder comprobar las capacidades de este programa.

Una vez ingresamos podemos crear un nuevo proyecto desde 0, o en cambio podemos coger alguno ya preconfigurado por los desarrolladores.

En mi caso escogí el Paletizador de cajas, un proyecto de lo más sencillo pero con muchísimas posibilidades, suficientes para crear mucho contenido sobre el.

Ahora sí, después de esta breve introducción es momento de presentarte mi proyecto.

Funcionamiento del paletizador de cajas con Factory.io

Este proyecto puede dividirse en varias fases:

  • Puesta en marcha: Esta fase se inicia cuando tocamos el pulsador de marcha en nuestro panel de control, se inician tanto las cintas transportadoras como los generadores de palés y cajas.
  • Empaquetado de cajas: Por un lado, al final de la cinta tenemos un contador que se activa según va detectando las cajas que pasan, cuando pasan tres de ellas se activa un pistón que las empuja a una trampilla que se abre cuando este pistón se ha activado 2 veces. Y por el otro lado, los palés han avanzado hasta un ascensor que se sitúa justo debajo de esta trampilla, cuando esta se abre las cajas caen y baja un nivel el ascensor, se repite este proceso 3 veces y el ascensor baja completamente.
  • Salida del Palé: Con el palé lleno de cajas vuelven a activarse las cintas y se vuelve a repetir este proceso.

Código del Paletizador de cajas con Factory.io

Una vez visto el planteamiento te comparto el código que ejecutamos en nuestro autómata virtual.

Código del Paletizador de cajas con Factory.io

Si bien no se ve del todo bien esta imagen te dejaré todos los archivos necesarios en el siguiente enlace.

Tabla de direcciones del Paletizador de cajas con Factory.io

En el lenguaje Ladder es necesario asignar una dirección de memoria a cada uno de los inputs o outputs que tenemos en nuestro proyecto, esto nos permite conectar cada salida del PLC real con el sensor o el actuador real en nuestro proyecto de automatización.

A continuación te comparto la tabla de direcciones usadas en este proyecto.

Tabla 1 de direccionamiento del Paletizador de cajas con Factory.io
Tabla 2 de direccionamiento del Paletizador de cajas con Factory.io

Conexión del Programa con Factory.io

Para poder ver funcionar este ejemplo en nuestro simulador, es necesario conectarlo de alguna forma. Es por eso que en la siguiente entrada tendrás una guía detallada sobre cómo realizar esta conexión de manera efectiva. Puedes acceder a ella consultando la guía detallada de conexión.

Vídeo de funcionamiento

Como siempre te dejo un vídeo donde podemos ver el funcionamiento de este proyecto.

Vídeo del paletizador de cajas con factory.io

Hemos llegado al fin de la entrada de hoy, recuerda que tienes todos los archivos para su descarga en mi perfil de github (puedes acceder a el desde este link). ¿Qué te ha parecido este proyecto?¿Tienes alguna duda? Déjamelo saber en los comentarios, estaré encantado de leerte 😀

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio