CU305 PN COM LED Blinking: Resolving PROFINET Telegram 111 Setup with S7-300
A Sinamics S110 CU305 PN drive control unit displays RDY green steady and COM green flashing when the controller is powered and PROFINET link is up but no cyclic process data is exchanged yet. The classic S7-300 pairing (CPU 313C + CP343-1) frequently stalls in this state because the CPU only has an MPI/DP interface on board and the user-supplied CP343-1 must be configured as a PROFINET IO Controller before the drive sees any telegram. Replacing the controller with a CPU 315PN that has an integrated PROFINET interface normally clears the symptom because the PN stack lives on the CPU and the cyclic relationship is built up by the slot model directly in HW Config.
This guide documents the three root causes that produce a green-flashing COM LED, the field-proven corrective steps, and the verification procedure that proves the cyclic link is live.
1. Problem Summary
| Item | Observed State |
|---|---|
| Controller | Siemens CPU 313C (no integrated PROFINET) |
| PROFINET CP | Siemens CP343-1 (industrial Ethernet / PROFINET IO Controller) |
| Drive | Sinamics S110 with CU305 PN control unit |
| Tooling | STEP 7 V5.5 + Starter / Startdrive |
| RDY LED | Green steady (drive ready) |
| COM LED | Green flashing |
| Telegram | Siemens telegram 111 (PZD-12/12) selected |
| Status | No cyclic PZD exchange, no setpoint or control word transfer |
The COM LED state — not the RDY LED — is the diagnostic source of truth. RDY green only proves the control unit has booted and parameterization is intact; it says nothing about PROFINET IO cyclic traffic.
2. Hardware and Software Topology
Use the following baseline topology when troubleshooting. The controller choice dictates how PROFINET is configured: a CP front-end requires extra CP group properties, while a CPU 31xPN integrates the PN stack on the backplane.
Pinout on CU305 PN is standard PROFINET RJ45 (X150 P1, X150 P2). Both ports support switch-based daisy chaining. Copper cabling is Cat 5e or higher, max 100 m per segment.
3. CU305 PN LED Diagnostic States
The CU305 PN control unit has two status LEDs that together resolve most PROFINET startup problems. Treat the table below as the canonical decoding chart for first-line diagnostics.
3.1 RDY LED (Ready / Drive state)
| Color | State | Meaning |
|---|---|---|
| Off | — | No 24 V power or hardware fault |
| Green | Steady | Drive ready for operation |
| Green | Flashing 0.5 Hz | Commissioning / parameter download in progress |
| Yellow | Steady | Drive ready, but warning active (check r2122 in Starter) |
| Red | Steady | Fault active (read r0947 / r0949 via Starter) |
| Red | Flashing 2 Hz | Firmware error / boot fault — power cycle required |
3.2 COM LED (PROFINET communication)
| Color | State | Meaning | Action |
|---|---|---|---|
| Off | — | No PROFINET link or no IP address | Verify cable, 24 V, IP assignment |
| Green | Steady | Cyclic PROFINET exchange active | None — system OK |
| Green | Flashing | PROFINET link established, but no cyclic data exchange | This is the symptom — apply Sections 5-7 of this guide |
| Red | Steady | No PROFINET link (cable or partner) | Check physical layer and switch |
| Red | Flashing | PROFINET bus fault, watchdog timeout | Check controller configuration |
4. Root Cause Analysis
Three independent defects — and frequently all three together — produce a green-flashing COM LED.
- Device name or IP address mismatch. PROFINET IO requires the IO controller to address the device by its station name, not by IP. If the name configured in HW Config (STEP 7) does not match the name stored in the CU305 PN, the controller cannot open the AR (Application Relationship) and no cyclic CR is established.
- No PROFINET telegram assigned to the slot. PROFINET IO slot 0 / subslot 1 must contain a Siemens standard telegram (or a vendor-specific one). Without this, the controller cannot map cyclic PZD into the I/O image and the drive stays in handshake-only state.
- STW1 bit 10 not set. The drive control word bit 10 ("Master control by PLC") must be 1 for the drive to accept setpoints and commands from the fieldbus. If the user program never writes STW1 with bit 10 = 1, the drive ignores all cyclic PZD; the link still exists but no commands propagate.
A fourth, less common cause is firmware mismatch between the CU305 PN and the GSD file revision in HW Config. Always import the latest GSDML file matching the drive firmware version.
5. Solution 1 — Synchronize IP Address and PROFINET Station Name
The single most frequent defect. Siemens PROFINET IO addressing uses the station name as the device identifier; the IP is derived from the name during controller startup or assigned by the controller via DCP (Discovery and Configuration Protocol).
5.1 Procedure
- Open STEP 7 and load the S7 project.
- Open HW Config and locate the CU305 PN at its PROFINET IO slot.
- Right-click the CU305 PN icon, choose Object Properties > PROFINET Interface. Note the Device Name and IP Address values. Default conventions are
cu305pn/192.168.0.20on a /24 subnet. - Open Starter (or Startdrive in TIA Portal) and connect to the CU305 PN.
- Navigate to Drive > Communications > PROFINET and verify the same Device Name is stored in the drive. The value is held in drive parameter p8920 (PN NameOfStation) and the IP in p8921 (PN IP), p8922 (PN Subnet), p8923 (PN Gateway).
- If values differ, write them from Starter or use the Assign PROFINET device name function in STEP 7 (PLC > Ethernet > Edit Ethernet Node > Browse > Assign Name).
- Save the project, recompile HW Config, and download to the CPU.
- Power cycle the CU305 PN.
CU305PN and cu305pn are different devices to the controller.5.2 Verification
Open Online > Accessible Nodes in STEP 7 and confirm the drive shows up under its configured IP and station name. If the device is reachable via DCP but the controller still shows "IO Fault," continue to Section 6.
6. Solution 2 — Configure Telegram 111 in HW Config
Telegram 111 is the Siemens standard telegram for positioning with 12 PZD in each direction. It includes a 32-bit speed setpoint, 32-bit position setpoint, control word 1, control word 2, status word 1, status word 2, encoder actual value, and additional status/control words tailored for the S110 closed-loop positioner.
6.1 Telegram 111 PZD layout (PZD-12/12)
| Word | Direction | Contents |
|---|---|---|
| STW1 | PLC → Drive | Control word 1 (bit 10 = control by PLC) |
| STW2 | PLC → Drive | Control word 2 (operating mode selection) |
| NSOLL_B | PLC → Drive | Speed setpoint (32-bit, N2 format) |
| XERR | PLC → Drive | Position error / following error (32-bit) |
| KPC | PLC → Drive | Position controller gain factor (32-bit) |
| ... | PLC → Drive | Position setpoint + remaining PZD per S110 manual |
| ZSW1 | Drive → PLC | Status word 1 |
| ZSW2 | Drive → PLC | Status word 2 |
| NIST_B | Drive → PLC | Actual speed (32-bit) |
| ... | Drive → PLC | Position feedback + additional status |
6.2 Configuration procedure
- In HW Config, right-click the CU305 PN slot and select Object Properties.
- Switch to the Configuration tab.
- From the catalog, insert Telegram 111 into slot 0 subslot 1.
- Confirm the I/O addresses. STEP 7 assigns default ranges; record them for the user program.
- Recompile and download HW Config to the CPU.
The full telegram list supported by Sinamics S110 includes: 1, 2, 3, 4, 5, 6, 7, 9, 110, 111, 112, 116, plus free telegrams 999 (configurable in Starter). Telegram 111 is mandatory if the closed-loop positioner is the intended operating mode; otherwise telegram 110 (speed control, PZD-6/6) is the simpler default.
6.3 Sample address assignment (CPU 315PN example)
Inputs (Drive → PLC): IW 100 ... IW 123 (12 words)
Outputs (PLC → Drive): QW 100 ... QW 123 (12 words)
Update these values with whatever HW Config assigns in your project; the example only illustrates the span of PZD-12/12.
7. Solution 3 — Set STW1 Bit 10 (Master Control by PLC)
Even with a perfect PROFINET link and telegram 111 in place, the drive will not act on commands unless control word 1 bit 10 is set. This bit grants the PLC master control over the drive and is the gatekeeper for every setpoint transmitted on the cyclic channel.
7.1 STW1 bit map (Siemens telegram 111)
| Bit | Name | Comment |
|---|---|---|
| 0 | ON / OFF1 | Edge-sensitive enable; 1 = ON, 0 = ramp stop (OFF1) |
| 1 | OFF2 | 0 = coast to stop (immediate pulse inhibit) |
| 2 | OFF3 | 0 = quick stop (fastest decel ramp) |
| 3 | Enable operation | 1 = inverter pulses enabled, 0 = inhibit |
| 4 | Enable ramp-function generator | 1 = RFG outputs, 0 = freeze RFG |
| 5 | Unfreeze ramp-function generator | 1 = continue, 0 = freeze |
| 6 | Enable speed setpoint | 1 = accept NSOLL_B, 0 = hold setpoint |
| 7 | Acknowledge fault | 0→1 edge resets faults |
| 8 | Jog 1 | Signal source for jog bit 0 |
| 9 | Jog 2 | Signal source for jog bit 1 |
| 10 | Master control by PLC | 1 = PLC has master control; 0 = ignore cyclic PZD |
| 11 | Direction reversal | 1 = reverse, 0 = forward (depends on p1113) |
| 12-15 | Open / various | Drive-specific |
7.2 Ladder example (CPU 315PN, STEP 7 V5.5)
Network 1: Build STW1 with bit 10 set
L W#16#47E // 0100 0111 1110 — bits 1-10 set except bit 7 (no ack yet)
T QW 100 // First word of telegram 111 = STW1
7.3 Structured Text example (SCL)
// Build control word 1 with master control and OFF2/OFF3 inactive
QW100 := 16#0000;
QW100 := QW100 OR 16#0001; // bit 0 - ON / OFF1
QW100 := QW100 OR 16#0002; // bit 1 - OFF2 = 1 (no coast stop)
QW100 := QW100 OR 16#0004; // bit 2 - OFF3 = 1 (no quick stop)
QW100 := QW100 OR 16#0008; // bit 3 - Enable operation
QW100 := QW100 OR 16#0010; // bit 4 - Enable RFG
QW100 := QW100 OR 16#0040; // bit 6 - Enable speed setpoint
QW100 := QW100 OR 16#0400; // bit 10 - Master control by PLC
7.4 Status feedback to confirm
Read ZSW1 bit 10 (PLC control requested) and ZSW1 bit 9 (control requested). When bit 10 of ZSW1 returns 1, the drive acknowledges PLC master control. Without this, the drive remains in operating mode r0002 = 0 (commissioning / no master control) regardless of how the COM LED behaves.
8. Architecture Comparison — CP343-1 vs CPU 315PN
Switching from a CPU 313C + CP343-1 combination to a CPU 315PN resolved the symptom in this case. The reason is structural: a CPU 31x-PN variant has an integrated PROFINET interface with the IO controller stack inside the CPU firmware. No CP group configuration is required, and the cyclic image is built directly during HW Config download.
| Criterion | CPU 313C + CP343-1 | CPU 315PN |
|---|---|---|
| Integrated PROFINET | No (requires CP) | Yes (2-port switch onboard) |
| IO Controller config | CP343-1 in HW Config | CPU PROFINET interface |
| Max IO devices | CP-dependent (typically 32-128) | CPU-dependent (up to 256 with V5.5) |
| Subnet | Must be configured separately | Set in CPU properties |
| Typical issue | CP group not enabled, CP not configured as IO controller | Rare once HW Config is consistent |
| When to use | Existing 300 station without PN CPU | Greenfield 300 station needing PN |
8.1 If the CP343-1 path is mandatory
Some legacy systems cannot swap CPU without affecting a broader migration. In that case the CP343-1 must be configured as a PROFINET IO Controller — not just an Ethernet CP. Check the CP firmware (≥ V2.0 supports PN IO controller) and ensure the CP "Mode" in HW Config is set to PN IO Controller, not ETHERNET only.
Also verify the CP has at least one subnet assigned. Open CP343-1 properties, "Interface", and confirm the subnet exists; without it the IO controller mode does not start the AR / CR negotiation.
9. Starter Commissioning Procedure
- Open Starter and create a new project. Insert the CU305 PN at its known IP or via accessible nodes.
- Go online. Confirm parameter p8920 = station name matches HW Config.
- Check Configuration > Telegram Configuration shows telegram 111 (or whichever telegram was selected in HW Config).
- Drive commissioning: assign motor (p0300 series), run motor identification (p1910), encoder adjustment (p1990) if needed.
- Set p922 = 111 to match HW Config telegram selection.
- Save RAM-to-ROM and copy RAM to ROM.
- Verify drive parameter p0922 = 111 (telegram selection confirmed).
- Power cycle the drive to bring parameters into effect.
For Sinamics S110, the closed-loop positioner is enabled via p0100 / p1300 = 21 / 23 / 25 depending on the active commissioning mode.
10. Verification Checklist
Run through the checklist below in order. Each step has an unambiguous pass criterion.
| # | Check | Pass Criterion |
|---|---|---|
| 1 | CU305 PN RDY LED | Steady green |
| 2 | CU305 PN COM LED | Steady green (was: flashing) |
| 3 | Starter diagnostic | r8990 = 0, no PROFINET fault |
| 4 | STEP 7 "Accessible Nodes" | CU305PN listed with green status |
| 5 | HW Config download | No errors, I/O addresses consistent |
| 6 | Drive ZSW1 bit 10 | = 1 (PLC control accepted) |
| 7 | Drive ZSW1 bit 0 | = 1 when STW1 bit 0 is set (drive ON) |
| 8 | Speed setpoint feedback | NSOLL_B accepted, NIST_B changes when setpoint changes |
11. Extended Diagnostics in STEP 7
STEP 7 includes PROFINET diagnostic blocks that surface IO controller errors directly into the S7 user program. Add them to OB1 or to the relevant error OB (OB82, OB83, OB86, OB122).
| Block | Function | Typical Use |
|---|---|---|
| FB125 | PN IO controller diagnostic | Reads controller / device / port diagnostics |
| FB126 | PN IO device diagnostic (multi-device) | Reads per-device slot / subslot state |
| SFB52 | RDREC (read record) | Reads PROFINET records (e.g. index 0x8000 device status) |
| SFB53 | WRREC (write record) | Writes PROFINET records |
For the CU305 PN, record indices are described in the Sinamics S110 List Manual. A simple status poll is to read the diagnostic buffer via Starter online mode (r0947 / r0949 for fault codes, r2122 for warnings).
12. Sinamics S110 Key Parameters Reference
| Parameter | Function | Default |
|---|---|---|
| p0100 | Drive commissioning mode (closed-loop / open-loop) | 0 (depends on motor) |
| p0922 | PROFIdrive telegram selection | 1 (must match HW Config; set to 111 for this case) |
| p1300 | Open/closed-loop control mode | 21 (speed control with torque limit) |
| p2051 | Output word mapping to PZD (setpoints) | Depends on telegram |
| p2080 | Status word mapping (actuals) | Depends on telegram |
| p8920 | PROFINET NameOfStation | empty (must match HW Config) |
| p8921 | PROFINET IP address | 0.0.0.0 |
| p8922 | PROFINET subnet mask | 0.0.0.0 |
| p8923 | PROFINET default gateway | 0.0.0.0 |
| p8981 | PROFINET IP activate (after p8921-p8923 write) | 0 → set to 1 → back to 0 |
| r8990 | PROFINET diagnostic counter / fault | 0 = OK |
When changing p8920-p8923, follow the activate sequence: write the desired values, then set p8981 = 1 to apply, then set p8981 = 0 to release. Without this, the values remain in volatile memory and disappear on power cycle.
13. Related Telegrams and When to Use Them
| Telegram | PZD | Use Case |
|---|---|---|
| 1 | 2/2 | Basic speed control, NSOLL_B / NIST_B |
| 2 | 4/4 | Speed control with actual speed value + status/control words |
| 3 | 5/9 | Speed control with 1 encoder |
| 5 | 9/9 | Speed control with 2 encoders |
| 110 | 6/6 | Position control extension (S110) |
| 111 | 12/12 | Full positioning with closed-loop positioner (S110) |
| 112 | 14/14 | Position control + encoder 2 |
| 116 | 15/15 | Position control with torque limit + diagnostics |
Choose the smallest telegram that covers your signals; smaller telegrams have shorter cycle times and less IO image consumption. Telegram 111 is justified only when the closed-loop positioner is active and full setpoint/feedback visibility is needed.
14. FAQ
What does a green-flashing COM LED on the CU305 PN mean exactly?
It means the PROFINET TCP/IP link is up and the IO device is reachable on the network, but the IO controller has not opened the cyclic Communication Relationship (CR). The drive receives the AR but no setpoints or status words are exchanged. Treat it as "network OK, application channel not yet active."
Why did switching from CPU 313C + CP343-1 to CPU 315PN fix the issue?
The CPU 315PN has an integrated PROFINET IO controller; no CP configuration is needed. The CP343-1 in the original setup was likely not configured as a PROFINET IO Controller, or its subnet was missing. The integrated PN stack on the CPU 315PN removed that configuration surface and let HW Config build the AR directly.
Is telegram 111 mandatory for the CU305 PN?
No. Telegram 111 is mandatory only when the closed-loop positioner is the active operating mode and you need 12 PZD in each direction. For pure speed control use telegram 1, 2, or 110. The telegram must match on both sides — HW Config, Starter (p0922), and any FB driving the IO image.
Which STW1 bit unlocks PLC control of the drive?
Bit 10 of control word 1 (STW1) is the "Master control by PLC" bit. Set it to 1 in the cyclic output word or the drive stays in "no master control" state (r0002 = 0) regardless of how the COM LED looks. The drive echoes this state back in ZSW1 bit 10 = "PLC control requested."
How do I assign the PROFINET device name from STEP 7?
In HW Config, right-click the PROFINET subnet, choose "Edit Ethernet Node", browse the network, select the CU305 PN, and click "Assign Name". The name must match the value stored in drive parameter p8920. Restart the drive for the change to take effect.