Problem Overview
When integrating a KUKA robot (KRC4 or KRC5) with a Siemens TIA Portal V20 controller over PROFINET, two KUKA System Software (KSS) warnings commonly block commissioning: KSS11011 and KSS00099. The PLC project compiles and downloads, the GSDML file appears in the device catalog, yet the KUKA smartPAD shows the robot is "waiting for master" and TIA Portal reports the device as "Not Reachable." This article consolidates the diagnostic path, required KUKA option packages, GSDML matching, and signal mapping rules needed to bring the PROFINET link up.
Affected Hardware and Software
| Component | Verified Versions | Notes |
|---|---|---|
| TIA Portal | V17, V18, V19, V20 | V20 introduced renamed PROFINET device diagnostics; older GSDML may not enumerate correctly. |
| STEP 7 / TIA PLC | S7-1200 (CPU 1214C, 1215C, 1217C) and S7-1500 (CPU 1511, 1515, 1516, 1518) | F-CPU variants required for PROFIsafe signals; standard CPU cannot drive the KUKA safety channel. |
| KUKA Controller | KRC4, KRC4 compact, KRC5, KRC5 micro | KR C5 requires System Software 8.7 or later for current GSDML generation. |
| KSS Version | 8.3, 8.5, 8.6, 8.7 | GSDML must match the installed KSS major version; mismatched files produce KSS00099. |
| PROFINET Option | PROFINET Device / PROFINET Controller add-on per robot type | Without this option installed on the KRC, no PROFINET stack is loaded and all external bus diagnostics fail. |
| WorkVisual | V6.0, V8.0, V8.1 | Project must be deployed back to the KRC; offline-only WorkVisual changes have no runtime effect. |
Root Cause Analysis of KSS11011 and KSS00099
KSS11011 — PROFINET Master Not Found
KSS11011 is generated by the KUKA PROFINET Device stack (PN-DEV) when the IO controller never appears in ARP or when the station name advertised by the controller does not match the configured KUKA station name. Typical sub-causes:
- KRC station name (e.g. "kuka") differs from the device name assigned in TIA Portal (e.g. "rob1").
- PROFINET option is licensed but not enabled inside WorkVisual (the bus is loaded but disabled by project).
- Physical connection is on the wrong KUKA RJ45 port (KRC has multiple LAN ports; only the PROFINET-labeled port participates in PN-DEV).
- Controller has not sent an AR (Application Relationship) within the PROFINET watchdog window (default 3 s).
KSS00099 — I/O Driver / Fieldbus Error
KSS00099 indicates the cross-communication driver (IOFORUM / EtherCAT bridge / PROFINET-Driver) cannot establish cyclic I/O. It appears as a side effect of KSS11011 but also fires when:
- No I/O signals are mapped in WorkVisual (256-bit range is empty).
- GSDML slot/subslot configuration in TIA Portal does not match the KUKA slot selected in WorkVisual.
- KOP file is missing or older than the KSS version on the controller.
- Safety signals are unmapped; the safety task on the PLC is not generating the expected PROFIsafe slots.
Prerequisites Before Troubleshooting
- Confirm the PROFINET option is licensed on the KRC. KUKA.PROFINET Device (or KUKA.PROFINET M/S for controller variants) must appear in smartHMI → Configuration → Options.
- Install the matching KOP (KUKA Option Package) on the smartHMI: insert USB → smartHMI → Configuration → KOP Install. KOP files ship from KUKA and are version-locked to KSS releases.
- Verify WorkVisual can connect to the KRC over the service Ethernet port and can deploy a project.
- Confirm the GSDML file (GSDML-Vx.x-KUKA-KR-PNDEV-xxxxxxxxxx.xml) sits in the TIA Portal GSDML install path:
C:\Program Files\Siemens\Automation\Portal V20\Data\Hsp\PROFINET\GSDor is imported via Options → Manage General Station Description Files (GSD). - Use a known-good Cat 5e or higher PROFINET cable between the PLC PROFINET port (X1 or X2 on the S7-1500/1200) and the PROFINET-specific RJ45 on the KUKA control cabinet (labeled PN or XPN).
- Capture the PLC's IP, subnet, device name, and the KRC's currently configured device name (visible on smartHMI → Configuration → Network → PROFINET).
Step-by-Step Resolution
Step 1 — Match Device Names on Both Sides
The most frequent cause of KSS11011 is a station-name mismatch. The KRC compares the AR's "NameOfStation" with its own configured name; a single-character difference results in the controller rejecting the AR and the KUKA stack logging KSS11011.
- On the smartPAD, open Configuration → Network → PROFINET and read the field Device Name (commonly
kuka,kr10, orrob1). - In TIA Portal, select the KUKA device in the network view, open Properties → PROFINET interface → Ethernet addresses.
- Set the PROFINET device name to exactly the same string. Case sensitivity matters.
- Recompile and download the hardware configuration to the PLC.
Step 2 — Enable the PROFINET Stack in WorkVisual
- Open the active project in WorkVisual.
- Navigate to Bus Structures → PROFINET.
- Add the KUKA robot as a PROFINET Device and assign it a station name (matches the KRC). Verify the IP address (default
192.168.0.1or a value consistent with your PLC subnet). - Activate the PROFINET-Driver under Options → Field buses → PROFINET and confirm it is in the Operating state.
- Click Deploy to Controller; this writes the configuration into the KRC's persistent image.
- Cold-restart the KRC (Shutdown → Reboot). Hot reloads often do not re-bind the PROFINET stack.
Step 3 — Import and Match the GSDML in TIA Portal
- Confirm the GSDML version printed in WorkVisual under Device properties → GSDML.
- Import the matching file: Options → Manage General Station Description Files (GSD) → Source path → Select → Install.
- Delete any prior KUKA device instances that were created with the wrong GSDML — TIA Portal retains orphan GSDML bindings that override hardware configuration.
- Drag the correct KUKA device from the catalog into the network view.
- Verify the device's slot 0 / subslot 1 (the standard PROFINET device identification slot) is enabled and not removed.
Step 4 — Configure the 256-Bit I/O Range
KUKA robots expose a default 256-bit cyclic I/O range split between inputs (PLC → robot, e.g. 16 bytes in / 16 bytes out) and outputs (robot → PLC). If no signal is mapped in WorkVisual, the KRC enters KSS00099 because the IODriver has no data to publish.
| Signal Group | Direction | Default Size (KRC) | WorkVisual Path |
|---|---|---|---|
| $IN[1]..$IN[256] | PLC → Robot | 32 bytes | Signals → PROFINET → Inputs |
| $OUT[1]..$OUT[256] | Robot → PLC | 32 bytes | Signals → PROFINET → Outputs |
| PROFIsafe inputs (safety) | PLC → Robot | 1 word + 1 control byte | Signals → PROFINET → PROFIsafe |
- Map at least one input and one output (e.g. $IN[1] ← BOOL → "PLC_Start").
- On the TIA Portal side, open the KUKA device → Device view → Slots and confirm slot 1 contains the configured bytes (typically 16-byte input and 16-byte output modules).
- If sizes differ (e.g. you reduced to 8 bytes), the TIA device must be edited to match exactly, otherwise cyclic data is dropped.
Step 5 — Address the PROFIsafe / Safety Channel
External Automatic mode with PROFINET requires the safety channel to be valid. If the KRC's safety stack does not see a current PROFIsafe producer on slot 2, the safety stop is asserted, and the field bus I/O is clamped, manifesting as KSS00099 even with valid configuration.
- Confirm the PLC is an F-CPU (e.g. CPU 1516F) and the TIA safety program is compiling.
- Generate the PROFIsafe address in TIA Portal Properties → F-Parameters → PROFIsafe address (default 1..1023, must match WorkVisual's Safety → PROFIsafe configuration).
- Map the safety signals expected by the KRC: External Emergency Stop, Operator Safety, Reduced Speed, and the reserved word/bit. Missing reserved bits commonly lock the AR.
- Download the safety program separately; standard downloads do not push F-runtime groups.
Step 6 — Verify the Physical and Link Layer
- Confirm the KUKA PROFINET port LED: solid green = link up + cyclic data; flashing green = link up but no AR; off = physical issue.
- Run a ping from the PLC's engineering station to the KRC IP. If ping fails, the port is wrong, the cable is bad, or the KRC is on a different subnet.
- Verify subnet mask alignment (commonly
255.255.255.0on a192.168.0.x/24 segment). - Disable Windows Firewall on the engineering PC temporarily while diagnosing. KUKA.VRC and PROFINET discovery use multicast/broadcast packets blocked by default Windows Defender rules.
- If a managed switch is in the path, ensure LLDP and DCP forwarding are not filtered. Some industrial switches drop PROFINET DCP frames if flow control is mis-set.
Verification
- Open smartHMI → Diagnostics → PROFINET. The state should read Connected and show the PLC's IP and station name.
- From TIA Portal, right-click the KUKA device → Online → Diagnostics. Device status should be green; IO state should be "OK."
- Force a known input bit (e.g. $IN[1] = TRUE) from the PLC and confirm the corresponding bit in WorkVisual → Monitor → PROFINET follows within one PROFINET update cycle (default 1 ms; 4 ms typical for non-DCP motion applications).
- Cycle power on the KRC and confirm the link comes back without manual intervention; if it does not, the GSDML or station name must be re-deployed.
Troubleshooting Matrix
| Symptom | Likely Cause | Action |
|---|---|---|
| KSS11011 only | Station name mismatch or wrong RJ45 port | Match device name in TIA and WorkVisual; move cable to labeled PN port |
| KSS00099 only | Empty I/O mapping or wrong slot size | Map at least one $IN and $OUT; align slot bytes with GSDML |
| Both warnings, no link LED | PROFINET option not licensed or KOP missing | Install KOP, license PROFINET option, cold-restart KRC |
| Link LED green, AR rejected | PROFIsafe parameters wrong or safety task not running | Verify F-CPU, recompile safety program, check PROFIsafe address |
| TIA shows "Not Reachable" | GSDML version mismatch or DCP blocked | Reinstall matching GSDML; disable firewall; check switch |
| Cyclic data but no motion enable | External Automatic not selected on smartHMI; mode selector on T1/AUT | Set smartPAD mode selector to AUT; configure $MOVE_ENABLE |
Alternatives When PROFINET Cannot Be Used
If the PROFINET option is unavailable or licensing is blocked, External Automatic can still be implemented through other KUKA-supported fieldbuses. Each option requires its own KOP and configuration inside WorkVisual, but the $IN/$OUT mapping and External Automatic interface remain identical from the application point of view.
| Fieldbus | Required KUKA Option | Typical Use | Considerations |
|---|---|---|---|
| PROFIBUS DP | KUKA.PROFIBUS | Legacy S7-300/400 integration | 12 Mbps limit; deterministic; no PROFIsafe without PROFIsafe-over-PROFIBUS profile |
| EtherCAT | KUKA.EtherCAT (KRC5 + KSS 8.7+) | High-speed motion integration with Beckhoff/Omron controllers | Distributed clocks; faster cycle than PROFINET IRT |
| EtherNet/IP | KUKA.EthernetIP | Rockwell/Allen-Bradley ControlLogix environments | CIP Safety supported; EDS file needed; less common in EU cells |
| OPC UA Server | KUKA.OPC-UA | Higher-level MES/SCADA integration without real-time control | Not deterministic; cannot drive External Automatic; useful for monitoring only |
Field-Proven Caveats
- The KRC must be cold-rebooted after every WorkVisual deploy. Hot reload re-reads the field-bus config but does not rebind the PROFINET-Driver.
- GSDML files include a release date and version. TIA Portal V20 caches the file in the project database; clearing the cache under Options → Manage GSD → Show all versions prevents silent fallbacks to outdated GSDML.
- Windows 11 24H2 ships a default firewall rule that blocks UDP port 34964 (PROFINET DCP). Add an explicit allow rule for the engineering subnet.
- Anti-virus software with deep packet inspection (CrowdStrike, SentinelOne) can drop DCP frames; add the TIA Portal and WorkVisual processes to the allow list during commissioning.
- The default KUKA station name is
kuka. TIA Portal device name default is oftenplc1orrob1. Forgetting to align these is the single largest source of KSS11011 in student and integrator environments.
Related Siemens and KUKA Documentation
For deeper configuration references, consult:
- Siemens: S7-1200 / S7-1500 PROFINET Device Configuration
- KUKA: WorkVisual and KOP installation manuals
- Siemens SiePortal: S7-1200 and KRC5 PROFINET troubleshooting thread
- RoboDK: KUKA KR10 real-time connection reference
Why does TIA Portal V20 show the KUKA robot as "Not Reachable" even with a green link LED?
The link LED only confirms the physical layer. TIA Portal V20 reports "Not Reachable" until the IO controller sends a DCP Identify and a successful AR. The two highest-probability causes are a station-name mismatch between TIA Portal and the KRC's PROFINET configuration, and a GSDML version that does not match the KSS release. Align the device names exactly and reinstall the matching GSDML from the KUKA WorkVisual install directory.
What does KSS11011 mean on a KUKA robot, and how do I clear it?
KSS11011 indicates that the KUKA PROFINET Device stack did not receive a valid AR from the IO controller within the watchdog window. Clear it by matching the station name on both sides, ensuring the KUKA PROFINET option is licensed, restarting the KRC cold, and confirming the cable is plugged into the PROFINET-specific RJ45 port on the control cabinet.
Can I run External Automatic on a KUKA robot without PROFINET?
Yes. External Automatic is the application mode, not a bus protocol. KUKA also supports PROFIBUS, EtherCAT, and EtherNet/IP for the cyclic 256-bit I/O image. The KOP for the chosen bus must be installed and configured in WorkVisual. OPC UA is not suitable for External Automatic because it cannot deliver the deterministic cyclic data the KUKA submit interpreter requires.
Do I need a KOP file if the PROFINET option is already licensed?
Yes. The license enables the feature, but the KOP file provides the runtime binaries, WorkVisual bus-structure templates, and GSDML for the specific KSS release. Without the KOP, the option appears licensed but the PROFINET-Driver fails to load and KSS00099 is raised on every boot.
Why does KSS00099 persist even after the station name is fixed?
KSS00099 is a downstream I/O driver error. After clearing KSS11011, verify that at least one $IN and $OUT signal is mapped in WorkVisual, that the slot sizes match the TIA Portal device configuration, and that the PROFIsafe channel is providing valid data if you are using an F-CPU. A safety task that is not running on the PLC will keep the KRC's safety inputs clamped, which suppresses cyclic I/O and recreates KSS00099.