Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Detalles de Comunicación PLC (EtherNet/IP)

El sistema de visión OV10i admite comunicación en tiempo real con PLCs basados en EtherNet/IP. Esta guía explica cómo configurar conexiones I/O cíclicas, mapear estructuras de datos y usar las herramientas Node-RED de Overview para acceder a resultados de inspección tanto a nivel global como a nivel ROI.

Guía en vídeo

Vea este tema en acción: Auto-Integration Builder

nota

Para instrucciones básicas de conexión, consulte Conectar al PLC (EtherNet/IP, PROFINET).


Visión general

El OV10i funciona como adaptador EtherNet/IP, mientras que su PLC opera como escáner (o maestro). Una vez configurados, los dispositivos intercambian datos estructurados en cada ciclo, utilizando un formato compacto y predecible.

Funciones admitidas

  • Comunicación I/O cíclica - Soporte de ciclos de 20–10,000 ms
  • Ancho de banda de datos - Hasta 256 bytes en cada dirección
  • Manejo de datos personalizados - Leer/escribir datos de Node-RED como parte de la receta activa

Ensamblaje de entrada (OV10i → PLC)

El ensamblaje de entrada contiene datos enviados desde el OV10i al PLC en cada ciclo. Esto incluye estado del sistema, resultados de inspección, información de la receta y desgloses ROI opcionales.

Disposición de bytes y bits del ensamblaje de entrada OV10i

Ensamblaje de salida (PLC → OV10i)

El ensamblaje de salida contiene datos de control enviados desde el PLC al OV10i. Puede usarlo para activar inspecciones, cambiar recetas o pasar parámetros personalizados.

Disposición de bytes y bits del ensamblaje de salida OV10i

Temporización y comportamiento de handshake

Diagrama de temporización de disparo EtherNet/IP

Soporte de datos personalizados

El OV10i puede aceptar o devolver datos personalizados adicionales como parte de su flujo Node-RED.

PLC → OV10i

  • Escribir banderas externas, umbrales o contadores para influir en la lógica de Node-RED

OV10i → PLC

  • Devolver valores calculados, mediciones, marcas de tiempo o salidas condicionadas

Los datos personalizados se insertan en la porción extendida de los ensamblajes, comenzando después de las señales centrales y la información de la receta.

Desglose de resultados ROI (solo Recetas de Clasificación)

Para recetas de clasificación, puede exponer resultados por ROI al PLC utilizando el nodo Node-RED personalizado de Overview: Format data for PLC.

Cómo funciona:

  • Colocado entre All Blocks Output Data y Send Data to PLC en el flujo de Node-RED

Formato de datos para el nodo Node-RED para PLC

  • Llena automáticamente una región ROI estructurada a partir del byte 16 en el ensamblaje de entrada

  • Soporta hasta 4 ROI por inspección

  • Cada ROI incluye:

    • ROI ID
    • Pass/fail bit
    • Puntaje de confianza
    • Bytes reservados para uso futuro
aviso

El nodo Format Data for PLC funciona solo con Recetas de Clasificación.

Disposición de bytes y bits del ensamblaje de salida OV10i


Referencia de Etiquetas PLC Predeterminada

Esta sección ofrece una referencia completa de cada etiqueta en los ensamblajes de Entrada y Salida, incluyendo desplazamientos de bytes, posiciones de bits, tipos de datos y valores predeterminados. Úsela como el mapa de bits definitivo al configurar su programa PLC.

Dónde ver las etiquetas predeterminadas en la IU de la cámara

  1. Abra la interfaz web de la cámara (por ejemplo, http://192.168.1.100).
  2. Navegue a Industrial Ethernet en la barra lateral izquierda.
  3. Seleccione su protocolo activo (EtherNet/IP o PROFINET).
  4. La página muestra la configuración de ensamblaje actual, incluidas las dimensiones de datos de entrada/salida y el estado de la conexión.
  5. El diseño de etiquetas predeterminadas que se muestra en esta página corresponde a las tablas a continuación.

Etiquetas de Ensamblaje de Entrada (Cámara → PLC)

Estas etiquetas son leídas por el PLC. La cámara las escribe en cada ciclo de I/O.

Byte 0 -- Banderas de Estado

BitPLC Tag AddressTag NameData TypeDescripciónValor por Defecto
0I.Data[0].0Trigger ReadyBOOLLa cámara está lista para aceptar un disparo. Debe estar HIGH antes de enviar una solicitud de disparo.0 (se pone HIGH después del arranque)
1I.Data[0].1Trigger AcknowledgeBOOLLa cámara ha recibido y aceptado la solicitud de disparo.0
2I.Data[0].2Recipe Switch AcknowledgeBOOLLa cámara ha recibido y completado la solicitud de cambio de receta.0
7I.Data[0].7Online / Startup CompleteBOOLLa cámara ha terminado de arrancar y está en línea.0 (se pone HIGH después del arranque)

Byte 1 -- Errores y Banderas de Estado

BitPLC Tag AddressTag NameData TypeDescripciónValor por Defecto
0I.Data[1].0Trigger ErrorBOOLOcurrió un error durante el ciclo de disparo. Bloqueado hasta que se borre.0
1I.Data[1].1Recipe Switch ErrorBOOLOcurrió un error durante el cambio de receta. Bloqueado hasta que se borre.0
6I.Data[1].6BusyBOOLLa cámara está procesando actualmente (inspección en curso o cambio de receta). No envíe nuevos comandos mientras HIGH.0

Byte 2 -- Banderas de Resultados de Inspección

BitPLC Tag AddressTag NameData TypeDescripciónValor por Defecto
0I.Data[2].0Exposure CompleteBOOLLa exposición de la imagen se ha completado.0
1I.Data[2].1Inspection Completed / Result AvailableBOOLEl procesamiento de la inspección ha finalizado y los resultados son válidos.0
2I.Data[2].2Inspection PassBOOLResultado final de aprobación/fallo. HIGH = Pass, LOW = Fail. Solo válido cuando Result Available es HIGH.0

Bytes 3--7 -- Reservados

Byte(s)PLC Tag AddressTag NameData TypeDescripciónValor por Defecto
3I.Data[3]ReservedBYTEReservado para uso futuro.0x00
4I.Data[4]ReservedBYTEReservado para uso futuro.0x00
5I.Data[5]ReservedBYTEReservado para uso futuro.0x00
6--7I.Data[6]--I.Data[7]ReservedBYTEReservado para uso futuro.0x00

Bytes 8--9 -- ID de Receta Actual

Byte(s)PLC Tag AddressTag NameData TypeDescripciónValor por Defecto
8--9I.Data[8]--I.Data[9]Current Recipe IDUINT (16-bit)El ID de la receta actualmente activa. Compare con O.Data[4] para verificar que la conmutación de receta se haya completado.0

Bytes 10--11 -- Reservado

Byte(s)PLC Tag AddressTag NameData TypeDescriptionDefault Value
10--11I.Data[10]--I.Data[11]ReservedBYTEReservado para uso futuro.0x00

Bytes 12--13 -- ID de Inspección

Byte(s)PLC Tag AddressTag NameData TypeDescriptionDefault Value
12--13I.Data[12]--I.Data[13]Inspection IDUINT (16-bit)Contador de 16 bits que se incrementa con cada inspección. Úselo para correlacionar resultados con disparadores específicos.0

Bytes 14--15 -- Reservado

Byte(s)PLC Tag AddressTag NameData TypeDescriptionDefault Value
14--15I.Data[14]--I.Data[15]ReservedBYTEReservado para uso futuro.0x00

Bytes 16--256 -- ROI Results Assembly / Custom Data from Node-RED

Byte(s)PLC Tag AddressTag NameData TypeDescriptionDefault Value
16--256I.Data[16]--I.Data[256]ROI Results / Custom DataBYTE[]Cuando se usa el bloque Node-RED "Format Data for PLC", esta región se poblará con resultados estructurados de ROI. De lo contrario, estará disponible para datos personalizados de los flujos de Node-RED.0x00

Output Assembly Tags (PLC → Camera)

Estas etiquetas son escritas por el PLC. La cámara las lee en cada ciclo de E/S.

Byte 0 -- Banderas de Control

BitPLC Tag AddressTag NameData TypeDescriptionDefault Value
0O.Data[0].0Trigger RequestBOOLEstablezca HIGH para activar una inspección. Mantenga el latch hasta que Trigger Acknowledge (I.Data[0].1) quede en HIGH, luego se liberará.0
1O.Data[0].1Recipe Switch RequestBOOLEstablezca HIGH para solicitar un cambio de receta al ID en O.Data[4]. Mantenga el latch hasta que Recipe Switch Ack (I.Data[0].2) quede en HIGH, luego se liberará.0

Bytes 1--3 -- Reservado

Byte(s)PLC Tag AddressTag NameData TypeDescriptionDefault Value
1O.Data[1]ReservedBYTEReservado para uso futuro.0x00
2O.Data[2]ReservedBYTEReservado para uso futuro.0x00
3O.Data[3]ReservedBYTEReservado para uso futuro.0x00

Bytes 4--5 -- Recipe ID

Byte(s)PLC Tag AddressTag NameData TypeDescriptionDefault Value
4--5O.Data[4]--O.Data[5]Recipe IDUINT (16-bit)El ID de la receta al que cambiar. Escriba aquí el número de la receta deseada antes de establecer el bit Recipe Switch Request.0

Bytes 6--256 -- Custom Data for Node-RED

Byte(s)PLC Tag AddressTag NameData TypeDescriptionDefault Value
6--256O.Data[6]--O.Data[256]Custom Data for Node-REDBYTE[]Datos definidos por el usuario que los flujos de Node-RED pueden leer. Use esta región para pasar números de serie, umbrales, IDs de pieza, o cualquier otro parámetro a la cámara.0x00

Diagramas de Mapeo de Bits

Los siguientes diagramas basados en texto muestran la disposición completa de bytes/bits para ambos ensamblajes. Cada fila representa un byte (o rango de bytes), y cada columna representa una posición de bit (bit 7 a la izquierda, bit 0 a la derecha).

Mapa de Bits del Ensamblaje de Entrada (Cámara → PLC)

Byte │ Bit 7          │ Bit 6  │ Bit 5 │ Bit 4 │ Bit 3 │ Bit 2              │ Bit 1                      │ Bit 0
─────┼────────────────┼────────┼───────┼───────┼───────┼────────────────────┼────────────────────────────┼──────────────────
0 │ Online/Startup │ --- │ --- │ --- │ --- │ Recipe Switch Ack │ Trigger Ack │ Trigger Ready
│ Complete │ │ │ │ │ │ │
─────┼────────────────┼────────┼───────┼───────┼───────┼────────────────────┼────────────────────────────┼──────────────────
1 │ --- │ Busy │ --- │ --- │ --- │ --- │ Recipe Switch Error │ Trigger Error
─────┼────────────────┼────────┼───────┼───────┼───────┼────────────────────┼────────────────────────────┼──────────────────
2 │ --- │ --- │ --- │ --- │ --- │ Inspection Pass │ Inspection Completed / │ Exposure
│ │ │ │ │ │ │ Result Available │ Complete
─────┼────────────────┼────────┼───────┼───────┼───────┼────────────────────┼────────────────────────────┼──────────────────
3-5 │ --- │ --- │ --- │ --- │ --- │ --- │ --- │ ---
─────┼────────────────┼────────┼───────┼───────┼───────┼────────────────────┼────────────────────────────┼──────────────────
6-7 │ Reserved │
─────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
8-9 │ Current Recipe ID (16-bit unsigned integer) │
─────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
10-11│ Reserved │
─────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
12-13│ Inspection ID (16-bit unsigned integer) │
─────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
14-15│ Reserved │
─────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
16- │ ROI Results Assembly or Custom Data from Node-RED │
256 │ │

Mapa de Bits del Ensamblaje de Salida (PLC → Cámara)

Byte │ Bit 7 │ Bit 6 │ Bit 5 │ Bit 4 │ Bit 3 │ Bit 2 │ Bit 1                 │ Bit 0
─────┼───────┼───────┼───────┼───────┼───────┼───────┼───────────────────────┼────────────────
0 │ --- │ --- │ --- │ --- │ --- │ --- │ Recipe Switch Request │ Trigger Request
─────┼───────┼───────┼───────┼───────┼───────┼───────┼───────────────────────┼────────────────
1-3 │ Reserved │
─────┼──────────────────────────────────────────────────────────────────────────────────────────
4-5 │ Recipe ID (16-bit unsigned integer) │
─────┼──────────────────────────────────────────────────────────────────────────────────────────
6- │ Custom Data for Node-RED │
256 │ │

Detalle del Ensamblaje de Resultados ROI (Bytes 16--55)

Cuando el bloque Node-RED Format Data for PLC se use con recetas de clasificación, los bytes 16+ del Ensamblaje de Entrada se llenan con datos estructurados del alineador y por ROI de la siguiente manera:

Sección del Alineador (Bytes 16--23)

Byte(s)Dirección de Etiqueta PLCNombre de EtiquetaTipo de DatosDescripción
16, bit 0I.Data[16].0Éxito del AlineadorBOOLHIGH si el alineador ubicó correctamente la pieza.
17--18I.Data[17]--I.Data[18]Confianza del AlineadorUINT (16-bit)Puntuación de confianza de la alineación (0--65535).
19--20I.Data[19]--I.Data[20]Ángulo del AlineadorINT (16-bit, signado)Ángulo coincidente respecto a la plantilla.
21--23I.Data[21]--I.Data[23]Reservado (Alineador)BYTEReservado para datos del alineador en el futuro.

Bloques de Resultado ROI (Bytes 24--55)

Cada ROI ocupa 8 bytes. Se admiten hasta 4 ROIs (ROI 0 a ROI 3).

Estructura del bloque ROI (se repite cada 8 bytes):

Desplazamiento dentro del bloqueNombre de EtiquetaTipo de DatosDescripción
+0ROI IDUINT8 (8-bit)Identificador numérico único de la ROI.
+1, bit 0ROI PassBOOLHIGH = esta ROI pasó, LOW = esta ROI falló.
+2 a +3ROI ConfianzaUINT (16-bit)Puntuación de confianza de la clasificación de esta ROI (0--65535).
+4 a +7ReservadoBYTEReservado para datos por ROI futuros.

Direcciones de inicio de ROI:

ROIByte de InicioRango de Direcciones PLCDirección IDDirección PassDirección de Confianza
ROI 024I.Data[24]--I.Data[31]I.Data[24]I.Data[25].0I.Data[26]--I.Data[27]
ROI 132I.Data[32]--I.Data[39]I.Data[32]I.Data[33].0I.Data[34]--I.Data[35]
ROI 240I.Data[40]--I.Data[47]I.Data[40]I.Data[41].0I.Data[42]--I.Data[43]
ROI 348I.Data[48]--I.Data[55]I.Data[48]I.Data[49].0I.Data[50]--I.Data[51]

Configuración de Buffer

Visualización de Etiquetas Predeterminadas en la UI de la Cámara

El diseño predeterminado de las etiquetas está definido por el firmware de la cámara y corresponde a las tablas anteriores. Para ver la configuración actual:

  1. Abra la interfaz web de la cámara.
  2. Vaya a Industrial Ethernet en el menú de la izquierda.
  3. Seleccione su protocolo (EtherNet/IP o PROFINET).
  4. La página muestra:
    • Estado de conexión e información del dispositivo
    • Tamaños de ensamblaje de entrada y salida (hasta 256 bytes en cada dirección)
    • El enlace de descarga del archivo EDS (para EtherNet/IP) o GSDML (para PROFINET) (que también codifica la estructura de ensamblaje predeterminada)

El archivo EDS (para EtherNet/IP) y el archivo GSDML (para PROFINET) definen ambos los tamaños de datos predeterminados. Cuando añade el módulo de cámara en Studio 5000 o TIA Portal, los tamaños de ensamblaje derivados de estos archivos descriptor determinan cuántos bytes se intercambian en cada ciclo.

Creación de un búfer de datos personalizado

Para enviar datos personalizados (más allá de las etiquetas de estado/resultado predeterminadas) entre la cámara y el PLC, utilice el bloque de Node-RED "Format Data for PLC":

  1. Abrir Node-RED desde la interfaz web de la cámara (navegue al editor de Node-RED).
  2. En su flujo de recetas, coloque el nodo "Format Data for PLC" entre el nodo "All Blocks Output Data" y el nodo "Send Data to PLC".
  3. Configure el orden de bytes:
    • Little-endian para PLCs de Allen-Bradley / Rockwell
    • Big-endian para PLCs de Siemens
  4. El bloque formatea automáticamente los resultados ROI de clasificación en el diseño estructurado que comienza en el byte 16 del Input Assembly (véase la sección Detalles del Ensamblaje de Resultados ROI arriba).

Para búferes de datos completamente personalizados (no utilizando el formato ROI predeterminado):

  1. En su flujo de Node-RED, use un nodo Function para construir un búfer msg.payload con la disposición de bytes deseada.
  2. Conéctelo al nodo "Send Data to PLC".
  3. Sus bytes personalizados poblarán el Input Assembly comenzando en el byte 16.
  4. Del lado del PLC, lea las direcciones correspondientes I.Data[16] a I.Data[256].

Cambio de asignaciones de etiquetas

Las etiquetas centrales (bytes 0--15 del Input Assembly y bytes 0--5 del Output Assembly) están fijas por el firmware de la cámara y no se pueden volver a asignar. Estas son las señales a nivel del sistema (trigger, conmutador de receta, estado, errores, ID de receta e ID de inspección).

La región configurable es:

  • Input Assembly bytes 16--256: Poblados por Node-RED. Usted controla qué datos van aquí configurando su flujo de Node-RED. El bloque "Format Data for PLC" llena esto con los resultados ROI por defecto, o puede escribir datos arbitrarios usando nodos Function.
  • Output Assembly bytes 6--256: Leídos por Node-RED. Puede escribir cualquier dato desde el PLC en estos bytes, luego leerlos en su flujo de Node-RED usando los nodos de entrada apropiados. Esto es útil para enviar números de serie, IDs de lote, umbrales u otros parámetros desde el PLC a la cámara.

Enviando datos personalizados desde el PLC a la Cámara (Output Assembly)

Para pasar datos personalizados desde el PLC a Node-RED:

  1. En su programa de PLC, escriba valores en O.Data[6] a O.Data[256].
  2. En Node-RED en la cámara, use los nodos de datos de entrada del PLC para leer esos bytes.
  3. Use los valores en la lógica de su flujo (p. ej., umbrales, números de serie, parámetros condicionales).
tip

Para una guía paso a paso sobre cómo enviar datos de cadena desde un PLC a la cámara, consulte Send Custom Data from PLC to Camera.

Guía rápida: Direcciones de Etiquetas

La tabla a continuación resume las etiquetas más utilizadas en un solo lugar para una búsqueda rápida durante la programación de PLC:

Dirección PLCDirecciónNombre de SeñalUso
I.Data[0].0Cámara → PLCTrigger ReadyVerifique antes de disparar
I.Data[0].1Cámara → PLCTrigger AcknowledgeDesenganchar el disparo después de que este pase a HIGH
I.Data[0].2Cámara → PLCRecipe Switch AckDesenganchar la solicitud de receta después de que esto pase a HIGH
I.Data[0].7Cámara → PLCOnline / Startup CompleteConfirmar que la cámara está arrancada
I.Data[1].0Cámara → PLCTrigger ErrorMonitorear fallos de disparo
I.Data[1].1Cámara → PLCRecipe Switch ErrorMonitorear fallos de cambio de receta
I.Data[1].6Cámara → PLCBusyNo enviar comandos mientras esté HIGH
I.Data[2].0Cámara → PLCExposure CompleteImagen capturada
I.Data[2].1Cámara → PLCResult AvailableListo para leer pass/fail
I.Data[2].2Cámara → PLCInspection PassHIGH = Aprobado, LOW = Reprobado
I.Data[8]--I.Data[9]Cámara → PLCCurrent Recipe IDVerificar la receta después del cambio
I.Data[12]--I.Data[13]Cámara → PLCInspection IDCorrelacionar resultados con disparadores
O.Data[0].0PLC → CámaraTrigger RequestLatch HIGH para disparar
O.Data[0].1PLC → CámaraRecipe Switch RequestLatch HIGH para cambiar la receta
O.Data[4]--O.Data[5]PLC → CámaraRecipe IDEstablecer el número de receta deseado
O.Data[6]+PLC → CámaraCustom DataDatos definidos por el usuario para Node-RED
I.Data[16]+Cámara → PLCROI Results / Custom DataResultados de ROI o salida personalizada de Node-RED