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.
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 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.

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.

Temporización y comportamiento de handshake

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

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

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
- Abra la interfaz web de la cámara (por ejemplo,
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 de ensamblaje actual, incluidas las dimensiones de datos de entrada/salida y el estado de la conexión.
- 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
| Bit | PLC Tag Address | Tag Name | Data Type | Descripción | Valor por Defecto |
|---|---|---|---|---|---|
| 0 | I.Data[0].0 | Trigger Ready | BOOL | La 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) |
| 1 | I.Data[0].1 | Trigger Acknowledge | BOOL | La cámara ha recibido y aceptado la solicitud de disparo. | 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 arrancar y está en línea. | 0 (se pone HIGH después del arranque) |
Byte 1 -- Errores y Banderas de Estado
| Bit | PLC Tag Address | Tag Name | Data Type | Descripción | Valor por Defecto |
|---|---|---|---|---|---|
| 0 | I.Data[1].0 | Trigger Error | BOOL | Ocurrió un error durante el ciclo de disparo. Bloqueado hasta que se borre. | 0 |
| 1 | I.Data[1].1 | Recipe Switch Error | BOOL | Ocurrió un error durante el cambio de receta. Bloqueado 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 HIGH. | 0 |
Byte 2 -- Banderas de Resultados de Inspección
| Bit | PLC Tag Address | Tag Name | Data Type | Descripción | Valor por Defecto |
|---|---|---|---|---|---|
| 0 | I.Data[2].0 | Exposure Complete | BOOL | La exposición de la imagen se ha completado. | 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/fallo. HIGH = Pass, LOW = Fail. Solo válido cuando Result Available es HIGH. | 0 |
Bytes 3--7 -- Reservados
| Byte(s) | PLC Tag Address | Tag Name | Data Type | Descripción | Valor por Defecto |
|---|---|---|---|---|---|
| 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 -- ID de Receta Actual
| Byte(s) | PLC Tag Address | Tag Name | Data Type | Descripción | Valor por Defecto |
|---|---|---|---|---|---|
| 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 la conmutación de receta se haya completado. | 0 |
Bytes 10--11 -- Reservado
| 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 -- ID de Inspección
| 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 resultados con disparadores específicos. | 0 |
Bytes 14--15 -- Reservado
| 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 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
| Bit | PLC Tag Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 0 | O.Data[0].0 | Trigger Request | BOOL | Establezca HIGH para activar una inspección. Mantenga el latch hasta que Trigger Acknowledge (I.Data[0].1) quede en HIGH, luego se liberará. | 0 |
| 1 | O.Data[0].1 | Recipe Switch Request | BOOL | Establezca 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 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 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 Address | Tag Name | Data Type | Description | Default Value |
|---|---|---|---|---|---|
| 6--256 | O.Data[6]--O.Data[256] | Custom Data for Node-RED | BYTE[] | 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 PLC | Nombre de Etiqueta | Tipo de Datos | Descripción |
|---|---|---|---|---|
| 16, bit 0 | I.Data[16].0 | Éxito del Alineador | BOOL | HIGH si el alineador ubicó correctamente la pieza. |
| 17--18 | I.Data[17]--I.Data[18] | Confianza del Alineador | UINT (16-bit) | Puntuación de confianza de la alineación (0--65535). |
| 19--20 | I.Data[19]--I.Data[20] | Ángulo del Alineador | INT (16-bit, signado) | Ángulo coincidente respecto a la plantilla. |
| 21--23 | I.Data[21]--I.Data[23] | Reservado (Alineador) | BYTE | Reservado 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 bloque | Nombre de Etiqueta | Tipo de Datos | Descripción |
|---|---|---|---|
| +0 | ROI ID | UINT8 (8-bit) | Identificador numérico único de la ROI. |
| +1, bit 0 | ROI Pass | BOOL | HIGH = esta ROI pasó, LOW = esta ROI falló. |
| +2 a +3 | ROI Confianza | UINT (16-bit) | Puntuación de confianza de la clasificación de esta ROI (0--65535). |
| +4 a +7 | Reservado | BYTE | Reservado para datos por ROI futuros. |
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 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:
- Abra la interfaz web de la cámara.
- Vaya a Industrial Ethernet en el menú de la izquierda.
- Seleccione su protocolo (EtherNet/IP o PROFINET).
- 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":
- Abrir Node-RED desde la interfaz web de la cámara (navegue al editor de 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 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):
- 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 comenzando en el byte 16.
- Del lado del PLC, lea las direcciones correspondientes
I.Data[16]aI.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:
- En su programa de PLC, escriba valores en
O.Data[6]aO.Data[256]. - En Node-RED en la cámara, use los nodos de datos de entrada del PLC para leer esos bytes.
- Use los valores en la lógica de su flujo (p. ej., umbrales, números de serie, parámetros condicionales).
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 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 el disparo después de que este 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 | Confirmar que la cámara está arrancada |
I.Data[1].0 | Cámara → PLC | Trigger Error | Monitorear fallos de disparo |
I.Data[1].1 | Cámara → PLC | Recipe Switch Error | Monitorear fallos de cambio de receta |
I.Data[1].6 | Cámara → PLC | Busy | No enviar comandos mientras esté HIGH |
I.Data[2].0 | Cámara → PLC | Exposure Complete | Imagen capturada |
I.Data[2].1 | Cámara → PLC | Result Available | Listo para leer pass/fail |
I.Data[2].2 | Cámara → PLC | Inspection Pass | HIGH = Aprobado, LOW = Reprobado |
I.Data[8]--I.Data[9] | Cámara → PLC | Current Recipe ID | Verificar la receta después del cambio |
I.Data[12]--I.Data[13] | Cámara → PLC | Inspection ID | Correlacionar resultados con disparadores |
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 |