Profinet Guide

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

Examples are valid for:
CB3 Software version: 3.3
e-Series Software version: 5.1
Note that newer software versions may behave differently.



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


I/O Message Format

  • An overview of the IO format and how the data is split into modules is found in the file pn-iomessage.pdf

The Robot has 10 pluggable modules: 7 modules contain the data that can be read from the robot, and 3 modules contain data that can be set on the robot. All modules are optional, but are fixed to a specific slot according to their names: e.g. the UR_3_T2O_Joints can be plugged into slot 3, contain data from the robot (T) to the PLC (O), namely joint measurements.

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

User-defined Data Types

  • For PLCs S7-1200 and S7-1500 (PLC Firmware v4.0 or higher): UR_datastruct.udt (can be imported into TIA Portal)
  • For PLCs S7-200, S7-300 and S7-400: URI.AWL, URO.AWL (can be imported into SIMATIC Step 7 V5.5 and TIA Portal)

The UDT/AWL files contain user-defined data types and can be used to import the message format.

Note: If you import the UR data structure (the .udt file) and only plug in some of the modules, make sure to use the right  user defined data types and match the input address (I) or output address (Q) of the module with the address of the data types in the tag table. This is also necessary if you drag the modules in "out of order", e.g. the module to slot 5 before the module to slot 2.

Pluggable _modules _addresses


Script functions in polyscope

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)  


The lower range (bool[0:64], int[0:23], float[0:23]) of the gp input and output registers is reserved for FieldBus/PLC interface usage. The upper range (bool[64:127], int[23:47], float[23:47]) can be used by external RTDE clients (i.e URCAPS). If you change the IP of the robot in Network Settings while PROFINET is enabled, you need to disable PROFINET and enable it again before the changes take effect. If the IP of the robot is changed using external PROFINET tools, e.g. through the TIA software, the changes will take effect immediately.


Enable Profinet in UR robot

  1. Enable PROFINET in the Installation tab. Remember to save the installation afterwards for the changes to take effect the next time the installation is loaded.


        2. The yellow LED indicates that PROFINET is running on the robot but no PLC/IO controller is                               connected to the robot.


          3.When the robot has connection to the PLC/IO controller the LED will turn to green state.


Setup Profinet in TIA portal 

This guide is for experienced users of Siemens TIA portal.

  1. Install the Universal Robots' GSD file into the TIA portal.   


       2. Add the URIODEV1 device to the network and connect the URIODEV1 device to the PLC.

                                                                                                                                                                             PN_robot_not assigned


       3. On the URIODEV1 device, click the blue "not assigned" text and assign the device name robot to the                PLC.



       4. Set the Ip address and PROFINET device name in the properties of the robot device. The device name letters are lower case.
           The IP address of the robot is visible in the setup screen of the robot.  


         5. Add the desired input/output modules from the hardware catalog to the URIODev1 device interface.



         6. Download the Hardware configuration to the PLC.

         7. Go online on the PLC.

         8. Click the online & diagnostics for the UR robot to assign a device name to the robot.


           9. Now the PLC and robot are connected.



Setup for Simatic Step7 V5.5

This guide is for experienced users of Simatic Step7 V5.5

  1. In the hardware config screen install the GSD file.

  2. In the Properties of the PLC under the tab Cycle/Clock Mermory, set the size of the process image input/output area to match your I/O area.

  3. Rightclick on the UR robot profinet node and assign the same device name as the robot has in Profinet settings. Remember to add the 10 pluggable I/O modules into the slots of the robots module.


  4. Save and compile the hardware configuration and download the configuration to the module.

  5. Click the Offline <--> ONLINE tab to see if the UR robot is connected to the PLC.

  6. Now the PLC is connected to the robot.