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.
Vea este tema en acción: Auto-Integration Builder
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.

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.

Temporización y comportamiento de handshake

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

-
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
El nodo Format Data for PLC funciona solo con Recetas de Clasificación.

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
- Abra la interfaz web de OV20i (p. ej.,
http://192.168.1.100). - Navegue a Industrial Ethernet en la barra lateral izquierda.
- Seleccione su protocolo activo (EtherNet/IP o PROFINET).
- 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.
- 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
| Bit | PLC Tag Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 0 | I.Data[0].0 | Trigger Ready | BOOL | La 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) |
| 1 | I.Data[0].1 | Trigger Acknowledge | BOOL | La cámara ha recibido y aceptado la solicitud de trigger. | 0 |
| 2 | I.Data[0].2 | Recipe Switch Acknowledge | BOOL | La cámara ha recibido y completado la solicitud de cambio de receta. | 0 |
| 7 | I.Data[0].7 | Online / Startup Complete | BOOL | La 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
| Bit | PLC Tag Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 0 | I.Data[1].0 | Trigger Error | BOOL | Se produjo un error durante el ciclo de disparo. Retenido hasta que se borre. | 0 |
| 1 | I.Data[1].1 | Recipe Switch Error | BOOL | Se produjo un error durante el cambio de receta. Retenido hasta que se borre. | 0 |
| 6 | I.Data[1].6 | Busy | BOOL | La 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
| Bit | PLC Tag Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 0 | I.Data[2].0 | Exposure Complete | BOOL | La exposición de la imagen ha finalizado. | 0 |
| 1 | I.Data[2].1 | Inspection Completed / Result Available | BOOL | El procesamiento de la inspección ha finalizado y los resultados son válidos. | 0 |
| 2 | I.Data[2].2 | Inspection Pass | BOOL | Resultado 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 Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 3 | I.Data[3] | Reserved | BYTE | Reservado para uso futuro. | 0x00 |
| 4 | I.Data[4] | Reserved | BYTE | Reservado para uso futuro. | 0x00 |
| 5 | I.Data[5] | Reserved | BYTE | Reservado para uso futuro. | 0x00 |
| 6--7 | I.Data[6]--I.Data[7] | Reserved | BYTE | Reservado para uso futuro. | 0x00 |
Bytes 8--9 -- Current Recipe ID
| Byte(s) | PLC Tag Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 8--9 | I.Data[8]--I.Data[9] | Current Recipe ID | UINT (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 Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 10--11 | I.Data[10]--I.Data[11] | Reserved | BYTE | Reservado para uso futuro. | 0x00 |
Bytes 12--13 -- Inspection ID
| Byte(s) | PLC Tag Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 12--13 | I.Data[12]--I.Data[13] | Inspection ID | UINT (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 Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 14--15 | I.Data[14]--I.Data[15] | Reserved | BYTE | Reservado para uso futuro. | 0x00 |
Bytes 16--256 -- ROI Results Assembly / Custom Data from Node-RED
| Byte(s) | PLC Tag Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 16--256 | I.Data[16]--I.Data[256] | ROI Results / Custom Data | BYTE[] | 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
| Bit | PLC Tag Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 0 | O.Data[0].0 | Trigger Request | BOOL | Establecer 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 |
| 1 | O.Data[0].1 | Recipe Switch Request | BOOL | Establezca 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 Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 1 | O.Data[1] | Reserved | BYTE | Reservado para uso futuro. | 0x00 |
| 2 | O.Data[2] | Reserved | BYTE | Reservado para uso futuro. | 0x00 |
| 3 | O.Data[3] | Reserved | BYTE | Reservado para uso futuro. | 0x00 |
Bytes 4--5 -- Recipe ID
| Byte(s) | PLC Tag Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 4--5 | O.Data[4]--O.Data[5] | Recipe ID | UINT (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 PLC | Nombre de etiqueta | Tipo de dato | Descripción | Valor predeterminado |
|---|---|---|---|---|---|
| 6--256 | O.Data[6]--O.Data[256] | Custom Data for Node-RED | BYTE[] | 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 Address | Tag Name | Data Type | Description |
|---|---|---|---|---|
| 16, bit 0 | I.Data[16].0 | Aligner Success | BOOL | HIGH si el aligner localizó con éxito la pieza. |
| 17--18 | I.Data[17]--I.Data[18] | Aligner Confidence | UINT (16-bit) | Puntuación de confianza de la alineación (0--65535). |
| 19--20 | I.Data[19]--I.Data[20] | Aligner Angle | INT (16-bit, signed) | Ángulo coincidente respecto a la plantilla. |
| 21--23 | I.Data[21]--I.Data[23] | Reserved (Aligner) | BYTE | Reservado 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 bloque | Nombre de Tag | Tipo de dato | Descripción |
|---|---|---|---|
| +0 | ROI ID | UINT8 (8-bit) | Identificador numérico único del ROI. |
| +1, bit 0 | ROI Pass | BOOL | HIGH = este ROI pasó, LOW = este ROI falló. |
| +2 to +3 | ROI Confidence | UINT (16-bit) | Puntuación de confianza de la clasificación de este ROI (0--65535). |
| +4 to +7 | Reserved | BYTE | Reservado para datos futuros por ROI. |
Direcciones de inicio de ROI:
| ROI | Byte de Inicio | Rango de Direcciones PLC | Dirección ID | Dirección Pass | Dirección de Confianza |
|---|---|---|---|---|---|
| ROI 0 | 24 | I.Data[24]--I.Data[31] | I.Data[24] | I.Data[25].0 | I.Data[26]--I.Data[27] |
| ROI 1 | 32 | I.Data[32]--I.Data[39] | I.Data[32] | I.Data[33].0 | I.Data[34]--I.Data[35] |
| ROI 2 | 40 | I.Data[40]--I.Data[47] | I.Data[40] | I.Data[41].0 | I.Data[42]--I.Data[43] |
| ROI 3 | 48 | I.Data[48]--I.Data[55] | I.Data[48] | I.Data[49].0 | I.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:
- Abra la interfaz web de OV20i.
- Vaya a Industrial Ethernet en el menú de la izquierda.
- Seleccione su protocolo (EtherNet/IP o PROFINET).
- 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":
- Abrir Node-RED desde la interfaz web de la cámara (navegue al editor Node-RED).
- 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".
- Configure el orden de bytes:
- Little-endian para PLCs de Allen-Bradley / Rockwell
- Big-endian para PLCs de Siemens
- 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):
- En su flujo de Node-RED, use un nodo Function para construir un búfer
msg.payloadcon la disposición de bytes deseada. - Conéctelo al nodo "Send Data to PLC".
- Sus bytes personalizados poblarán el Input Assembly a partir del byte 16.
- En el lado del PLC, lea las direcciones correspondientes
I.Data[16]aI.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:
- En su programa PLC, escriba valores a
O.Data[6]aO.Data[256]. - En Node-RED en la cámara, use los nodos de datos de entrada PLC para leer esos bytes.
- 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 PLC | Dirección | Nombre de Señal | Uso |
|---|---|---|---|
I.Data[0].0 | Cámara → PLC | Trigger Ready | Verifique antes de disparar |
I.Data[0].1 | Cámara → PLC | Trigger Acknowledge | Desenganchar disparo después de que esto pase a HIGH |
I.Data[0].2 | Cámara → PLC | Recipe Switch Ack | Desenganchar la solicitud de receta después de que esto pase a HIGH |
I.Data[0].7 | Cámara → PLC | Online / Startup Complete | Confirme que la cámara se haya iniciado |
I.Data[1].0 | Cámara → PLC | Trigger Error | Monitoree fallos de disparo |
I.Data[1].1 | Cámara → PLC | Recipe Switch Error | Monitoree fallos de cambio de receta |
I.Data[1].6 | Cámara → PLC | Busy | No envíe comandos mientras HIGH |
I.Data[2].0 | Cámara → PLC | Exposure Complete | Imagen capturada |
I.Data[2].1 | Cámara → PLC | Result Available | Seguro para leer pass/fail |
I.Data[2].2 | Cámara → PLC | Inspection Pass | HIGH = Pass, LOW = Fail |
I.Data[8]--I.Data[9] | Cámara → PLC | Current Recipe ID | Verifique la receta después del cambio |
I.Data[12]--I.Data[13] | Cámara → PLC | Inspection ID | Correlacione los resultados con los disparos |
O.Data[0].0 | PLC → Cámara | Trigger Request | Latch HIGH para disparar |
O.Data[0].1 | PLC → Cámara | Recipe Switch Request | Latch HIGH para cambiar la receta |
O.Data[4]--O.Data[5] | PLC → Cámara | Recipe ID | Establecer el número de receta deseado |
O.Data[6]+ | PLC → Cámara | Custom Data | Datos definidos por el usuario para Node-RED |
I.Data[16]+ | Cámara → PLC | ROI Results / Custom Data | Resultados de ROI o salida personalizada de Node-RED |