Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Handshakes de PLC

Cada intercambio entre un PLC y OV Spark sigue un handshake: el PLC genera una solicitud, la cámara la reconoce y el PLC baja la solicitud una vez que ha visto el reconocimiento. Hay cuatro: disparo, lectura de resultados, cambio de receta y comandos.

Esta página es para el ingeniero de controles que escribe la lógica del PLC. Funciona igual sobre EtherNet/IP y PROFINET.

En resumen
  • Siempre espere el bit ready de la cámara antes de generar una solicitud, y mantenga la solicitud hasta que vea el ack
  • Lea los resultados con Results Valid más un Inspection ID cambiado, nunca con un toggle solo
  • Reconozca cada resultado, o no se presentará nada nuevo
Nombres de señales aquí, offsets de bytes desde los archivos generados

Esta página nombra señales en lugar de direcciones, a propósito. La distribución de bytes y bits se genera por firmware, así que tómela del EDS o GSDML para el firmware de su cámara, o de las secciones de referencia en la página Industrial Ethernet de la cámara. Los offsets escritos a mano son la forma en que una instalación termina leyendo el bit incorrecto después de una actualización.

Disparo​

  1. Verifique que Online = 1, Trigger Ready = 1 y Trigger Ack = 0. Escriba Part ID, y User Data si lo usa, luego genere Trigger y manténgalo
  2. La cámara acepta en el flanco de subida: Trigger Ready baja a 0, Trigger Ack sube a 1, y Part ID y User Data quedan enganchados. Si rechaza el disparo, Trigger Error sube y Error ID indica el motivo
  3. Cuando vea Trigger Ack = 1, baje Trigger
  4. La cámara baja Trigger Ack. Exposure Complete se activa cuando termina la exposición, y Trigger Ready regresa a 1 cuando puede iniciarse la siguiente adquisición
Tenga cuidado con
  • Mantener Trigger en alto no vuelve a disparar. La cámara actúa solo en el flanco de subida
  • Trigger Error reporta el último disparo de cualquier fuente, no solo el suyo. Lea Error ID para conocer el motivo en lugar de asumir que disparó demasiado rápido
  • Trigger Ready = 1 mientras Busy = 1 es normal cuando el búfer de imagen está en uso. La cámara puede aceptar el siguiente disparo antes de que termine la inspección actual. No lo tome como una falla

Lectura de resultados​

Un solo handshake cubre ambos modos. Con Buffer Results Enable = 0, los resultados son en vivo y cada uno sobrescribe al anterior. Con Buffer Results Enable = 1, se encolan hasta 10.

  1. Espere Results Valid = 1
  2. Lea cada campo de resultado en un solo escaneo, junto con Inspection ID
  3. Suba Inspection Results Ack y manténgalo. La cámara desencola, y Results Valid y los bits de aprobado y rechazado bajan a 0
  4. Cuando vea Results Valid = 0, baje el Ack. Si hay más resultados en cola, el siguiente se presenta en ese flanco de bajada

Trate Results Valid pasando de 0 a 1 con un Inspection ID cambiado como un nuevo resultado.

Tenga cuidado con
  • Inspection Completed hace toggle; no es un nivel. En modo buffered marca una finalización en lugar de una presentación, por lo que puede cambiar mientras los campos de resultado permanecen iguales. Nunca lea resultados solo con el toggle
  • El modo live puede ocultar una inspección. Dos finalizaciones dentro de un intervalo de paquete pueden verse como un solo cambio. El modo buffered es inmune
  • Cambiar Buffer Results Enable descarta la cola y el resultado presentado, en cualquiera de los flancos
  • Un hueco en los Inspection IDs significa que un disparo aceptado no produjo resultado: abortado, descartado o suprimido
  • Mientras el Ack esté en alto, no se presenta nada nuevo, por muchas inspecciones que se completen

El veredicto general está en Inspection Pass e Inspection Fail. Ambos en 0 significa que no hay resultado. El detalle por herramienta proviene de las ranuras que asigne en Paso 5: Outputs.

Cambio de receta​

  1. Verifique Recipe Switch Ack = 0, escriba Recipe ID, luego suba Recipe Switching Request
  2. Si se acepta: Recipe Switch Ack sube, Trigger Ready baja, y Online baja con Offline Reason = 3, cargando receta. Si se rechaza: Recipe Switch Error sube, con un error de receta desconocida u ocupada
  3. Cuando se completa la carga: Current Recipe ID, Recipe Version y Tool Count se actualizan, Recipe Load Complete sube y Online regresa a 1
  4. Baje Recipe Switching Request. La cámara borra el Ack y Recipe Load Complete
Tenga cuidado con
  • Mantenga Recipe ID constante desde el flanco de subida de la solicitud hasta el Ack
  • Las piezas en vuelo terminan bajo la receta anterior. Llevan la receta anterior en Recipe ID During Judgment, así que use ese, no Current Recipe ID, para interpretar un resultado
  • Los resultados en cola sobreviven al cambio y conservan la receta que los juzgó
  • Si la carga falla, la receta anterior permanece cargada
  • El Recipe ID es el PLC recipe ID configurado en Paso 5: Outputs. Duplicar o importar una receta le asigna uno nuevo

Comandos​

  1. Verifique Command Ready = 1, escriba Command ID y Command Arg 0 to 3, luego suba Execute Command y manténgalo
  2. La cámara engancha el ID y los argumentos: Command Ready baja, Command Executing sube
  3. Cuando termina, una sola actualización trae todos de Command Response 0 to 3, Command Result Code, Command Executing = 0, Command Complete = 1 y, en caso de falla, Command Failed = 1. Estos nunca se dividen entre escaneos
  4. Lea la respuesta y baje Execute Command. La cámara borra Command Complete y regresa Command Ready a 1

La lista de comandos y los códigos de resultado están en las secciones Command reference y Codes de la página Industrial Ethernet de la cámara.

Una secuencia robusta de PLC​

Para una línea típica, la lógica que sobrevive en producción se ve así:

  1. Al presentarse la pieza, espere Trigger Ready, luego dispare
  2. Espere Results Valid con un nuevo Inspection ID
  3. Lea el veredicto, las ranuras que necesite y Recipe ID During Judgment
  4. Reconozca
  5. Actúe sobre el veredicto, asociado a la pieza por Part ID o Inspection ID
Asocie resultados con piezas por ID, no por tiempo

Asumir que el siguiente resultado pertenece a la siguiente pieza funciona hasta el primer disparo perdido. Escriba un Part ID con cada disparo y verifique que regrese con el resultado, y una sola pieza perdida no podrá desplazar todos los veredictos posteriores.

Volver a la ruta de inicioConectarse a tu PLC