Runout, mejora de lógica

Runout

Hola amigo, en esta publicación hablaré acerca de una mejora que hice hace poco más de un mes en la lógica del runout de una celda.

El principal problema era que el conteo de partes localizadas en el sistema era frecuentemente erróneo y fluctuante, evitando un runout satisfactorio.

Yo se que tal vez no conozcas la funcionalidad del runout en una celda automatizada, así que empecemos desde el principio y por supuesto con un ejemplo.

¿Qué es el Runout?

El Runout, que en ingles significa «acabarse» es una función muy utilizada para limpiar una celda automatizada de partes, registros y memorias.

En la mayorías de las celdas donde trabajo no es necesario el runout, ya que se puede dejar de poner piezas en la primer estación y la celda terminara por vaciarse.

Esto solo se puede hacer si la celda es lineal, en otras palabras, hay un solo camino de entrada y de salida.

runout
Ejemplo de celda lineal

Como podrás observar en la imagen anterior, la celda tendría dos estaciones de operadores, donde la estación 2 depende de la estación 1, por lo que si la estación 1 deja de agregar piezas el sistema se llevara la última pieza hasta el final y se limpiara la celda.

runout
Ejemplo de celda compuesta

En una celda compuesta como la mostrada en la imagen anterior, hay varios flujos de partes y estaciones de unión.

Ene este caso, si por ejemplo las estaciones 1 y 2 dejan de surtir partes al mismo tiempo, las estación 3 se quedaría con una pieza.

En estos casos y para asegurar la limpieza total del sistema es necesario agregar la función runout para bloquear la carga de pieza de cada estación cuando sea necesario.

El problema

Como podrás observar, para lograr el objetivo planteado es necesario saber la cantidad exacta de partes en el sistema.

Para hacer ese conteo se utilizaban partes presentes (sensores de presencia).

En otras palabras, si alguna estación o robot tenia alguna parte presente, se daba por hecho que ahí había una pieza.

El problema con esta elección es que al momento de hacer un pickup (toma de pieza) o dropoff (dejar una pieza) en un robot había duplicación de piezas, lo cual ocasionaba confusión en los indicadores de las HMI.

Ademas en ocasiones se cargaban piezas de más y el runout no terminaba cuando se debía.

Robot tomando una pieza de la estación

En la imagen anterior puedes observar como un robot esta tomando una pieza de una estación.

En este caso el PLC estaría registrando don partes en vez de una, ya que tanto la estación como el robot tendrían todas las partes presentes hechas a la hora del pickup.

La solución del runout

Para solucionar este problema utilice los shiftregisters en vez de las partes presentes para hacer el conteo de piezas.

Un shiftregister a grandes rasgos es una memoria del plc que pasa el registro de forma virtual en vez de fisica, lo cual evita que se repita una misma pieza.

Este registro se refiere a toda la información relacionada a la pieza en cuestión, como puede ser el modelo, tipo de material, procesos completados, procesos fallados, etcetera.

Para que te des una idea, los procesos fallados son los registros que utilice para generar las estadisticas de partes rechazadas en mi artículo Indexado de un arreglo en Studio 5000.

A continuación te muestro un ejemplo de la lógica para la transferencia de un registro.

runout
Lógica para la transferencia de un registro

Como podrás observar en la imagen anterior, en la misma linea que se copia el registro (COP) se vacía el registro de origen (FLL).

Esto ocasiona que el valor no se repita y pase de forma instantánea, en este caso, del R03 al HandOff.

Conclusiones

Como podrás ver hay varias formas de solucionar un problema y en ocasiones uno no ve todos los posibles problemas que implica el elegir cierto camino.

La idea de utilizar partes presentes sonaba lógica, y es cuando el programa se pone a prueba cuando pueden encontrarse los huecos más sutiles.

Afortunadamente encontré la manera de solucionar este problema y en estos momentos el runout se desarrolla sin complicaciones y los indicadores no muestran fluctuación alguna.

Espero este articulo te ayude a entender un poco más los estandares automotrices técnicas nuevas como la transferencia de datos en un shiftregister.

Por cierto, crees que si un Programador de PLC experto pudiera condensar gran parte de su experiencia en vídeos prácticos con pasos detallados y que ademas estas practicas las pudieras realizar en tu casa, sin necesidad de Hardware ni horarios, ¿aceptarías capacitarte con estas practicas?

Si tu respuesta es sí, suscribete hoy a mi Programa Premium y obtén acceso instantáneo a todo mi material el cual incluye una seríe de prácticas que te llevaran de la mano hasta alcanzar tus objetivos en Programación de PLC.

Saludos y mucho éxito!


Hola, soy Germán Madrid

Inscribete a mi curso de PLC HOY, es totalmente GRATIS!!

ACERCA DE GERMAN MADRID

Programador e instructor de PLC.

Programador e instructor de PLC. Ayudo a estudiantes, técnicos e ingenieros a alcanzar su máximo potencial para así poder aplicar como programador de PLC en la empresa que deseen.

Ofrezco capacitación online mediante prácticas basadas en sistemas y problemas reales de la Industria Automotriz. Utilizo simuladores de PLC por lo cual solo necesitarás una computadora e Internet para completar cualquiera de mis cursos.

Deja una respuesta

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