DOCUMENTACIÓN CON IA
¿Qué desea saber?
Detalles de Comunicación PLC (EtherNet/IP)
El sistema de visión OV80i admite comunicación en tiempo real con PLCs basados en EtherNet/IP. Esta guía explica cómo configurar conexiones cíclicas de I/O, mapear estructuras de datos y utilizar las herramientas de Node-RED de Overview para acceder tanto a los resultados de inspección globales como a los de nivel ROI.
Vea este tema en acción: Auto-Integration Builder
Para instrucciones básicas de conexión, consulte Conectar a PLC (EtherNet/IP, PROFINET).
Visión General
El OV80i 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 utilizando un formato compacto y predecible.
Características Soportadas
- Comunicación cíclica de I/O - Soporte de tiempo de ciclo de 20–10,000 ms
- Rendimiento de datos - Hasta 256 bytes en cada dirección
- Manejo de datos personalizado - Leer/escribir datos de Node-RED como parte de la receta activa
Ensamblaje de Entrada (OV80i → PLC)
El ensamblaje de entrada contiene datos enviados desde el OV80i al PLC en cada ciclo. Esto incluye el estado del sistema, resultados de inspección, información de recetas y desgloses opcionales de ROI.

Ensamblaje de Salida (PLC → OV80i)
El ensamblaje de salida contiene datos de control enviados desde el PLC al OV80i. Puede utilizarlo para activar inspecciones, cambiar recetas o pasar parámetros personalizados.

Comportamiento de Temporización y Handshake

Soporte de Datos Personalizados
El OV80i puede aceptar o devolver datos personalizados adicionales como parte de su flujo de Node-RED.
PLC → OV80i
- Escribir flags externos, umbrales o contadores para influir en la lógica en Node-RED
OV80i → PLC
- Devolver valores calculados, mediciones, marcas de tiempo o salidas condicionales
Los datos personalizados encajan en la porción extendida de los ensamblajes, comenzando después de las señales centrales y la información de recetas.
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 personalizado de Node-RED de Overview: Format data for PLC.
Cómo funciona:
- Colocado entre Todos los Datos de Salida de Bloques y Enviar Datos al PLC en el flujo de Node-RED

-
Poblado automáticamente una región estructurada de ROI comenzando en el byte 16 en el ensamblaje de entrada
-
Soporta hasta 4 ROIs por inspección
-
Cada ROI incluye:
- ID de ROI
- Bit de aprobado/reprobado
- 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 por Defecto
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 por defecto. Utilice esto como el mapa de bits definitivo al configurar su programa PLC.
Dónde Ver Etiquetas por Defecto en la IU de la Cámara
- Abra la interfaz web del OV80i (por ejemplo,
http://10.250.0.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, incluyendo tamaños de datos de entrada/salida y el estado de conexión.
- La disposición de etiquetas por defecto mostrada en esta página corresponde a las tablas a continuación.
Etiquetas de Ensamblaje de Entrada (OV80i → PLC)
Estas etiquetas son leídas por el PLC. La cámara las escribe en cada ciclo de I/O.
Byte 0 -- Indicadores de Estado
| Bit | Dirección de Etiqueta PLC | Nombre de Etiqueta | Tipo de Dato | Descripción | Valor por Defecto |
|---|---|---|---|---|---|
| 0 | I.Data[0].0 | Trigger Ready | BOOL | La cámara está lista para aceptar una solicitud de disparo. Debe estar en ALTO antes de enviar una solicitud de disparo. | 0 (se pone en ALTO 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 en ALTO después del arranque) |
Byte 1 -- Indicadores de Error y Estado
| Bit | Dirección de Etiqueta PLC | Nombre de Etiqueta | Tipo de Dato | Descripción | Valor por Defecto |
|---|---|---|---|---|---|
| 0 | I.Data[1].0 | Trigger Error | BOOL | Ocurrió un error durante el ciclo de disparo. Se mantiene hasta que se borre. | 0 |
| 1 | I.Data[1].1 | Recipe Switch Error | BOOL | Ocurrió un error durante el cambio de receta. Se mantiene 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é en ALTO. | 0 |
Byte 2 -- Indicadores de Resultado de Inspección
| Bit | Dirección de Etiqueta PLC | Nombre de Etiqueta | Tipo de Dato | Descripción | Valor por Defecto |
|---|---|---|---|---|---|
| 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 terminado y los resultados son válidos. | 0 |
| 2 | I.Data[2].2 | Inspection Pass | BOOL | Resultado final de aprobación/reprobación. ALTO = Aprobado, BAJO = Reprobado. Solo válido cuando Result Available está en ALTO. | 0 |
Bytes 3--7 -- Reservado
| Byte(s) | Dirección de Etiqueta PLC | Nombre de Etiqueta | Tipo de Dato | Descripción | Valor por Defecto |
|---|---|---|---|---|---|
| 3 | I.Data[3] | Reservado | BYTE | Reservado para uso futuro. | 0x00 |
| 4 | I.Data[4] | Reservado | BYTE | Reservado para uso futuro. | 0x00 |
| 5 | I.Data[5] | Reservado | BYTE | Reservado para uso futuro. | 0x00 |
| 6--7 | I.Data[6]--I.Data[7] | Reservado | BYTE | Reservado para uso futuro. | 0x00 |
Bytes 8--9 -- ID de Receta Actual
| Byte(s) | Dirección de Etiqueta PLC | Nombre de Etiqueta | Tipo de Datos | Descripción | Valor Predeterminado |
|---|---|---|---|---|---|
| 8--9 | I.Data[8]--I.Data[9] | ID de Receta Actual | UINT (16-bit) | El ID de la receta actualmente activa. Compare con O.Data[4] para verificar que el cambio de receta se completó. | 0 |
Bytes 10--11 -- Reservado
| Byte(s) | Dirección de Etiqueta PLC | Nombre de Etiqueta | Tipo de Datos | Descripción | Valor Predeterminado |
|---|---|---|---|---|---|
| 10--11 | I.Data[10]--I.Data[11] | Reservado | BYTE | Reservado para uso futuro. | 0x00 |
Bytes 12--13 -- ID de Inspección
| Byte(s) | Dirección de Etiqueta PLC | Nombre de Etiqueta | Tipo de Datos | Descripción | Valor Predeterminado |
|---|---|---|---|---|---|
| 12--13 | I.Data[12]--I.Data[13] | ID de Inspección | 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) | Dirección de Etiqueta PLC | Nombre de Etiqueta | Tipo de Datos | Descripción | Valor Predeterminado |
|---|---|---|---|---|---|
| 14--15 | I.Data[14]--I.Data[15] | Reservado | BYTE | Reservado para uso futuro. | 0x00 |
Bytes 16--256 -- Ensamblaje de Resultados de ROI / Datos Personalizados de Node-RED
| Byte(s) | Dirección de Etiqueta PLC | Nombre de Etiqueta | Tipo de Datos | Descripción | Valor Predeterminado |
|---|---|---|---|---|---|
| 16--256 | I.Data[16]--I.Data[256] | Resultados de ROI / Datos Personalizados | BYTE[] | Al usar el bloque "Format Data for PLC" de Node-RED, esta región se llena con resultados estructurados de ROI. De lo contrario, está disponible para datos personalizados de flujos de Node-RED. | 0x00 |
Etiquetas de Ensamblaje de Salida (PLC → OV80i)
Estas etiquetas son escritas por el PLC. La cámara las lee en cada ciclo de I/O.
Byte 0 -- Flags de Control
| Bit | Dirección de Etiqueta PLC | Nombre de Etiqueta | Tipo de Datos | Descripción | Valor Predeterminado |
|---|---|---|---|---|---|
| 0 | O.Data[0].0 | Solicitud de Disparo | BOOL | Establecer en ALTO para disparar una inspección. Mantener hasta que el Reconocimiento de Disparo (I.Data[0].1) se ponga en ALTO, luego liberar. | 0 |
| 1 | O.Data[0].1 | Solicitud de Cambio de Receta | BOOL | Establecer en ALTO para solicitar un cambio de receta al ID en O.Data[4]. Mantener hasta que el Reconocimiento de Cambio de Receta (I.Data[0].2) se ponga en ALTO, luego liberar. | 0 |
Bytes 1--3 -- Reservado
| Byte(s) | Dirección de Etiqueta PLC | Nombre de Etiqueta | Tipo de Datos | Descripción | Valor Predeterminado |
|---|---|---|---|---|---|
| 1 | O.Data[1] | Reservado | BYTE | Reservado para uso futuro. | 0x00 |
| 2 | O.Data[2] | Reservado | BYTE | Reservado para uso futuro. | 0x00 |
| 3 | O.Data[3] | Reservado | BYTE | Reservado para uso futuro. | 0x00 |
Bytes 4--5 -- ID de Receta
| Byte(s) | Dirección de Etiqueta PLC | Nombre de Etiqueta | Tipo de Datos | Descripción | Valor Predeterminado |
|---|---|---|---|---|---|
| 4--5 | O.Data[4]--O.Data[5] | ID de Receta | UINT (16-bit) | El ID de la receta a la que cambiar. Escriba el número de receta deseado aquí antes de establecer 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] | Datos Personalizados para Node-RED | BYTE[] | Datos definidos por el usuario que los flujos de Node-RED pueden leer. Utilice esta región para pasar números de serie, umbrales, IDs de piezas 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 (OV80i → 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 Ensamblaje de Salida (PLC → OV80i)
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 de ROI (Bytes 16--55)
Cuando se utiliza el bloque Format Data for PLC de Node-RED con recetas de clasificación, los bytes 16+ del Ensamblaje de Entrada se completan 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 | ALTO si el alineador localizó correctamente la pieza. |
| 17--18 | I.Data[17]--I.Data[18] | Confianza del Alineador | UINT (16-bit) | Puntaje de confianza de la alineación (0--65535). |
| 19--20 | I.Data[19]--I.Data[20] | Ángulo del Alineador | INT (16-bit, signed) | Ángulo coincidente relativo a la plantilla. |
| 21--23 | I.Data[21]--I.Data[23] | Reservado (Alineador) | BYTE | Reservado para futuros datos del alineador. |
Bloques de Resultados de 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 | ID de ROI | UINT8 (8-bit) | Identificador numérico único del ROI. |
| +1, bit 0 | Aprobación de ROI | BOOL | ALTO = este ROI pasó, BAJO = este ROI falló. |
| +2 a +3 | Confianza de ROI | UINT (16-bit) | Puntaje de confianza para la clasificación de este ROI (0--65535). |
| +4 a +7 | Reservado | BYTE | Reservado para futuros datos por ROI. |
Direcciones de inicio de ROI:
| ROI | Byte de Inicio | Rango de Dirección PLC | Dirección ID | Dirección de Aprobación | 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 del Búfer
Visualización de Etiquetas Predeterminadas en la IU de la Cámara
El diseño de etiquetas predeterminado 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 del OV80i.
- Vaya a Ethernet Industrial 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 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 agregue el módulo de la cámara en Studio 5000 o TIA Portal, los tamaños de ensamblaje de estos archivos de 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/resultados predeterminadas) entre la cámara y el PLC, utilice el bloque de Node-RED "Formato de Datos para PLC":
- Abra Node-RED desde la interfaz web de la cámara (navegue hasta el editor de Node-RED).
- En su flujo de receta, coloque el nodo "Formato de Datos para PLC" entre el nodo "Todos los Datos de Salida de Bloques" y el nodo "Enviar Datos al PLC".
- Configure el orden de los bytes:
- Little-endian para PLCs Allen-Bradley / Rockwell
- Big-endian para PLCs Siemens
- El bloque formatea automáticamente los resultados de ROI de clasificación en el diseño estructurado comenzando en el byte 16 del Ensamblaje de Entrada (consulte la sección Detalle del Ensamblaje de Resultados de ROI anterior).
Para búferes de datos completamente personalizados (sin utilizar el formato de ROI predeterminado):
- En su flujo de Node-RED, utilice un nodo Function para construir un búfer
msg.payloadcon el diseño de bytes deseado. - Conéctelo al nodo "Enviar Datos al PLC".
- Sus bytes personalizados poblarán el Ensamblaje de Entrada comenzando en el byte 16.
- En el lado del PLC, lea las direcciones correspondientes
I.Data[16]a través deI.Data[256].
Cambio de Asignaciones de Etiquetas
Las etiquetas principales (bytes 0--15 del Ensamblaje de Entrada y bytes 0--5 del Ensamblaje de Salida) están fijas por el firmware de la cámara y no se pueden reasignar. Estas son las señales a nivel de sistema (disparador, cambio de receta, estado, errores, ID de receta e ID de inspección).
La región configurable es:
- Bytes del Ensamblaje de Entrada 16--256: Poblados por Node-RED. Usted controla qué datos van aquí configurando su flujo de Node-RED. El bloque "Formato de Datos para PLC" llena esto con resultados de ROI por defecto, o puede escribir datos arbitrarios utilizando nodos Function.
- Bytes del Ensamblaje de Salida 6--256: Leídos por Node-RED. Puede escribir cualquier dato del PLC en estos bytes, luego leerlos en su flujo de Node-RED utilizando los nodos de entrada apropiados. Esto es útil para enviar números de serie, IDs de lote, umbrales u otros parámetros del PLC a la cámara.
Envío de Datos Personalizados del PLC a la Cámara (Ensamblaje de Salida)
Para pasar datos personalizados del PLC a Node-RED:
- En su programa PLC, escriba valores en
O.Data[6]a través deO.Data[256]. - En Node-RED en la cámara, utilice los nodos de datos de entrada del PLC para leer esos bytes.
- Utilice los valores en su lógica de flujo (por ejemplo, umbrales, números de serie, parámetros condicionales).
Referencia Rápida: Hoja de Trucos de Direcciones de Etiquetas
La tabla a continuación resume las etiquetas más comúnmente 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 activar |
I.Data[0].1 | Cámara → PLC | Trigger Acknowledge | Desbloquee el trigger después de que esto esté en ALTO |
I.Data[0].2 | Cámara → PLC | Recipe Switch Ack | Desbloquee la solicitud de receta después de que esto esté en ALTO |
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 errores de trigger |
I.Data[1].1 | Cámara → PLC | Recipe Switch Error | Monitoree errores de cambio de receta |
I.Data[1].6 | Cámara → PLC | Busy | No envíe comandos mientras esté en ALTO |
I.Data[2].0 | Cámara → PLC | Exposure Complete | Imagen capturada |
I.Data[2].1 | Cámara → PLC | Result Available | Seguro para leer pasar/fallar |
I.Data[2].2 | Cámara → PLC | Inspection Pass | ALTO = Pasar, BAJO = Fallar |
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 resultados con triggers |
O.Data[0].0 | PLC → Cámara | Trigger Request | Mantenga en ALTO para activar |
O.Data[0].1 | PLC → Cámara | Recipe Switch Request | Mantenga en ALTO para cambiar receta |
O.Data[4]--O.Data[5] | PLC → Cámara | Recipe ID | Establezca 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 |