Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Handshakes de PLC

Cada intercambio entre un PLC y la OV Spark Pro sigue un handshake: el PLC levanta 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 control que escribe la lógica del PLC. Funciona igual sobre EtherNet/IP y PROFINET.

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

Esta página nombra señales en lugar de direcciones, a propósito. El diseño de bytes y bits se genera por firmware, así que tómelo del EDS o GSDML para el firmware de su cámara, o de las secciones de referencia en la página de Industrial Ethernet de la cámara. Los desplazamientos 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 Online = 1, Trigger Ready = 1 y Trigger Ack = 0. Escriba Part ID, y User Data si lo utiliza, luego levante Trigger y manténgalo
  2. La cámara acepta en el flanco ascendente: Trigger Ready cae a 0, Trigger Ack sube a 1, y Part ID y User Data quedan enclavados. 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 vuelve 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 ascendente
  • 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 enclave como falla

Lectura de resultados​

Un 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 a que Results Valid = 1
  2. Lea cada campo de resultado en un solo scan, junto con Inspection ID
  3. Levante Inspection Results Ack y manténgalo. La cámara desencola, y Results Valid y los bits de aprobado y fallo caen 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 descendente

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

Tenga cuidado con
  • Inspection Completed conmuta; 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 en la conmutación
  • El modo live puede ocultar una inspección. Dos finalizaciones dentro de un intervalo de paquete pueden parecer 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 salto en los Inspection IDs significa que un disparo aceptado no produjo resultado: abortado, descartado o suprimido
  • Mientras el Ack esté alto, no se presenta nada nuevo, por más 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 viene de las ranuras que asigne en Paso 5: Salidas.

Cambio de receta​

  1. Verifique Recipe Switch Ack = 0, escriba Recipe ID, luego levante Recipe Switching Request
  2. Si se acepta: Recipe Switch Ack sube, Trigger Ready cae, y Online cae con Offline Reason = 3, cargando receta. Si se rechaza: Recipe Switch Error sube, con un error de receta desconocida u ocupado
  3. Cuando la carga se completa: Current Recipe ID, Recipe Version y Tool Count se actualizan, Recipe Load Complete sube, y Online vuelve 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 ascendente 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 establecido en Paso 5: Salidas. Duplicar o importar una receta le asigna uno nuevo

Comandos​

  1. Verifique Command Ready = 1, escriba Command ID y Command Arg 0 a 3, luego levante Execute Command y manténgalo
  2. La cámara enclava el ID y los argumentos: Command Ready cae, Command Executing sube
  3. Cuando termina, una sola actualización contiene todos los Command Response 0 a 3, Command Result Code, Command Executing = 0, Command Complete = 1 y, en caso de fallo, Command Failed = 1. Estos nunca se dividen entre scans
  4. Lea la respuesta y baje Execute Command. La cámara borra Command Complete y devuelve 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 de 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. Cuando hay pieza presente, espere Trigger Ready, luego dispare
  2. Espere Results Valid con un Inspection ID nuevo
  3. Lea el veredicto, las ranuras que necesite, y Recipe ID During Judgment
  4. Reconozca
  5. Actúe sobre el veredicto, emparejado con la pieza por Part ID o Inspection ID
Empareje resultados con piezas por ID, no por tiempo

Asumir que el siguiente resultado pertenece a la siguiente pieza funciona hasta el primer disparo descartado. 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