Ir al contenido

PLC Solution Library · Simulador de estación de montaje

Pon en marcha una estación de montaje: comprueba cada pieza y pasa el ciclo al robot

Una estación de montaje decide en cada pieza: ¿es buena y puede el robot hacer su trabajo ahora? En este simulador, un M-Duino 38R pesa la pieza, lee la fuerza de la prensa y mide una distancia con un láser. Compara cada valor con una ventana, envía un número de programa al robot y espera sus respuestas.

Elige una variante, arranca la estación o provoca un fallo. Mira las señales entre el PLC y el robot, los contadores OK y NOK y el registro de cada pieza.

Elige tu escenario

07:00:00 - Valores simulados
0piezas
0OK
0NOK
0NOK seguidas
READYseñal del robot
-último tiempo de ciclo
    Peso · célula de carga-
    --Ventana -
    Fuerza máxima · prensa-
    --Ventana -
    Distancia · láser-
    --Ventana -

    Intercambio de señales con el robot

      Rearme del operario representa el botón de rearme del Panel PC. Si el robot está en fallo, el PLC también le envía un pulso de RESET.

      Sobre este panel

      Estación de ejemplo para que la pruebes. Una pieza base llega por un transportador. El robot coloca un inserto encima y una prensa neumática lo introduce. Tres variantes comparten la estación, cada una con su programa de robot y sus ventanas.

      Un M-Duino 38R controla la estación. Lee un transmisor de pesaje, un sensor de fuerza y un láser en sus entradas de 0-10 V, habla con el controlador del robot con salidas de relé y entradas optoaisladas, y envía cada registro a un Panel PC por Ethernet.

      La seguridad (parada de emergencia, resguardos, cortinas fotoeléctricas) va en un circuito de seguridad aparte. El PLC solo lee su estado.

      Cada valor, ventana, tiempo y fallo de este panel es un ejemplo simulado, no datos de una línea real.

      Tus decisiones de diseño

      Son decisiones que tomas en el programa de tu estación. Se explican más abajo.

      Recetas de ejemplo

      VarianteProgramaPeso, kgFuerza, kNDistancia, mmPrensa, bar
      A34,80 a 5,208 a 12119,5 a 120,56,0
      B53,40 a 3,706 a 996,5 a 97,54,5
      C46,10 a 6,5010 a 13142,0 a 143,05,5

      Valores de ejemplo para este simulador. A y B siguen los ejemplos del caso: las ventanas de A, el programa 3 a 6,0 V para la línea A y el programa 5 a 4,5 V para la línea B, con una consigna de 0-10 V para 0-10 bar. El caso las llama líneas; aquí son recetas de una estación. Tiempos máximos: de START a BUSY 2 s, de BUSY a DONE 10 s, DONE desactivado 1 s, sujeción 2 s, carrera de prensa 1,5 s. Tus ventanas salen de tus planos y de tu proceso.

      Registro de la estación

      nhoravarianteprogramapeso, kgfuerza, kNdistancia, mmrobotresultadomotivo

      Una fila por pieza. Tu PLC escribe la fila en su tarjeta microSD con la hora de su reloj de tiempo real y la envía al Panel PC por Ethernet. NO EJEC. significa que el valor no se midió. No es un OK.

      ¿Qué hace la estación con cada pieza?

      El PLC ejecuta los mismos siete pasos en cada pieza. La pieza sigue adelante solo si su peso, su fuerza máxima y su altura están dentro de sus ventanas.

      1. Pieza. Un sensor ve la pieza en el tope. El PLC espera la señal READY del robot.
      2. Peso. La pieza descansa libre sobre la báscula. El PLC espera 0,5 s a que se estabilice, lee la célula de carga y compara el peso con su ventana. Un peso incorrecto suele indicar un componente que falta o que no es el bueno. Entonces el PLC salta la sujeción, el robot y la prensa, y no se gasta un inserto en una pieza mala.
      3. Sujeción. El PLC cierra la sujeción y espera el sensor de sujeción cerrada, 2 s como máximo. La báscula tiene topes mecánicos de sobrecarga. Cuando la sujeción cierra, la pieza se apoya en los topes, así que la fuerza de la prensa va al bastidor y no a la célula de carga.
      4. Robot. El PLC envía el número de programa de la variante y arranca el robot. El robot coloca el inserto y responde DONE.
      5. Prensa. El PLC fija la presión de una válvula proporcional con una salida analógica e introduce el inserto. Guarda la fuerza más alta hasta que el vástago llega al sensor de prensa abajo, justo por encima de la posición asentada.
      6. Distancia. La prensa sube. Un láser mide una distancia en el conjunto, la altura del inserto sobre la base, que indica si el inserto ha quedado bien asentado.
      7. Resultado. OK abre el tope hacia la estación siguiente. NOK abre la compuerta de rechazo hacia la vía NOK. El PLC cuenta la pieza, escribe su registro y lo envía al Panel PC.

      Ejecuta el escenario Fuera de ventana y compara cada NOK con el motivo del registro.

      ¿Cómo se pasan el ciclo el PLC y el robot?

      Con un intercambio de señales: cada lado responde a cada cambio del otro antes del paso siguiente. El programa del robot se ejecuta en el controlador del robot. El PLC solo dice qué programa ejecutar y cuándo, y espera las respuestas.

      1. El robot da READY: está en modo automático y sin fallo.
      2. El PLC pone el número de programa en tres salidas, más un bit de paridad, y espera 100 ms para que todos los contactos estén estables.
      3. El PLC activa START y lo mantiene activado.
      4. El robot lee el programa y responde BUSY. Si BUSY no llega en 2 s, el PLC quita START y para con un fallo.
      5. El robot coloca el inserto, desactiva BUSY y activa DONE. Si DONE no llega en 10 s desde BUSY, el PLC para por tiempo máximo de ciclo del robot.
      6. El PLC ve DONE y quita START y el programa. El robot ve START desactivado y quita DONE. El intercambio queda cerrado y puede empezar el ciclo siguiente. Si DONE sigue activo más de 1 s después de quitar START, el PLC para con un fallo de intercambio.

      La traza del panel muestra los últimos 15 s de estas señales. Cada cambio en un lado tiene una respuesta en el otro.

      Con un pulso fijo de START, el PLC no sabe si el robot lo ha visto. Si el robot llega tarde a su punto de espera, el pulso ya ha terminado y el ciclo no arranca. Ejecuta el escenario Tiempos máximos del robot con un pulso de 300 ms y mira la pieza 1.

      ¿Cómo convierte el PLC una señal de 0-10 V en OK o NOK?

      Convierte las cuentas de la entrada analógica en kg, kN o mm, y compara el valor con un mínimo y un máximo. Las entradas analógicas del M-Duino 38R leen de 0 a 10 V con 10 bits, así que 1 cuenta son unos 9,8 mV. El panel muestra los voltios y las cuentas junto a cada valor.

      • Peso: una célula de carga da unos pocos milivoltios. Un transmisor de pesaje los convierte en 0-10 V. En el ejemplo, 0-10 V son 0-10 kg, así que 1 cuenta son unos 10 g.
      • Fuerza máxima: un sensor de fuerza en el vástago de la prensa, con su amplificador, da 0-10 V para 0-20 kN. El PLC guarda la fuerza más alta hasta que el vástago llega al sensor de prensa abajo, colocado justo por encima de la posición asentada. Después, el cilindro se detiene contra la pieza y empuja con presión × área, igual en todas las piezas, así que esa fuerza no distingue un ajuste bueno de uno malo. Si el vástago no llega al sensor a tiempo, el inserto se ha atascado.
      • Distancia: un sensor láser de distancia da 0-10 V para 50-150 mm. 1 cuenta son unos 0,1 mm, suficiente para una ventana de ±0,5 mm. Para ventanas más estrechas, usa un sensor con menos rango o con salida digital, por ejemplo RS-485.

      Cada valor tiene un tiempo de estabilización y una media. La vibración del transportador, del robot y de la prensa llega a la báscula, y una sola lectura puede dejar una pieza buena fuera de su ventana. En el simulador, el PLC toma una muestra cada 20 ms, así que 16 muestras tardan unos 0,3 s. Pon Muestras por lectura en 1 muestra y deja la estación en marcha: algunas piezas buenas cerca del borde de una ventana salen NOK.

      Con 0-10 V, un cable cortado también lee 0 V. El PLC trata 0 V con una pieza en la báscula como un fallo del sensor, no como una pieza ligera. Un transmisor de 4-20 mA muestra un cable cortado como menos de 4 mA.

      La fuerza máxima no muestra toda la curva de inserción. Si tienes que comprobar la fuerza frente a la posición, lo hace un monitor de prensado, y el PLC lee su señal OK o NOK.

      ¿Qué debe hacer el PLC cuando el robot no responde?

      Parar en un estado conocido: quitar START y el programa, mantener la pieza sujeta, mostrar el fallo y esperar al operario. Lo que pasa después depende de si el robot ha tocado la pieza.

      • Sin BUSY tras START: el robot no se ha movido. Después del rearme, el PLC repite el paso del robot en la misma pieza.
      • FAULT del robot antes de BUSY, por ejemplo un error de paridad: el robot tampoco se ha movido. El PLC repite el paso del robot después del rearme.
      • FAULT del robot durante el ciclo, o sin DONE en 10 s: el inserto puede estar a medio colocar. El PLC marca la pieza como NOK y envía un pulso de RESET al robot con el rearme del operario. Espera READY, con el robot de vuelta en reposo, antes de abrir la sujeción y mover la pieza.

      Pon cada tiempo máximo por encima de la respuesta normal más lenta, con margen. En el ejemplo, el ciclo de robot más lento dura 3,4 s y el tiempo máximo es de 10 s.

      El intercambio de señales es lógica de proceso. La seguridad de las personas no está en este programa. Los resguardos, las cortinas fotoeléctricas y las funciones de seguridad del robot van a un relé o un controlador de seguridad, diseñados según ISO 10218-2 e ISO 13849-1. Ese circuito para el robot por sus entradas de seguridad y quita el aire de la prensa con una válvula de escape de seguridad, sin pasar por los relés del PLC. La parada de emergencia no depende del programa del PLC (IEC 60204-1, ISO 13850). El PLC lee el estado del circuito de seguridad en una entrada y para la secuencia. No lo sustituye. Mira cómo lee un PLC el estado de los enclavamientos y de la parada de emergencia.

      Ejecuta el escenario Fallos del robot para ver un fallo durante el ciclo y un error de paridad.

      Decisiones de diseño que tomas

      1. START mantenido o pulso de START

      Un START mantenido espera al robot. Un robot que llega tarde todavía ve la petición, y el robot quita DONE solo después de que el PLC quite START, así que ningún lado pierde un cambio. Un pulso es más simple, pero solo funciona si el robot siempre está esperando cuando llega el pulso.

      2. Un bit de paridad en el número de programa

      Un número de programa en contactos de relé puede llegar mal si un contacto no cierra. Con tres bits, un bit 0 abierto convierte el programa 3 en 2 y el programa 5 en 4. El programa 4 es un programa válido: solo el bit de paridad muestra que el número es incorrecto. El programa 4 no usa el bit 0, así que el fallo queda oculto hasta que una receta necesita ese bit. Un rearme no repara el relé: el fallo vuelve en cada pieza que usa el bit 0. Con un bit de paridad par, el robot ve que el número es incorrecto y no se mueve. Otra opción es el eco del programa: el robot devuelve el número y el PLC lo compara antes de START. Eso necesita tres entradas más. Un bus de campo entre el PLC y el controlador del robot también evita un cable por bit.

      3. Cuándo para la estación

      Una pieza NOK es un problema de la pieza. Varias piezas NOK seguidas suelen indicar el proceso: una herramienta de prensa gastada, un lote de insertos equivocado, un sensor que se ha movido. Parar tras 3 NOK seguidas evita que la estación llene la vía NOK. Tú eliges el número, o paras según la tasa de NOK de las últimas piezas.

      4. Dónde viven las recetas

      Las ventanas, el número de programa y la presión de cada variante pueden estar en el programa del PLC o llegar desde el Panel PC con cada orden. Guarda la variante en cada registro, para saber qué ventanas juzgaron cada pieza.

      5. Salidas de relé para el intercambio

      El M-Duino 38R tiene 16 salidas de relé. Sirven para señales que cambian pocas veces por ciclo, como START, los bits de programa y las válvulas. Un contacto de relé está libre de potencial, así que puede alimentar una entrada de 24 V del controlador del robot desde la fuente del robot. Para bobinas de válvula, añade un supresor dimensionado para la bobina, como una red RC. Cuenta las maniobras: con un ciclo cada 10 s, START conmuta unos 3 millones de veces al año. Comprueba la vida eléctrica de los relés en la guía de usuario frente a tu ciclo, o intercambia el programa y el estado por un bus de campo (mira la FAQ). Pon las señales del robot en relés cuyo común no se comparta con las válvulas.

      El caso detrás de este simulador

      Este simulador acompaña a nuestro caso sobre una línea de producción de automoción controlada por un M-Duino 38R. El caso describe la línea: estaciones que pesan, miden y prensan, robots y brazos que reciben órdenes del PLC, y un Panel PC con MQTT y Node-RED desde donde se gestiona. Este simulador se acerca a una estación y a su intercambio de señales con el robot.

      Lee el caso de la línea de producción de automoción

      Lo que ves aquí es un patrón general. Las variantes, las ventanas, los programas, los tiempos y los fallos son ejemplos, no datos de esa línea.

      Para seguir una línea entera por MQTT, con paros y alarmas, prueba el simulador Machine Monitor.

      Para probar cada unidad terminada al final de la línea, mira el simulador de prueba de fin de línea.

      Aprende las piezas básicas

      Estos tutoriales y ejemplos cubren las partes de esta estación en un PLC basado en Arduino.

      Más ejemplos: PLC Solution Library · todos los simuladores.

      M-Duino 38R: las especificaciones que importan aquí

      Entradas12: 8 analógicas/digitales (0-10 V, 10 bits) y 4 digitales optoaisladas (5 a 24 Vdc), 4 con interrupción
      Salidas22: 16 relés (230 Vac 4 A / 24 Vdc 2 A, carga resistiva) y 6 analógicas/digitales/PWM (0-10 V, 8 bits)
      ComunicaciónEthernet W5500 10/100 Mbit (RJ45), RS-485, RS-232, serie TTL, I2C, SPI
      IntegradoReloj de tiempo real, ranura microSD, USB 2.0 tipo B
      ControladorArduino Mega 2560 (ATmega2560, 16 MHz)
      Alimentación12 a 24 Vdc, con fusible (2,5 A) y protección de polaridad
      Entorno0 a 60 °C, humedad del 10 al 90 % sin condensación
      MontajeCarril DIN TS35, IP20, dentro de un armario
      ProgramaciónArduino IDE con el paquete de placas de Industrial Shields

      E/S de ejemplo para esta estación

      SeñalE/S del PLCCantidad
      READY, BUSY, DONE y FAULT del robotEntradas digitales optoaisladas4
      Peso, fuerza y distancia, desde transmisores de 0-10 VEntradas analógicas3
      Pieza presente, sujeción cerrada, prensa arriba, prensa abajo, circuito de seguridad OK (solo estado)Entradas analógicas/digitales usadas como digitales5
      Bits de programa 0 a 2, paridad, START, RESET del robotSalidas de relé6
      Válvula de sujeción, válvula de prensa, tope, compuerta de rechazoSalidas de relé4
      Baliza: verde, ámbar, rojaSalidas de relé3
      Consigna de presión a una válvula proporcionalSalida analógica, 0-10 V1
      Panel PC: recetas, registros, rearme del operarioEthernet1

      Este ejemplo usa las 12 entradas, 13 de los 16 relés y 1 de las 6 salidas analógicas. Las señales del robot van a las entradas optoaisladas porque llegan de otro controlador con su propia fuente. La hoja de datos de la familia da de 0 a 24 Vdc para las entradas analógicas/digitales en modo digital, así que ahí se pueden conectar sensores de 24 V. La salida analógica tiene 8 bits: en una válvula de 0-10 bar, un paso son unos 0,04 bar. Para más señales, elige un M-Duino más grande o añade un segundo PLC por Ethernet. Comprueba tus cargas y niveles con la hoja de datos de la familia M-Duino. Especificaciones completas: M-Duino 38R · familia M-Duino.

      FAQ

      ¿Qué debe hacer el PLC cuando el robot no responde a START?

      Quitar START y el número de programa, mantener la pieza sujeta y parar con un fallo. El robot no se ha movido, así que después del rearme del operario el PLC puede repetir el paso del robot en la misma pieza. Usa un tiempo máximo más largo que la respuesta normal más lenta de tu robot, por ejemplo 2 s.

      ¿Por qué mantener START hasta DONE en lugar de enviar un pulso?

      Con un START mantenido, cada lado responde a cada cambio del otro. Un pulso puede terminar antes de que el robot llegue a su punto de espera, y entonces el robot no arranca. Un START mantenido sigue ahí cuando llega un robot que va tarde. El robot quita DONE solo después de que el PLC quite START, así que el PLC tampoco pierde DONE.

      ¿Por qué enviar un bit de paridad con el número de programa?

      Para detectar un número incorrecto antes de que el robot se mueva. Si un contacto de relé no cierra, el robot lee otro programa. Con un bit de paridad par, el robot ve que el número es incorrecto y pasa a fallo. Algunos fallos quedan ocultos: un bit 0 abierto no cambia el programa 4, así que prueba cada bit en la puesta en marcha de la estación. Un rearme no repara el relé.

      ¿Por qué la estación salta el robot cuando el peso está fuera de la ventana?

      Un peso incorrecto suele indicar un componente que falta o que no es el bueno. Introducir un inserto en esa pieza gasta el inserto y un ciclo de robot, y la pieza es NOK igualmente. El registro muestra la fuerza y la distancia como no ejecutadas.

      ¿Por qué el PLC deja de juzgar la fuerza en el sensor de prensa abajo?

      Porque a partir de ese punto una prensa neumática empuja con presión × área en todas las piezas. Cuando el inserto queda asentado, el cilindro se detiene contra la pieza y la fuerza sube a ese valor, sea bueno el ajuste o no. La fuerza útil es la de antes de la posición asentada: demasiado baja indica un inserto suelto. Un inserto que se atasca nunca llega al sensor, así que el PLC usa un tiempo máximo de carrera para detectarlo.

      ¿Cuántas muestras debe promediar el PLC antes de comparar un valor?

      Las suficientes para quitar el ruido del transportador y de la báscula, y pocas para no alargar el tiempo de ciclo. En el simulador, el PLC toma una muestra cada 20 ms, así que 16 muestras tardan unos 0,3 s después de 0,5 s de estabilización. Compara el resultado con 1 muestra: algunas piezas buenas cerca del límite salen NOK.

      ¿Puede el M-Duino 38R hablar con el robot por un bus de campo en lugar de cables?

      El M-Duino 38R tiene Ethernet, RS-485 y RS-232, y las librerías de Industrial Shields para Modbus TCP y Modbus RTU. Si el controlador de tu robot acepta Modbus TCP o Modbus RTU, el PLC puede intercambiar el número de programa y el estado como registros. Muchos controladores de robot usan otros buses de campo, como PROFINET o EtherNet/IP, así que revisa las opciones de tu controlador. La lógica del intercambio es la misma.

      ¿Tengo que escribir yo el programa de la estación?

      El programa se escribe en C++ con el Arduino IDE. Las piezas básicas, como las entradas analógicas, las salidas de relé, la tarjeta SD y MQTT, tienen tutoriales públicos, enlazados más arriba. Un integrador también puede escribir el programa a partir de la descripción de tu estación.

      Envíame esta arquitectura

      Cuéntanos qué miden tus estaciones, qué robots mandan y cuántas variantes fabricas. Nuestro equipo te responde con una propuesta de arquitectura para tu línea. Los ajustes del simulador van con la solicitud.