Configuring KUKA KRC4 PROFINET Communication with Siemens

David Krause18 min read
SiemensTIA PortalTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Configuring KUKA KRC4 PROFINET Communication with Siemens S7-1200 in TIA Portal

Establishing PROFINET IO communication between a KUKA KR C4 robot controller and a Siemens SIMATIC S7-1200 PLC via TIA Portal is a routine integration task, but the path from an "unreachable" device error to a green I/O link in the project tree crosses two vendor configuration tools (KUKA.WorkVisual and Siemens TIA Portal) and a hardware-specific GSDML description. This field reference consolidates the configuration sequence, byte-mapping workflow, IP/subnet rules, and the diagnostic checks that resolve the most common "KRC4 controller is unreachable" condition after a TIA Portal hardware download.

1. System Overview and Required Components

The reference configuration described in this article matches the typical shop-floor integration profile: a six-axis KUKA robot (KR 10 R900-2 or equivalent) controlled by a KR C4 cabinet, networked PROFINET IO to a Siemens S7-1200 CPU (firmware V4.x or later), and engineering performed on a PC running both WorkVisual 6.0 and TIA Portal V15.1 or higher.

Component Specification / Version Role
KUKA robot KR 10 R900-2 (or any KR AGILUS / KR CYBERTECH payload-matched model) Mechanical motion platform
Robot controller KUKA KR C4, KR C4 compact, or KR C4 extended Robot motion + PROFINET IO Device
PROFINET option on KR C4 Profinet 5.0.3 (KRC4) or Profinet 6.0.2 (KRC5) Real-time IO interface (KUKA-internal software option)
Siemens PLC SIMATIC S7-1200 (CPU 1214C / 1215C / 1217C, FW ≥ V4.4) PROFINET IO Controller
Engineering tool — robot KUKA.WorkVisual 6.0 (or later 6.x release) Project archive, option activation, I/O mapping on the KR C4 side
Engineering tool — PLC TIA Portal V15.1 / V16 / V17 / V18 Hardware config, GSDML install, online diagnostics
GSDML file Extracted from WorkVisual project under WorkVisual/DeviceDescriptions/ Describes the KR C4 PROFINET device to the TIA Portal device catalog
Physical port on KR C4 X66 (KUKA PROFINET / KUKA-specific Ethernet variant on newer KSS versions X65 may also appear) PROFINET IO Device port on the cabinet
Port identification matters. On the KR C4, the cabinet's PROFINET port is labeled X66 on the rear of the controller. Do not confuse X66 with KUKA's service ports (X65, X67) or the customer Ethernet port (X43/X44 on some variants). Connecting the engineering PC to the wrong port is the single most common reason WorkVisual can find the controller but TIA Portal cannot, or vice versa.

2. PROFINET Topology and Addressing

The KR C4 acts as a PROFINET IO Device; the S7-1200 CPU acts as the PROFINET IO Controller. The relationship is one controller to N devices, and the controller must be the active station on the network. Both stations share a single IP subnet, and PROFINET device names must be unique on the network.

2.1 IP Address Plan

Use a dedicated subnet for the robot cell that does not collide with the plant WAN. The example below uses the RFC 1918 range 172.32.1.0/24:

Station IP Address Subnet Mask PROFINET Device Name Role
S7-1200 CPU 172.32.1.10 255.255.255.0 plc1200 IO Controller
KR C4 (KRC4) 172.32.1.55 255.255.255.0 krc4 IO Device
Engineering PC 172.32.1.100 255.255.255.0 n/a Configuration only

2.2 PROFINET Device Name Rules

  • Maximum 240 characters; recommended ≤ 32 for readability.
  • Allowed characters: lowercase letters a–z, digits 0–9, hyphen -, and dot .. Underscore is not permitted in PROFINET device names per the PROFINET specification.
  • No leading or trailing dots, no two consecutive dots.
  • The name assigned in TIA Portal must match the PROFINET device name written to the KR C4 (this is done inside WorkVisual, not in TIA Portal).
Device name ≠ host name. PROFINET uses a separate, LLDP-distributed name field. Just because the KR C4 answers ping on 172.32.1.55 does not mean a PROFINET device name has been assigned — if the device name is empty or mismatched, TIA Portal will display the device as "unreachable" or "station failure" even when the IP layer is healthy.

3. WorkVisual 6.0 Project Setup on the KR C4

WorkVisual is the KUKA engineering environment that holds the project archive (.zip archive with all cell configuration, I/O mapping, safety, and option bit configuration). The PROFINET option must be enabled in the project, and the I/O slots must be configured before the GSDML on the TIA Portal side can be aligned with the controller.

3.1 Activate the PROFINET Option on the KR C4

  1. Open the active project in WorkVisual 6.0 (File → Open → Project archive or directly from the connected controller via File → Open → From the controller).
  2. In the project tree, expand the KR C4 controller node and open Configuration → Network configuration.
  3. Confirm the KUKA PROFINET option is installed. In Help → Information the installed option version appears (e.g., Profinet 5.0.3). The PROFINET version on the KRC4 must be one that the TIA Portal GSDML supports.
  4. If PROFINET is missing, install via the KUKA option package on the controller's recovery image (KSS recovery USB) or via the KUKA Customer Support portal. A cold restart is required after option installation.

3.2 Export the GSDML File

WorkVisual stores the GSDML that matches the controller's PROFINET firmware version under a known path inside the project archive:

WorkVisual/DeviceDescriptions/GSDML-Vx.x-KUKA-KR_C4-xxxxxxxx.xml

  1. Browse the project folder on the engineering PC after the project has been synchronized from the controller.
  2. Copy the .xml GSDML file out of the archive to a working directory (e.g., C:\TIA_GSDML\krc4\).
  3. Do not edit the GSDML by hand — it is signed and the signature will be invalidated, causing TIA Portal to reject it during import.
Profinet 5.0.3 vs 6.0.2. The KRC4 ships with PROFINET 5.0.x and the KRC5 with PROFINET 6.0.x. The GSDML is firmware-version-specific. Using a 6.0.x GSDML on a 5.0.x KRC4 (or vice versa) is a common integration mistake that produces a "device compatible?" warning in TIA Portal and frequently results in the device being treated as unreachable after download. Always export from a WorkVisual project that matches the runtime on the cabinet.

4. Importing the GSDML in TIA Portal

  1. Open the TIA Portal project containing the S7-1200 station.
  2. From the menu bar, choose Options → Manage general station description files (GSD).
  3. In the dialog, set the source path to the directory that contains the exported .xml file (e.g., C:\TIA_GSDML\krc4\).
  4. Select the GSDML, click Install, and wait for TIA Portal to confirm successful installation. A successful install populates the GSDML into the Devices & Networks hardware catalog under Other field devices → PROFINET IO → [vendor hierarchy].
  5. Close the GSD manager. The KR C4 device is now selectable as a PROFINET IO Device in the hardware catalog.

4.1 Add the KR C4 to the PROFINET Network

  1. Open Devices & Networks in the project tree.
  2. From the hardware catalog, locate the imported KR C4 device and drag it into the PROFINET subnet of the S7-1200.
  3. Right-click the new device node → Properties → PROFINET interface → Ethernet addresses:
Parameter Value Notes
IP address 172.32.1.55 Must match the IP assigned inside WorkVisual under PROFINET configuration
Subnet mask 255.255.255.0 Identical to the controller
PROFINET device name krc4 Must match the device name written to the KR C4 from WorkVisual
Use IO controller assignment checked Permits the S7-1200 to be the IO controller for this device
  1. Drag a PROFINET connection from the S7-1200 PROFINET interface port to the KR C4 PROFINET interface port. TIA Portal will create the IO controller / IO device assignment automatically.
  2. Open the device view for the KR C4 and confirm that the I/O slots defined in the GSDML match the slots configured in WorkVisual. Typical KUKA slot layout:
Slot Direction Default Length Description
0 Input (PLC ← Robot) 32 byte Robot-to-PLC status / flags
1 Output (PLC → Robot) 32 byte PLC-to-Robot commands / flags
2 Input / Output Variable User-defined mapping (additional bytes)

5. Assigning the PROFINET Device Name to the KR C4

The PROFINET device name is the single most common reason for a "device unreachable" condition after a successful TIA Portal download. The PLC only accepts AR (Application Relationship) requests from devices whose PROFINET name matches the one configured for the slot in TIA Portal. The name is assigned on the KUKA side from WorkVisual — not from TIA Portal.

  1. In WorkVisual 6.0, expand the KR C4 in the project tree and open Configuration → Network configuration → PROFINET.
  2. Edit the PROFINET device name field. Use the lowercase name krc4 (or the value configured in TIA Portal).
  3. Edit the IP address to 172.32.1.55 and the subnet mask to 255.255.255.0.
  4. Save the project, then deploy to the controller (Deployment → Install or the deploy-to-controller icon in the toolbar).
  5. Perform a cold restart of the KR C4 (full power-down, then power-up). PROFINET device-name changes are only committed during a cold restart on the KR C4; a warm restart (software reboot from the smartPAD) will not persist the name change on all KSS versions.
Cold restart vs warm restart. A "cold restart" in KUKA terminology means a full power cycle of the controller cabinet (turn main disconnect off for at least 10 s, then on). This reinitializes the PROFINET stack and the device-name flash. A "warm restart" initiated from the smartHMI keeps the network configuration in RAM but may not flush the PROFINET name to the non-volatile store. If the device name does not appear in the controller's PROFINET diagnostics, the cold restart was skipped.

6. TIA Portal Hardware Compile and Download

  1. In TIA Portal, right-click the S7-1200 station → Compile → Hardware and software (rebuild all). Resolve any errors before continuing.
  2. Connect the engineering PC to the S7-1200 PROFINET port.
  3. Right-click the S7-1200 → Download to device → Hardware and software.
  4. In the download dialog, set the PG/PC interface to the PROFINET NIC. Use Accessible devices to confirm that the S7-1200 CPU is reachable on 172.32.1.10 before downloading.
  5. Perform the download. The CPU will go through STOP → run-up → RUN. The PROFINET IO controller startup begins immediately after CPU enters RUN.

6.1 Online Reachability Verification

  1. In TIA Portal, with the S7-1200 online, right-click the PROFINET subnet → Online & diagnostics.
  2. Open the Devices in the subnet view. The KR C4 should appear with a green status indicator.
  3. Drill into the KR C4 → Status. The station status field shows "Connected" and the AR status should report AR established.
  4. If the station is still "Unreachable":
  • Confirm PROFINET device name on the KRC4 (smartHMI → Configuration → Network) matches exactly the value in TIA Portal. PROFINET device names are case-sensitive.
  • Confirm the IP address on the KRC4 (smartHMI → Configuration → Network) matches TIA Portal.
  • Confirm the GSDML version in TIA Portal (Properties of the device → Catalog) matches the KUKA PROFINET option version installed on the cabinet (visible in smartHMI under Help → Information).
  • Confirm that the S7-1200 firmware supports the KUKA PROFINET GSDML revision. TIA Portal will warn on incompatible GSD revisions during device insertion; address this before downloading.

7. I/O Byte Mapping Between the KR C4 and the PROFINET Image

Once the PROFINET AR is established, the I/O bytes configured in TIA Portal are mapped to S7-1200 process-image areas. The PLC programmer then maps these to the S7-1200 I/O tags that the application reads and writes.

7.1 Default I/O Image Layout (32 bytes in / 32 bytes out)

Address (TIA) Direction WorkVisual Counterpart Typical Use
IB 0..31 Input (robot → PLC) KR C PROFINET input map Status flags, motion complete, error codes, gripper feedback
QB 0..31 Output (PLC → robot) KR C PROFINET output map Program select, start/stop, gripper command, ack bits

7.2 Mapping the PLC Side

  1. In TIA Portal, with the KR C4 device view open, click the input slot 0 to highlight its I/O addresses. The default start address is typically I 0 (PLC tag area for PROFINET slot 0 input).
  2. Right-click → Properties → Module parameters if you need to change the slot length or rename the channel. KUKA GSDMLs expose the slot as a 32-byte module; the start address can be reassigned in the I/O address overview of the device view.
  3. Open a function block in the S7-1200 program and declare a tag table that maps symbolic names to the process-image addresses:
// S7-1200 symbolic tag mapping example (TIA Portal tag table)
// Robot -> PLC (inputs)
"robot_status\         AT %IB0  : BYTE;  // bit 0 = program running, bit 1 = motion complete
"robot_error_code      AT %IB1  : BYTE;
"robot_position_word   AT %IW2  : WORD;  // user-defined position feedback

// PLC -> Robot (outputs)
"plc_cmd_program_sel   AT %QB0  : BYTE;  // program number to start
"plc_cmd_start         AT %Q0.0 : BOOL;  // start selected program (rising edge)
"plc_cmd_stop          AT %Q0.1 : BOOL;  // stop current program
"plc_cmd_ack           AT %Q0.2 : BOOL;  // acknowledge alarms

7.3 Mapping the KRC4 Side in WorkVisual

The same 32 input bytes and 32 output bytes are visible inside WorkVisual as PROFINET signals in the project tree. Each signal has a name and a direction.

  1. In WorkVisual 6.0, expand Configuration → I/O mapping → PROFINET (or the equivalent, depending on the option build).
  2. For each PROFINET input byte coming from the robot (output to the PLC), define a name. The WorkVisual names appear in the KRL (KUKA Robot Language) program as $IN[1]..$IN[32] or named signals.
  3. For each PROFINET output byte (input from the PLC), define a name. The names appear in KRL as $OUT[1]..$OUT[32].
  4. Save the project and deploy to the KR C4, then perform a cold restart.

7.4 Cross-Reference Between TIA Portal and WorkVisual

The mapping relationship is symmetric: byte N from the PLC's PROFINET input slot becomes signal $OUT[N+1] in the KRL program, and byte N from the PLC's PROFINET output slot becomes signal $IN[N+1]. The convention is "out of one side, in to the other". Confirm symmetry on a bench before wiring field I/O.

8. Verification Checklist

After the first end-to-end power-up, walk through the following matrix before handing the cell to production:

# Check Expected Result Tool
1 KR C4 cold-started with new device name Device name krc4 persists across power cycle smartHMI → Configuration → Network
2 KR C4 IP reachable from engineering PC ping 172.32.1.55 returns reply < 1 ms CMD / PowerShell
3 S7-1200 IP reachable from engineering PC ping 172.32.1.10 returns reply < 1 ms CMD / PowerShell
4 TIA Portal online: PROFINET devices in subnet KR C4 listed with green status, AR established TIA Online & Diagnostics
5 Watch table: force QB0 = 0x01 KR C4 input signal $IN[1] toggles TRUE within 1 cycle TIA Watch table + smartHMI I/O monitor
6 Watch table: read IB0 Status bits reflect robot state (program running, ready, error) TIA Watch table + KRL $IN[] monitor
7 KRL program: WAIT for $IN[17] = TRUE PLC sets QB1.0 → KRL continues within one PROFINET update cycle KRL editor on smartPAD
8 Cycle test: 100 start/stop cycles Zero lost PROFINET frames (TIA diagnostic buffer clean) TIA Online → Diagnostic buffer

9. Common Faults and Diagnostic Path

Symptom in TIA Portal Likely Root Cause Corrective Action
Device shown in Accessible Nodes but "unreachable" PROFINET device name on the KRC4 is empty or does not match TIA Portal Set name in WorkVisual, deploy, cold restart KR C4
"Station failure" with red X on the device IP/subnet mismatch between TIA Portal and KRC4 Verify both sides under Online → Accessible devices; fix the side that is wrong
Device drops offline intermittently Wrong physical port on the KR C4 (e.g., service port instead of X66) Reconnect to X66, observe LLDP neighbor in TIA Online
Yellow exclamation mark: "GSDML revision not supported" KRC4 PROFINET 5.0.3 with 6.0.2 GSDML, or vice versa Re-export the matching GSDML from the active WorkVisual project
IO data exchanges briefly then stops PROFINET update time too low for the KRC4 firmware Increase send clock / update time on the device properties in TIA Portal (e.g., 1 ms → 4 ms)
One direction works, other direction silent Asymmetric I/O length configured in WorkVisual vs. TIA Portal Match the slot lengths in both tools; rebuild and re-deploy
"Device name invalid" error on assignment Uppercase, underscore, or special character in PROFINET name Rename to lowercase letters, digits, hyphen only
CPU goes to STOP after PROFINET start Diagnostic interrupt on missing or mismatched submodule Check the device view slot assignment; remove unused slots or align with WorkVisual

10. Update Time and Real-Time Tuning

The PROFINET update time is the cycle at which the IO controller and device exchange process data. The KRC4 supports a range of update times depending on the PROFINET option build; conservative values are recommended for first commissioning.

Update Time Use Case Notes
1 ms High-speed motion interlocks Verify KRC4 PROFINET option supports it; default send clock must align
2 ms Standard pick-and-place Default for many KUKA GSDMLs
4 ms Default / safe choice Robust against minor network jitter; recommended during first commissioning
8 ms or higher Slow status-only exchange Use for non-critical handshakes

Set the update time in TIA Portal under Device view → KR C4 → Properties → PROFINET interface → Real time settings → Update time. Match the send clock of the IO controller (S7-1200 PROFINET port) to a value the KR C4 supports — typically 1 ms for S7-1200 CPUs from firmware V4.2 onward.

11. Edge Cases and Field-Proven Caveats

  • KRC5 with PROFINET 6.0.2. The KRC5 cabinet uses a different PROFINET stack and the GSDML is generated by a newer WorkVisual release (typically 6.0.x or later). The setup workflow is identical but the GSDML is incompatible with the KRC4 GSDML; never mix them.
  • Multiple robots in one cell. Each KR C4 must have a unique PROFINET device name and IP. Duplicate device names cause AR establishment failure for the second device.
  • Safety integration. The PROFINET discussed here is non-safe (PROFINET IO, not PROFIsafe). If the cell uses PROFIsafe, the safety controller and PROFIsafe slot configuration are separate and must be added on top of this configuration.
  • Watchdog time. The IO controller's watchdog time (configurable on the slot in TIA Portal) defines how long the controller waits for an IO device response before signaling station failure. For a robot cell with bursty motion, set the watchdog to at least 3× the update time to avoid nuisance failures.
  • Re-deploying from WorkVisual clears the device name. Some KSS versions clear the PROFINET device name when a new project is deployed. If the device becomes unreachable immediately after a WorkVisual deploy, re-enter the device name in WorkVisual, redeploy, and cold-restart the KR C4.
  • Topology discovery via LLDP. Use TIA Portal Online & Diagnostics → Topology to confirm that the S7-1200 sees the KRC4 as a PROFINET neighbor on the expected port. A missing neighbor indicates a physical-layer issue (cable, switch, port).

12. Putting It All Together: First-Time Integration Flow

  1. Connect the engineering PC to X66 on the KR C4 and the PROFINET port of the S7-1200 via a managed switch (or directly with a crossed cable if no switch is used).
  2. In WorkVisual 6.0, open the project from the controller, confirm PROFINET option version, and set the IP 172.32.1.55 and PROFINET device name krc4.
  3. Deploy the project to the KR C4 and perform a cold restart.
  4. Export the GSDML from WorkVisual/DeviceDescriptions/.
  5. In TIA Portal, install the GSDML via Options → Manage general station description files (GSD).
  6. Add the KR C4 from the hardware catalog to the S7-1200 PROFINET subnet, set IP 172.32.1.55 and device name krc4, and link the PROFINET ports.
  7. Compile the S7-1200 hardware configuration and download to the CPU.
  8. Map I/O bytes between WorkVisual and TIA Portal using a documented cross-reference.
  9. Run the verification checklist in section 8 above before opening the cell to production traffic.
When the device shows as reachable in Accessible Nodes but unreachable in the project tree. This is the diagnostic signature of a PROFINET device-name mismatch: the IP layer is fine (hence ping and Accessible Nodes work), but the IO controller cannot establish the AR because the name on the wire does not match. Fix the device name on the KRC4 side via WorkVisual, redeploy, and cold-restart — not on the TIA Portal side.

13. Reference to Official Documentation

For deeper information beyond this article, consult the following primary documentation resources:

FAQ

Why does my KRC4 show as "unreachable" in TIA Portal even though it responds to ping?

PROFINET device-name mismatch. The IP layer works, but the IO controller will not establish an application relationship (AR) unless the PROFINET device name on the KRC4 exactly matches the name in the TIA Portal hardware configuration. Set the name in WorkVisual 6.0, redeploy the project to the controller, and cold-restart the KR C4 to commit the name to non-volatile storage.

Which physical port on the KR C4 should I use for PROFINET?

Use X66 on the rear of the KR C4 cabinet. It is the dedicated PROFINET port for the KUKA PROFINET option. Do not use the service ports (X65, X67) or the customer Ethernet port (X43/X44 on some variants); those are for engineering, smartPAD, or general Ethernet and will not bring up a PROFINET AR with the S7-1200.

Where do I get the GSDML file for the KRC4 in TIA Portal?

Export it from the active WorkVisual 6.0 project at WorkVisual/DeviceDescriptions/GSDML-V*.xml. The GSDML must match the KUKA PROFINET option version installed on the cabinet (e.g., Profinet 5.0.3 for a KRC4, Profinet 6.0.2 for a KRC5). Import into TIA Portal via Options → Manage general station description files (GSD).

Do I need to map I/O bytes in both WorkVisual and TIA Portal?

Yes. WorkVisual defines the PROFINET signals on the KRC4 side (visible to KRL as $IN[] and $OUT[]), and TIA Portal defines the process-image addresses on the S7-1200 side (e.g., %IB0, %QB0). Both mappings must reference the same slot and the same byte offset for a clean end-to-end handshake.

What is the recommended PROFINET update time for a KRC4-to-S7-1200 link?

Start with 4 ms for first commissioning; this is robust against network jitter and is supported across KRC4 PROFINET 5.0.x firmware versions. For high-speed motion interlocks you can reduce to 2 ms or 1 ms after verifying that the KRC4 option build, the S7-1200 firmware (≥ V4.2), and the send clock of the IO controller all support the lower value.

Back to blog