Saltar al contenido principal

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.

Guía en Video

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

nota

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.

Diseño de bytes y bits del ensamblaje de entrada del OV80i

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.

Diseño de bytes y bits del ensamblaje de salida del OV80i

Comportamiento de Temporización y Handshake

Diagrama de Temporización de Activación EtherNet/IP

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

Ejemplo de Flujo de Node-RED para Formatear Datos para PLC

  • 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
aviso

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

Diseño de bytes y bits del ensamblaje de salida del OV80i


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

  1. Abra la interfaz web del OV80i (por ejemplo, http://10.250.0.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, incluyendo tamaños de datos de entrada/salida y el estado de conexión.
  5. 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

BitDirección de Etiqueta PLCNombre de EtiquetaTipo de DatoDescripciónValor por Defecto
0I.Data[0].0Trigger ReadyBOOLLa 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)
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 en ALTO después del arranque)

Byte 1 -- Indicadores de Error y Estado

BitDirección de Etiqueta PLCNombre de EtiquetaTipo de DatoDescripciónValor por Defecto
0I.Data[1].0Trigger ErrorBOOLOcurrió un error durante el ciclo de disparo. Se mantiene hasta que se borre.0
1I.Data[1].1Recipe Switch ErrorBOOLOcurrió un error durante el cambio de receta. Se mantiene 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é en ALTO.0

Byte 2 -- Indicadores de Resultado de Inspección

BitDirección de Etiqueta PLCNombre de EtiquetaTipo de DatoDescripciónValor por Defecto
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 terminado y los resultados son válidos.0
2I.Data[2].2Inspection PassBOOLResultado 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 PLCNombre de EtiquetaTipo de DatoDescripciónValor por Defecto
3I.Data[3]ReservadoBYTEReservado para uso futuro.0x00
4I.Data[4]ReservadoBYTEReservado para uso futuro.0x00
5I.Data[5]ReservadoBYTEReservado para uso futuro.0x00
6--7I.Data[6]--I.Data[7]ReservadoBYTEReservado para uso futuro.0x00

Bytes 8--9 -- ID de Receta Actual

Byte(s)Dirección de Etiqueta PLCNombre de EtiquetaTipo de DatosDescripciónValor Predeterminado
8--9I.Data[8]--I.Data[9]ID de Receta ActualUINT (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 PLCNombre de EtiquetaTipo de DatosDescripciónValor Predeterminado
10--11I.Data[10]--I.Data[11]ReservadoBYTEReservado para uso futuro.0x00

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

Byte(s)Dirección de Etiqueta PLCNombre de EtiquetaTipo de DatosDescripciónValor Predeterminado
12--13I.Data[12]--I.Data[13]ID de InspecciónUINT (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 PLCNombre de EtiquetaTipo de DatosDescripciónValor Predeterminado
14--15I.Data[14]--I.Data[15]ReservadoBYTEReservado para uso futuro.0x00

Bytes 16--256 -- Ensamblaje de Resultados de ROI / Datos Personalizados de Node-RED

Byte(s)Dirección de Etiqueta PLCNombre de EtiquetaTipo de DatosDescripciónValor Predeterminado
16--256I.Data[16]--I.Data[256]Resultados de ROI / Datos PersonalizadosBYTE[]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

BitDirección de Etiqueta PLCNombre de EtiquetaTipo de DatosDescripciónValor Predeterminado
0O.Data[0].0Solicitud de DisparoBOOLEstablecer 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
1O.Data[0].1Solicitud de Cambio de RecetaBOOLEstablecer 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 PLCNombre de EtiquetaTipo de DatosDescripciónValor Predeterminado
1O.Data[1]ReservadoBYTEReservado para uso futuro.0x00
2O.Data[2]ReservadoBYTEReservado para uso futuro.0x00
3O.Data[3]ReservadoBYTEReservado para uso futuro.0x00

Bytes 4--5 -- ID de Receta

Byte(s)Dirección de Etiqueta PLCNombre de EtiquetaTipo de DatosDescripciónValor Predeterminado
4--5O.Data[4]--O.Data[5]ID de RecetaUINT (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 PLCNombre de EtiquetaTipo de DatoDescripciónValor Predeterminado
6--256O.Data[6]--O.Data[256]Datos Personalizados para Node-REDBYTE[]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 PLCNombre de EtiquetaTipo de DatosDescripción
16, bit 0I.Data[16].0Éxito del AlineadorBOOLALTO si el alineador localizó correctamente la pieza.
17--18I.Data[17]--I.Data[18]Confianza del AlineadorUINT (16-bit)Puntaje de confianza de la alineación (0--65535).
19--20I.Data[19]--I.Data[20]Ángulo del AlineadorINT (16-bit, signed)Ángulo coincidente relativo a la plantilla.
21--23I.Data[21]--I.Data[23]Reservado (Alineador)BYTEReservado 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 bloqueNombre de EtiquetaTipo de DatosDescripción
+0ID de ROIUINT8 (8-bit)Identificador numérico único del ROI.
+1, bit 0Aprobación de ROIBOOLALTO = este ROI pasó, BAJO = este ROI falló.
+2 a +3Confianza de ROIUINT (16-bit)Puntaje de confianza para la clasificación de este ROI (0--65535).
+4 a +7ReservadoBYTEReservado para futuros datos por ROI.

Direcciones de inicio de ROI:

ROIByte de InicioRango de Dirección PLCDirección IDDirección de AprobaciónDirecció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 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:

  1. Abra la interfaz web del OV80i.
  2. Vaya a Ethernet Industrial 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 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":

  1. Abra Node-RED desde la interfaz web de la cámara (navegue hasta el editor de Node-RED).
  2. 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".
  3. Configure el orden de los bytes:
    • Little-endian para PLCs Allen-Bradley / Rockwell
    • Big-endian para PLCs Siemens
  4. 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):

  1. En su flujo de Node-RED, utilice un nodo Function para construir un búfer msg.payload con el diseño de bytes deseado.
  2. Conéctelo al nodo "Enviar Datos al PLC".
  3. Sus bytes personalizados poblarán el Ensamblaje de Entrada comenzando en el byte 16.
  4. En el lado del PLC, lea las direcciones correspondientes I.Data[16] a través de I.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:

  1. En su programa PLC, escriba valores en O.Data[6] a través de O.Data[256].
  2. En Node-RED en la cámara, utilice los nodos de datos de entrada del PLC para leer esos bytes.
  3. 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 PLCDirecciónNombre de SeñalUso
I.Data[0].0Cámara → PLCTrigger ReadyVerifique antes de activar
I.Data[0].1Cámara → PLCTrigger AcknowledgeDesbloquee el trigger después de que esto esté en ALTO
I.Data[0].2Cámara → PLCRecipe Switch AckDesbloquee la solicitud de receta después de que esto esté en ALTO
I.Data[0].7Cámara → PLCOnline / Startup CompleteConfirme que la cámara se haya iniciado
I.Data[1].0Cámara → PLCTrigger ErrorMonitoree errores de trigger
I.Data[1].1Cámara → PLCRecipe Switch ErrorMonitoree errores de cambio de receta
I.Data[1].6Cámara → PLCBusyNo envíe comandos mientras esté en ALTO
I.Data[2].0Cámara → PLCExposure CompleteImagen capturada
I.Data[2].1Cámara → PLCResult AvailableSeguro para leer pasar/fallar
I.Data[2].2Cámara → PLCInspection PassALTO = Pasar, BAJO = Fallar
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 resultados con triggers
O.Data[0].0PLC → CámaraTrigger RequestMantenga en ALTO para activar
O.Data[0].1PLC → CámaraRecipe Switch RequestMantenga en ALTO para cambiar receta
O.Data[4]--O.Data[5]PLC → CámaraRecipe IDEstablezca 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