Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Detalles de Comunicación PLC (EtherNet/IP)

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

Video Guide

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 OV20i funciona como un adaptador EtherNet/IP, mientras que su PLC opera como un escáner (o maestro). Una vez configurados, los dispositivos intercambian datos estructurados en cada ciclo usando un formato compacto y predecible.

Características compatibles

  • Comunicación I/O cíclica - Soporte de tiempo de ciclo de 20–10,000 ms
  • Rendimiento 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

Conjunto de entrada (OV20i → PLC)

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

Disposición de bytes y bits del conjunto de entrada OV20i

Conjunto de salida (PLC → OV20i)

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

Disposición de bytes y bits del conjunto de salida OV20i

Temporización y comportamiento de handshake

Diagrama de temporización de disparo de EtherNet/IP

Soporte de Datos Personalizados

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

PLC → OV20i

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

OV20i → PLC

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

Los datos personalizados encajan en la porción extendida de los conjuntos, comenzando después de las señales básicas y la información de la receta.

Desglose de resultados de 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:

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

Formato de Datos para PLC - Flujo Node-RED

  • Población automática de una región ROI estructurada que comienza en el byte 16 del conjunto de entrada

  • Admite hasta 4 ROI por inspección

  • Cada ROI incluye:

    • ROI ID
    • Bit de aprobado/reprobado
    • Puntuación 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 conjunto de salida OV20i


Referencia de Etiquetas PLC Predeterminadas

Esta sección proporciona 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 OV20i (p. ej., 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 actual del ensamblaje, incluidas las tamaños de datos de entrada/salida y el estado de la conexión.
  5. El diseño predeterminado de etiquetas que se muestra en esta página corresponde a las tablas a continuación.

Etiquetas de Ensamblaje de Entrada (OV20i → PLC)

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

Byte 0 -- Banderas de Estado

BitPLC Tag AddressTag NameData TypeDescriptionDefault Value
0I.Data[0].0Trigger ReadyBOOLLa cámara está lista para aceptar un trigger. Debe estar HIGH antes de enviar una solicitud de trigger.0 (se pone HIGH después del inicio)
1I.Data[0].1Trigger AcknowledgeBOOLLa cámara ha recibido y aceptado la solicitud de trigger.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 iniciar y está en línea.0 (se pone HIGH después del inicio)

Byte 1 -- Errores y Banderas de Estado

BitPLC Tag AddressTag NameData TypeDescriptionDefault Value
0I.Data[1].0Trigger ErrorBOOLSe produjo un error durante el ciclo de disparo. Retenido hasta que se borre.0
1I.Data[1].1Recipe Switch ErrorBOOLSe produjo un error durante el cambio de receta. Retenido 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 esté HIGH.0

Byte 2 -- Banderas de Resultado de Inspección

BitPLC Tag AddressTag NameData TypeDescriptionDefault Value
0I.Data[2].0Exposure CompleteBOOLLa exposición de la imagen ha finalizado.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/rechazo. HIGH = Aprobado, LOW = Rechazado. Válido solo cuando Result Available está en HIGH.0

Bytes 3--7 -- Reservado

Byte(s)PLC Tag AddressTag NameData TypeDescriptionDefault Value
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 -- Current Recipe ID

Byte(s)PLC Tag AddressTag NameData TypeDescriptionDefault Value
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 se haya completado un cambio de receta.0

Bytes 10--11 -- Reserved

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

Bytes 12--13 -- Inspection ID

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 los resultados con disparadores específicos.0

Bytes 14--15 -- Reserved

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 utiliza el bloque Node-RED "Format Data for PLC", esta región se llena con resultados ROI estructurados. De lo contrario, está disponible para datos personalizados de flujos de Node-RED.0x00

Output Assembly Tags (PLC → OV20i)

These tags are written by the PLC. The camera reads them every I/O cycle.

Byte 0 -- Control Flags

BitPLC Tag AddressTag NameData TypeDescriptionDefault Value
0O.Data[0].0Trigger RequestBOOLEstablecer HIGH para activar una inspección. Manténgalo en HIGH hasta que Trigger Acknowledge (I.Data[0].1) suba a HIGH, luego libérelo.0
1O.Data[0].1Recipe Switch RequestBOOLEstablezca HIGH para solicitar un cambio de receta al ID en O.Data[4]. Manténgalo en HIGH hasta que Recipe Switch Ack (I.Data[0].2) suba a HIGH, luego libérelo.0

Bytes 1--3 -- Reserved

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 se cambiará. Escriba aquí el número de receta deseado antes de configurar el bit de Solicitud de Cambio de Receta.0

Bytes 6--256 -- Datos personalizados para Node-RED

Byte(s)Dirección de etiqueta PLCNombre de etiquetaTipo de datoDescripciónValor predeterminado
6--256O.Data[6]--O.Data[256]Custom Data for Node-REDBYTE[]Datos definidos por el usuario que pueden leer los flujos de Node-RED. Use esta región para pasar números de serie, umbrales, IDs de piezas u otros parámetros a la cámara.0x00

Diagramas de mapeo de bits

Los siguientes diagramas basados en texto muestran la distribución completa de bytes y 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 (OV20i → 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 de Salida del Ensamblaje (PLC → OV20i)

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 de 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 en adelante del Input Assembly se rellenan con datos estructurados del aligner y por ROI según se indica a continuación:

Sección Aligner (Bytes 16--23)

Byte(s)PLC Tag AddressTag NameData TypeDescription
16, bit 0I.Data[16].0Aligner SuccessBOOLHIGH si el aligner localizó con éxito la pieza.
17--18I.Data[17]--I.Data[18]Aligner ConfidenceUINT (16-bit)Puntuación de confianza de la alineación (0--65535).
19--20I.Data[19]--I.Data[20]Aligner AngleINT (16-bit, signed)Ángulo coincidente respecto a la plantilla.
21--23I.Data[21]--I.Data[23]Reserved (Aligner)BYTEReservado para datos futuros del aligner.

Bloques de Resultados ROI (Bytes 24--55)

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

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

Desplazamiento dentro del bloqueNombre de TagTipo de datoDescripción
+0ROI IDUINT8 (8-bit)Identificador numérico único del ROI.
+1, bit 0ROI PassBOOLHIGH = este ROI pasó, LOW = este ROI falló.
+2 to +3ROI ConfidenceUINT (16-bit)Puntuación de confianza de la clasificación de este ROI (0--65535).
+4 to +7ReservedBYTEReservado para datos futuros por ROI.

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 búfer

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

El diseño de etiquetas predeterminadas 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 OV20i.
  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 la 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 o GSDML (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 agrega el módulo de cámara en Studio 5000 o TIA Portal, los tamaños de ensamblaje 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 por defecto) entre la cámara y el PLC, use el bloque Node-RED "Format Data for PLC":

  1. Abrir Node-RED desde la interfaz web de la cámara (navegue al editor 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 la disposición estructurada que comienza en el byte 16 del Input Assembly (ver la sección ROI Results Assembly Detail más arriba).

Para búferes de datos completamente personalizados (sin utilizar 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 a partir del byte 16.
  4. En el lado del PLC, lea las direcciones correspondientes I.Data[16] a I.Data[256].

Cambio de Asignaciones de Etiquetas

Los tags centrales (bytes 0--15 del Input Assembly y bytes 0--5 del Output Assembly) están fijados por el firmware de la cámara y no pueden reasignarse. Estas son las señales a nivel de sistema (disparador, 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" lo llena con 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, y 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.

Envío de datos personalizados desde el PLC a la Cámara (Output Assembly)

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

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

Guía rápida: Hoja de direcciones de etiquetas

La tabla a continuación resume las etiquetas más utilizadas, en un solo lugar, para una consulta 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 disparo después de que esto 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 CompleteConfirme que la cámara se haya iniciado
I.Data[1].0Cámara → PLCTrigger ErrorMonitoree fallos de disparo
I.Data[1].1Cámara → PLCRecipe Switch ErrorMonitoree fallos de cambio de receta
I.Data[1].6Cámara → PLCBusyNo envíe comandos mientras HIGH
I.Data[2].0Cámara → PLCExposure CompleteImagen capturada
I.Data[2].1Cámara → PLCResult AvailableSeguro para leer pass/fail
I.Data[2].2Cámara → PLCInspection PassHIGH = Pass, LOW = Fail
I.Data[8]--I.Data[9]Cámara → PLCCurrent Recipe IDVerifique la receta después del cambio
I.Data[12]--I.Data[13]Cámara → PLCInspection IDCorrelacione los resultados con los disparos
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