Problem Overview
When integrating a Universal Robots UR3e collaborative robot as a PROFINET IO device on a Siemens SIMATIC S7-1200 PLC (specifically the CPU 1214C), the most common commissioning failure is the UR3e Head module and its sub-modules (Standard I/O, Tool I/O, etc.) failing to appear in the TIA Portal device view or returning a "module not reachable" diagnostic status. The PLC establishes a PROFINET AR (Application Relationship) to the robot controller, but the slot-level I/O data exchange never completes, leaving the robot unable to read cycle-start, digital inputs, or write digital outputs from/to the PLC.
This failure is rarely caused by a single misconfiguration. It is typically the sum of three or more issues: an unresolved GSDML import, a sub-net mask that splits the robot and PLC into different broadcast domains, and I/O slot indices that collide with the PLC's own internal slot assignment. The sections that follow dissect each layer, provide the correct parameter values, and walk through the verification steps that prove the link is healthy.
Prerequisites and Required Files
Before opening TIA Portal, confirm the following items are available on the engineering station:
- TIA Portal V16 or newer (V17/V18 recommended). The PROFINET device description for the UR3e requires TIA V14 SP1 minimum, but the newer the TIA version the more complete the slot/module catalog.
- SIMATIC S7-1200 CPU 1214C firmware V4.4 or newer. Firmware V4.2 has known issues with multi-slice PROFINET devices; V4.4 or later resolves those and supports the UR3e GSDML revision 2.x.
-
Universal Robots GSDML file for the UR3e. The file is delivered as
UR-Universal Robots-XXXXX.xmland is shipped with PolyScope 5.x (typically 5.6 or newer) or downloaded from the Universal Robots support site. Do not attempt to use the GSD from a UR5/UR10e that has not been re-issued for the e-Series controller. - PolyScope 5.x runtime on the UR3e teach pendant. For S7-1200 integration the PolyScope version should be at or above the GSDML revision it exports. Mismatches between PolyScope and the GSDML are a leading cause of "device reachable but modules red."
- Hardwired Ethernet connection between the CPU 1214C PROFINET port (X1) and the UR3e controller's PROFINET port. The PROFINET discovery mechanism uses LLDP and DCP, both of which do not traverse Wi-Fi, VPN, or unmanaged Layer-3 boundaries.
Network and Subnet Configuration
PROFINET IO requires the IO controller (CPU 1214C) and the IO device (UR3e) to share a single Layer-2 broadcast domain. The IP addressing scheme must satisfy two constraints:
-
Same subnet mask on every PROFINET node. The recommended mask for a single-cell robot cell is
255.255.255.0(/24) for small cells or255.255.0.0(/16) for cells that include remote I/O (ET200SP) on a wider plant network. A mask of255.255.255.0with the PLC at192.168.1.1and the UR3e at192.168.1.10is the most reliable starting point. - No translation between the two devices. If a router sits between the PLC and the robot, every PROFINET frame must be inspectable by the switch infrastructure. Disable the router, or use it only as a managed switch in unmanaged mode for the cell.
Recommended address plan:
| Node | IP Address | Subnet Mask | PROFINET Device Name |
|---|---|---|---|
| CPU 1214C (PROFINET X1) | 192.168.1.1 | 255.255.255.0 | plc1214c |
| UR3e controller | 192.168.1.10 | 255.255.255.0 | ur3e |
| Engineering PG/PC | 192.168.1.100 | 255.255.255.0 | pg-pc |
Assign the PROFINET device name via TIA Portal (Devices & Networks > UR3e > Properties > PROFINET interface > PROFINET device name) and then push it to the robot using Online > Accessible nodes > Assign PROFINET device name. A device that retains a stale PROFINET name (e.g. ur3e-old from a previous project) will appear in the accessible nodes list but will never establish a cyclic AR.
Installing the UR3e GSDML in TIA Portal
The GSDML is the XML-based device description that TIA Portal uses to render the UR3e slots, modules, and diagnostic data. Installation steps:
- Close all open TIA Portal projects.
- Open Options > Manage general station description files (GSD).
- Browse to the directory containing
GSDML-Vx.x-UR-UniversalRobots-YYYYMMDD.xml. - Select the file and click Install. TIA Portal will parse the file and register the device family "UR-Universal Robots".
- Restart TIA Portal. This forces the device catalog to refresh; the UR3e will appear under PROFINET IO > Additional field devices > Robotics > Universal Robots.
Configuring the UR3e Slots in the Device View
The UR3e exposes a multi-slot PROFINET interface. The default slot map for a UR3e controller is:
| Slot | Module | Direction | Length |
|---|---|---|---|
| 0 | Head module (UR3e PROFINET) | — | 0 bytes |
| 1 | Standard digital I/O (8 DI / 8 DO) | in/out | 2 / 2 bytes |
| 2 | Tool digital I/O (2 DI / 2 DO) | in/out | 1 / 1 byte |
| 3 | Analog I/O (2 AI / 2 AO) | in/out | 4 / 4 bytes |
| 4 | Register access (URScript variables) | in/out | 64 / 64 bytes |
| 5 | Cylinder/mass payload data | out | 16 bytes |
| CPU 1214C Firmware | TIA Portal | UR3e PolyScope | Status |
|---|---|---|---|
| V4.2 | V14 SP1 / V15 | 3.x / 5.0 | Limited; multi-slot issues |
| V4.4 | V16 / V17 | 5.5 / 5.6 | Recommended baseline |
| V4.5 | V17 / V18 | 5.7 / 5.10 | Recommended for new deployments |
| V4.6 | V18 | 5.12 / 5.14 | Latest tested, full module catalog |
Reference the official Siemens Industry Online Support for the CPU 1214C firmware update packages and the Universal Robots fieldbus documentation for the latest PROFINET installation guides. Also refer to the Siemens TIA Portal S7-1200 PROFINET configuration manual for the canonical device-configuration procedure.
Head Module Diagnostic Interpretation
When the Head module is reported as missing, the TIA Portal diagnostics buffer and the online device view display a fault code. The most common codes for the UR3e on a S7-1200 are:
| Diagnostic Code | Meaning | Likely Cause | Fix |
|---|---|---|---|
| 0x001E (Station failure) | AR lost or never established | Device name not assigned, MAC mismatch | Re-assign PROFINET name; verify MAC in TIA matches robot teach pendant |
| 0x002B (Module diff) | Configured module set differs from actual | GSDML revision mismatch with PolyScope | Reinstall matching GSDML; restart TIA Portal |
| 0x001F (PROFINET watchdog) | Cyclic I/O timeout | Update time too aggressive, network latency | Increase watchdog to 3 ms, reduce send clock to 1 ms |
| 0x0040 (Sub-module mismatch) | Slot order invalid | Gaps in slot numbers | Re-order slots sequentially starting at 1 |
| 0x001C (Parameter fault) | Record set rejected by device | I/O length exceeds UR3e capability | Reduce module count; check GSDML slot limits |
Open the diagnostics by selecting the UR3e in the online device view, then Online > Diagnostics > PROFINET diagnostics. The buffer lists the exact slot that failed, the record index, and the error specifier byte. Cross-reference the specifier with the PROFINET specification IEC 61158-6 to pinpoint the failing record.
Firewall, Port, and PCAP Considerations
Although PROFINET uses Ethernet, the IO controller-to-device traffic is not TCP/UDP in the traditional sense. It runs over real-time (RT) and isochronous real-time (IRT) channels mapped onto Ethernet type 0x8892 (PROFINET RT) and 0x88CC (LLDP). The following steps are essential when the engineering PC cannot see the UR3e:
- Disable the Windows Firewall on the PROFINET interface of the engineering PC, or add a rule that allows the PROFINET real-time multicast group (
01-0E-CF-00-00-00for PROFINET class B/C). - Disable any anti-virus or endpoint-protection package that performs deep packet inspection on industrial protocols (Kaspersky, Trend Micro, Symantec). These packages frequently corrupt PROFINET discovery frames.
- Confirm that the network adapter driver is set to High Performance and that energy-saving features (Green Ethernet, Energy Efficient Ethernet) are disabled. These features add variable latency and break real-time determinism.
- Verify the switch port is configured for auto-negotiation or, better, hard-set to 100 Mbit/s full-duplex. Auto-negotiation on industrial switches can produce 10 Mbit/s half-duplex fallback that breaks PROFINET.
I/O Address Planning for the UR3e
A common contributor to "Head module missing" is the implicit collision between the S7-1200 CPU's local I/O and the UR3e PROFINET slots. The CPU 1214C reserves the following ranges by default:
| Address Range | Owner |
|---|---|
| IB 0 .. IB 7 / QB 0 .. QB 7 | CPU 1214C onboard digital I/O |
| IW 64 .. IW 126 / QW 64 .. QW 126 | CPU 1214C onboard analog I/O |
| IB 100 .. IB 199 (recommended) | UR3e PROFINET Standard + Tool I/O |
| IB 200 .. IB 263 (recommended) | UR3e Register access (64 bytes) |
Re-mapping the UR3e modules to start at address 100 prevents silent overlap. The pattern also leaves a 100-byte address gap that accommodates future PLC expansion (signal modules, communication modules) without forcing a re-map of the UR3e.
Verification Procedure
- In TIA Portal, select the CPU 1214C and click Go online. The status icon should turn green for both the PLC and the UR3e.
- Open Online > Diagnostics > Device diagnostics for the UR3e. All configured slots must report OK with no fault code.
- In the watch table, force a known value into QB 100 (e.g.
16#0001) and verify that the corresponding Standard DO bit on the UR3e is set. Use the PolyScope I/O tab to confirm. - Read IB 100 from the UR3e Standard DI input and confirm the cycle status bit is reported correctly.
- Trigger a URScript program in the UR3e that writes a register, and read the same register from the PLC to confirm register access is bidirectional.
- Disconnect the PROFINET cable while the robot is running. The PLC should report Station failure within the configured watchdog time (typically 3 ms) and the safety logic should take the robot to a safe stop.
Troubleshooting Matrix
| Symptom | Most Likely Cause | Resolution |
|---|---|---|
| UR3e not visible in Accessible nodes | Wi-Fi or VPN between PC and robot | Hardwire PC to robot subnet |
| Device name empty | PROFINET name never assigned | Use TIA Portal "Assign PROFINET device name" |
| Head module red, slots empty | GSDML not installed or wrong revision | Reinstall GSDML matching PolyScope version |
| Head module OK, I/O modules red | I/O start address collision | Re-map modules to IB 100+ / QB 100+ |
| Diagnostics buffer 0x001E | Watchdog too short or network jitter | Increase watchdog to 3 ms, set send clock 1 ms |
| Diagnostics buffer 0x002B | Module catalog differs from physical device | Match PolyScope and GSDML; verify slot order |
| PCAP capture shows no PROFINET traffic | Firewall or EDR blocking frames | Disable firewall on PROFINET adapter, allow multicast |
| Intermittent connection drops | Green Ethernet / EEE enabled | Disable energy-saving on NIC and switch port |
| Robot does not start program on PLC trigger | Register access not configured | Insert Register access module at slot 4, write to input register |
Frequently Asked Questions
Why is the UR3e Head module reported as missing in TIA Portal?
The Head module is missing because either the GSDML is not installed, the PROFINET device name was never assigned to the robot controller, or the configured I/O start addresses collide with the S7-1200 CPU's local I/O. Install the matching GSDML, push the PROFINET name via Online > Assign PROFINET device name, and re-map the UR3e slots to start at IB 100 / QB 100.
What subnet mask should I use between a CPU 1214C and a UR3e?
Use 255.255.255.0 (/24) for a single robot cell, or 255.255.0.0 (/16) if the cell is part of a wider plant network with remote I/O. Both devices must share the same mask and be on the same Layer-2 broadcast domain; routers, NAT, and Wi-Fi bridges are not supported for PROFINET discovery.
Which TIA Portal and CPU 1214C firmware versions support the UR3e?
TIA Portal V16 or newer is required, and the CPU 1214C must be on firmware V4.4 or later. The recommended baseline is TIA V17/V18 with CPU firmware V4.5 and PolyScope 5.7 or newer. Mismatches between TIA, CPU firmware, and PolyScope are a common source of slot-level diagnostics errors.
Can I commission the UR3e PROFINET link over Wi-Fi?
No. PROFINET uses LLDP and DCP for device discovery, both of which require Layer-2 connectivity and are blocked by most Wi-Fi access points and VPN concentrators. Connect the engineering PC, the CPU 1214C, and the UR3e to the same managed switch with cables during commissioning. Wireless operation is permitted only for the HMI panel after the AR is established.
How do I exchange URScript variables with the PLC?
Insert the Register access module at slot 4 of the UR3e. The module exposes 64 input bytes and 64 output bytes that map directly to integer and float registers readable from URScript via the read_input_float_register() / write_output_float_register() calls. In the PLC, place a DB at IB 200 and use MOVE or DPRD_DAT / DPWR_DAT to exchange the values.