Descarga
Esta aplicación integra un cobot Universal Robots UR5 con un controlador Allen-Bradley CompactLogix 5480 mediante EtherNet/IP. El CompactLogix funciona como originator/scanner de la conexión y el UR5 como target/adapter, permitiendo un intercambio cíclico de datos de proceso entre ambos controladores.
La implementación mostrada en esta guía se desarrolló con un CompactLogix 5069-L4200ERMW conectado por su interfaz LAN B1, un switch Stratix 5700, un UR5 CB-Series con PolyScope 3 y una estación de ingeniería con Studio 5000 Logix Designer. La guía valida tanto la lectura de información del robot hacia el PLC como el envío de datos desde el PLC hacia el UR5.
¿Qué hace esta aplicación?
El objetivo es proporcionar una referencia práctica y reutilizable para integrar un UR5 dentro de una máquina o celda automatizada gobernada por Logix. La conexión permite supervisar estados del robot, posiciones articulares, información TCP, señales de I/O y registros generales, además de transferir comandos o parámetros desde el CompactLogix hacia un programa de PolyScope.
Tenga en cuenta: deberá aceptar los Términos y Condiciones para cada descarga.
¿Necesita ayuda?
Si necesita ayuda con alguna aplicación o tiene comentarios acerca del Innovation Center, por favor contáctenos.
¿Esta aplicación es relevante para mí?
Esta aplicación es útil cuando el CompactLogix debe coordinar la secuencia general del proceso y el robot debe actuar como un subsistema dentro de la celda. Entre los beneficios principales se encuentran:
- Establecer una comunicación EtherNet/IP cíclica y estandarizada entre CompactLogix y Universal Robots.
- Leer desde el PLC estados del robot, modos de operación, variables de seguridad, joints, TCP, I/O y registros generales.
- Enviar parámetros, comandos y valores de prueba desde Studio 5000 hacia un programa de PolyScope.
- Crear una base reutilizable para handshakes de Ready, Busy, Done, Fault, selección de receta o selección de tarea.
- Facilitar el diagnóstico al disponer de información del robot directamente en Controller Tags.
¿Cómo puedo hacerlo funcionar?
Requisitos: productos, herramientas, conocimientos previos.
Hardware
- CompactLogix 5480 (5069-L4200ERMW)
- Universal Robots UR5 CB-Series
- Allen-Bradley Stratix 5700
- Engineering Workstation (Windows, Ethernet 192.168.1.167)
Software
- Studio 5000 Logix Designer v37.x
- PolyScope 3.15.4
- UR_DataTypes.L5X
Conocimiento previos
- Conocimientos Basicos Studio 5000 Logix Designer y FactoryTalk Linx.
- Conceptos Basicos EtherNet/IP.
- Operación básica Universal Robots PolyScope 3.
Enlaces de interés (internos o externos)
- https://www.rockwellautomation.com/en-us/products/software/factorytalk/designsuite/studio-5000/studio-5000-logix-designer.html
- https://literature.rockwellautomation.com/idc/groups/literature/documents/um/5069-um002_-en-p.pdf
- https://compatibility.rockwellautomation.com/
- https://www.universal-robots.com/articles/ur/interface-communication/ethernet-ip-guide/
- https://www.universal-robots.com/download/manuals-cb-series/user/ur5/
Guía de Implementación
- Introducción
- Paso 1
- Paso 2
- Paso 3
- Paso 4
- Paso 5
- Paso 6
- Paso 7
- Paso 8
- Paso 9
- Paso 10
- Paso 11
- Paso 12
- Resultado
Para reproducir la aplicación se requiere el siguiente entorno de hardware y software.
Revisión del controlador y compatibilidad de software
- El Controlador CompactLogix 5480 requiere Studio 5000 Logix Designer v32.01 o posterior. A su vez se debe de disponer de firmware v32.012 como revisión base de la generación. Para esta práctica el controlador físico fue identificado con revisión 37.013, por lo que se recomienda utilizar Studio 5000 v37.x y crear el proyecto con la misma revisión mayor del controlador para evitar incompatibilidades durante la descarga.
IMPORTANTE: Si la revisión instalada en el controlador no está disponible en Studio 5000, instale el soporte de esa revisión o evalúe un cambio de firmware. Un proceso de flash no debe interrumpirse por pérdida de energía o comunicación, ya que puede dejar el controlador fuera de servicio.
SEGURIDAD: Los estados de Safety recibidos por EtherNet/IP son útiles para diagnóstico y lógica de supervisión, pero la conexión EtherNet/IP estándar descrita aquí no sustituye las funciones de seguridad cableadas o safety-rated requeridas por la evaluación de riesgos de la celda.
Los pasos siguientes documentan la configuración completa utilizada para establecer y validar comunicación bidireccional entre el CompactLogix y el UR5. Las imágenes se presentan en el mismo orden de ejecución y cada una cuenta con una identificación consecutiva para facilitar su referencia durante la práctica.
En Controller Tags > Monitor Tags, expanda URI.Robot. En la prueba se observaron Controller Major = 3 y Controller Minor = 15, coherentes con PolyScope 3.15.4. El valor Robot_Mode = 5 corresponde al estado IDLE del robot en esta condición de prueba. Esta coincidencia confirma que el CPS está alineando correctamente el mapa de bytes con los UDTs.
Las ramas más útiles para supervisión son las siguientes:
Grupo |
Información principal |
Por qué es importante |
|---|---|---|
URI.Robot |
Versión, Robot Mode, estado de programa, corriente y speed slider. |
Permite conocer el estado general y validar que el robot está en un modo esperado antes de coordinar una secuencia. |
URI.Safety |
Safety Mode y bits de Normal, Reduced, Protective Stop, E-Stop, Safeguard, Fault, etc. |
Facilita diagnóstico e interlocks de proceso. No sustituye una función de seguridad certificada. |
URI.Joints |
Posición, velocidad, corriente, temperatura y modo de los seis joints. |
Permite verificar movimiento, posición articular y condiciones de cada eje. |
URI.TCP |
Posición XYZ, orientación RX/RY/RZ, velocidad, fuerza y torque TCP. |
Permite supervisar la pose cartesiana de la herramienta y coordinar la aplicación con la máquina. |
URI.IO / URI.Tool |
Entradas, salidas y señales de herramienta. |
Útil para diagnóstico y para compartir estados de sensores o actuadores del robot. |
URI.Bit / URI.Int / URI.Float |
Registros generales de fieldbus. |
Canal flexible para handshakes, recetas, comandos y parámetros entre PLC y PolyScope. |
Regrese al nivel principal de URI y revise las ramas disponibles: Robot, Safety, I/O, Tool, Joints, TCP, Bit, Int y Float. Estas estructuras organizan los datos recibidos del robot y facilitan su uso en lógica de control y diagnóstico.
ethernet-ip-integration-between-compactlogix-and-ur5-cobot_56_URI_Data_Groups
Para transmitir datos hacia el robot, agregue un segundo CPS que copie la estructura URO hacia el assembly de salida. Durante la preparación inicial se recomienda colocar un AFI antes del CPS para mantener la escritura deshabilitada hasta completar el programa de prueba en PolyScope.
AFI -> CPS |
Para preparar la dirección CompactLogix → UR5, vuelva a MainRoutine e inserte un segundo rung. Coloque temporalmente un AFI al inicio del rung y agregue después un CPS; el AFI mantendrá deshabilitada la copia de salida mientras se termina la configuración.
ethernet-ip-integration-between-compactlogix-and-ur5-cobot_57_CPS_Output_with_AFI.png
Configure el segundo CPS con Source = URO, Dest = UR5:O.Data[0] y Length = 224. Mantenga el AFI delante de la instrucción para evitar que el PLC empiece a escribir el assembly de salida antes de crear el programa de prueba en el UR5.
ethernet-ip-integration-between-compactlogix-and-ur5-cobot_58_CPS_Output_Config.png
El valor 224 corresponde a los 224 SINT/bytes del Output Assembly configurado en el Generic Ethernet Module. Mientras el AFI esté presente, los valores preparados en URO no se copiarán a UR5:O.Data[].
En Studio 5000 cree un Controller Tag BOOL llamado UR_Enable_Write. Sustituya el AFI del rung de salida por un XIC asociado a ese tag. De este modo la escritura hacia el UR5 puede habilitarse o bloquearse sin modificar la lógica durante las pruebas.
En Studio 5000 abra Controller Tags y cree un nuevo tag de tipo BOOL llamado UR_Enable_Write. Este bit se utilizará como permiso explícito para habilitar o bloquear la escritura desde el CompactLogix hacia el UR5.
ethernet-ip-integration-between-compactlogix-and-ur5-cobot_68_UR_Enable_Write_Tag.png
Regrese a MainRoutine y sustituya el AFI del rung de salida por un XIC asociado a UR_Enable_Write. Deje inicialmente el bit en 0 para que el CPS de salida permanezca deshabilitado hasta el momento de la prueba.
ethernet-ip-integration-between-compactlogix-and-ur5-cobot_69_UR_Enable_Write_XIC.png
XIC UR_Enable_Write -> CPS |
IMPORTANTE: Antes de habilitar UR_Enable_Write, mantenga en cero los masks de Speed Slider y de salidas físicas dentro de URO si no desea tomar control de esos recursos. Para esta prueba solo se modifica URO.Int.Registers[23].
Descargue el proyecto, deje el controlador en Remote Run y escriba el valor 123 en URO.Int.Registers[23].
Descargue el proyecto actualizado, coloque el controlador en Remote Run y abra Controller Tags > Monitor Tags. Expanda URO.Int.Registers y escriba el valor 123 en URO.Int.Registers[23], manteniendo todavía UR_Enable_Write en 0.
ethernet-ip-integration-between-compactlogix-and-ur5-cobot_70_URO_Int_Register23.png
La aplicación final establece comunicación EtherNet/IP bidireccional entre un CompactLogix 5480 y un UR5 CB-Series. El PLC recibe y decodifica información del robot mediante URI y puede transmitir registros hacia PolyScope mediante URO. La prueba con el registro entero 23 demuestra que la configuración de red, los assemblies, los UDTs y las instrucciones CPS trabajan de forma coherente.
Validación |
Resultado esperado |
|---|---|
Conectividad IP |
PLC, UR5 y PC accesibles en la red 192.168.1.x. |
EtherNet/IP UR5 |
Adapter: Connected e indicador verde. |
Studio 5000 |
Controller OK e I/O OK. |
UR5 → PLC |
URI.Robot, URI.Safety, URI.Joints y URI.TCP muestran datos válidos. |
PLC → UR5 |
PLC_Value cambia al valor escrito en URO.Int.Registers[23] cuando UR_Enable_Write está activo. |
A partir de esta base se pueden implementar handshakes de aplicación como Ready, Start, Busy, Done, Fault, selección de receta o selección de tarea. Para una integración de producción se recomienda separar claramente los registros asignados a cada función, documentar el handshake y validar el comportamiento ante pérdida de comunicación, reinicios y estados de seguridad.
Integración mediante EtherNet/IP entre CompactLogix y Cobot UR5
Versión 1.0 - Septiembre de 2026