Ethernet IP guide - 18712


This is an Ethernet IP guide to help you when using this with Universal Robots.

NOTE: All files are avalable for download at the bottom of this page.

Examples are valid for:
CB3 Software version: 3.2.18654
Note that newer software versions may behave differently.

These examples can be used on CB3/CB3.1 from software 3.2


Specifications

Here is an overview of some important information to get started. 

PLC (used in example)

  • Allen-Bradley Compact Logix L16ER
    • Studio 5000 Logix Designer

Note: UR only supports Ethernet/IP Class 1 implicit or "I/O" messaging, not Ethernet/IP Class 3 explicit or "client/server" messaging.

Robot

  • UR3, UR5, & UR 10 running Polyscope v. 3.2 

Sample Programs:

The files listed are available for download at the bottom of this page and are used in the example (ACD project files are compatible with Logix Designer v.24):

  • UR.ACD
  • ur-eip-demo.urp

Conveyor Tracking example:

  • EIP_conveyor_example.ACD
  • UR-EIP-conveyor-tracking.urp 

EDS file:

  • UniversalRobot.eds 

User-defined Data Types:

  • UR_DataTypes.L5X 

Note: The L5X file contains user-defined data types and can be used to import the message format into Rockwell Studio 5000 Logix Designer

I/O Message Format:

  • eip-iomessage.pdf

Note: When using output registers, it is important to set the mask accordingly. 

Script

Script Functions for synchronizing a program with a PLC:

  • read_input_boolean_register(address)
  • read_input_float_register(address)
  • read_input_integer_register(address)
  • read_output_boolean_register(address)
  • read_output_float_register(address)
  • read_output_integer_register(address)
  • write_output_boolean_register(address, value)
  • write_output_float_register(address, value)
  • write_output_integer_register(address, value)  

Trouble Shooting

  • It is important to consider and set an RPI value that corresponds with the requirements of the installation. The valid range of RPI is 2ms - 3200ms where a smaller value means more frequent data synchronization but also requires more resources from the PLC, Robot and Network.
  • If you experience connection issues between a scanner and the robot make sure that you have configured the scanner for unicast connection (point-to-point) and that you have sufficient network bandwidth between the scanner, the Robot and other devices to avoid colliding packets etc. 

Setup

This guide gives step-by-step instruction on how to start using Ethernet/IP with Universal Robots or watch the video

Video: How to connect your UR robot to an Allen Bradley PLC

1. ROBOT: Enable Ethernet/IP in the Installation tab. Remember to save the installation afterwards for the changes to take effect the next time the installation is loaded.

Eip1

2. ROBOT: The yellow LED indicates Ethernet/IP is running on the robot but no PLC/scanner is connected to the robot

Eip2

3. PLC: Open UR.ACD project in Studio 5000 Logix Designer. If your version of Logix Designer is incompatible with the project file (i.e. older than v.24), you can create a new project and import the user-defined data types from the UR_DataTypes.L5X file.

4. PLC: Navigate to I/O Configuration -> Ethernet -> Ethernet-Module UR

5. PLC: Set IP Address of Robot and Press "Apply"

Eip3

 

6. PLC: Navigate to "Connection" Tab and ensure that the RPI matches your requirements and that the check box next to "Use Unicast Connection over Ethernet/IP" is checked.

Eip4

 

7. PLC: Download the program to the PLC

Eip5

8. PLC: Confirm that "I/O OK" is solid green

Eip6

9. ROBOT: Confirm that LED in Installation tab is also green

Eip7

10. PLC: Navigate to Tasks -> Main Task -> Main Program -> Parameters and Local Tags

11. PLC: Navigate to URI -> URI.Robot inspect values sent from the robot

Eip8

Demo

This demo is provided to show a basic example of how to communicate between the PLC and Robot. The demo allows the user to set two numbers in PLC output registers. The robot retrieves the numbers, calculate their sum and stores the result in a PLC input register.

1. ROBOT: Open ur-eip-demo.urp 

Eip9

2. ROBOT: Run program

3. ROBOT: Navigate to variables tab

4. PLC: Set integer registers URO.Int.Registers[0] and URO.Int.Registers[1] to some values

Eip10

5. ROBOT: Go to the Variables tab and confirm that the numbers are received

6. PLC: Validate that the URI.Int.Registers[0] contains the sum

Eip11