Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Detalles de Comunicación PLC (EtherNet/IP)

El sistema de visión OV20i soporta 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 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 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 (OV20i → PLC)

El ensamblaje de entrada contiene datos enviados desde el OV20i 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 OV20i

Ensamblaje de Salida (PLC → OV20i)

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

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

Comportamiento de Temporización y Handshake

Diagrama de Temporización de Activación 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 flags externos, 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 se ajustan a 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 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 Formato de Datos para PLC

  • Poblado automáticamente una región ROI estructurada 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 OV20i


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 las Etiquetas por Defecto en la IU de la Cámara

  1. Abra la interfaz web del OV20i (por ejemplo, http://192.168.1.100).
  2. Navegue a Ethernet Industrial 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 la 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 (OV20i → 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 inicio)
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 → OV20i)

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 DisparoBOOLEstablezca en ALTO para disparar una inspección. Mantenga hasta que el Reconocimiento de Disparo (I.Data[0].1) se ponga en ALTO, luego desactive.0
1O.Data[0].1Solicitud de Cambio de RecetaBOOLEstablezca en ALTO para solicitar un cambio de receta al ID en O.Data[4]. Mantenga hasta que el Reconocimiento de Cambio de Receta (I.Data[0].2) se ponga en ALTO, luego desactive.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 DatosDescripció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. Use 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 (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 Ensamblaje de Salida (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 del Ensamblaje de Resultados de ROI (Bytes 16--55)

Cuando se utiliza el bloque Format Data for PLC en Node-RED 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 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)Puntuación 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 datos futuros 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 aprobó, BAJO = este ROI falló.
+2 a +3Confianza de ROIUINT (16-bit)Puntuación de confianza para la clasificación de este ROI (0--65535).
+4 a +7ReservadoBYTEReservado para datos futuros 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 Buffer

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 OV20i.
  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 agrega 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 Buffer 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 "Datos de Salida de Todos los 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 clasificación ROI en el diseño estructurado comenzando en el byte 16 del Ensamblaje de Entrada (consulte la sección Detalle del Ensamblaje de Resultados ROI anterior).

Para buffers de datos completamente personalizados (sin usar el formato ROI predeterminado):

  1. En su flujo de Node-RED, utilice un nodo Function para construir un buffer 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 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 ReadyVerificar antes de activar
I.Data[0].1Cámara → PLCTrigger AcknowledgeDesbloquear trigger después de que este se active
I.Data[0].2Cámara → PLCRecipe Switch AckDesbloquear solicitud de receta después de que este se active
I.Data[0].7Cámara → PLCOnline / Startup CompleteConfirmar que la cámara ha iniciado
I.Data[1].0Cámara → PLCTrigger ErrorMonitorear fallos de trigger
I.Data[1].1Cámara → PLCRecipe Switch ErrorMonitorear fallos de cambio de receta
I.Data[1].6Cámara → PLCBusyNo enviar comandos mientras esté activo
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 = Aprobado, LOW = Fallido
I.Data[8]--I.Data[9]Cámara → PLCCurrent Recipe IDVerificar receta después del cambio
I.Data[12]--I.Data[13]Cámara → PLCInspection IDCorrelacionar resultados con triggers
O.Data[0].0PLC → CámaraTrigger RequestMantener HIGH para activar
O.Data[0].1PLC → CámaraRecipe Switch RequestMantener HIGH para cambiar receta
O.Data[4]--O.Data[5]PLC → CámaraRecipe IDEstablecer 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