SINAMICS G120 CU240E-2 DP: Fixing Missing PROFIBus Speed Setpoint

David Krause15 min read
SiemensTroubleshootingVFD / Drives
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

1. Problem Overview and Field Symptoms

This article resolves a recurring commissioning fault on a SINAMICS G120 PM250 power module (MLFB 6SL3224-0XE42-0UA0) paired with a CU240E-2 DP Control Unit and tied back to a SIMATIC S7-300 over PROFIBus DP. The drive is rated 250 kW (frame size GX for PM250 at the 200-250 kW step) and is being brought up in STARTER for the first time. Once the PROFIdrive telegram is loaded, two symptom chains are reported from the field:

  • HMI-driven ON via PQW354 commands the drive to magnetise and pull current (~140 A in this installation), but the motor does not rotate. The received PZD2 main setpoint r2050[1] reads 0.000 even though the S7-300 is cycling a non-zero value on PQW356.
  • BOP-2 Hand mode becomes inert. The motor did rotate off the BOP-2 before PROFIBus was enabled; after enabling, the BOP-2 itself is ignored.

The combination of "current flowing but no rotation" plus "BOP-2 dead after commissioning" is the canonical field signature of STW1 bit 10 (Control by PLC) being inverted, de-bounced, or simply left floating in the BICO map of the SINAMICS drive. The parameter p2037 and the BICO interconnect of p854 (or its 4-digit form p0854) on CU240E-2 are the levers that return the system to normal.

Functional statement (per CU240E-2 List Manual): When STW1 is not transferred over PROFIBus (no PZD1), set p2037 = 2. When STW1 is transferred (PZD1 in use), BICO p854 must be driven by r2090.10 so the PLC bit takes effect.

2. Hardware and Software Stack Identification

The fault is reproduced with the following stack. Use this table to validate that you are reading the right parameter manual before applying the corrections.

Component Order code / version Role in the fault chain
SINAMICS G120 PM250 power module 6SL3224-0XE42-0UA0 (250 kW, FSA GX) Inverter section with integrated braking chopper and built-in line filter
SINAMICS Control Unit CU240E-2 DP (6SL3244-0BB12-1PAx family) Hosts PROFIBus DP slave interface, BICO and parameter storage
Operator panel BOP-2 (Basic Operator Panel 2) Local Hand/Auto, setpoint source switching
Controller SIMATIC S7-300 (e.g. CPU 315-2 DP) Cyclic PROFIBus DP master writing PQW354/356 and reading PIW354/356
Engineering / commissioning STARTER / Startdrive V5.x or later Online scope, control panel, BICO editor
PROFIBus telegram Standard telegram 1 (PZD-2/2) or free telegram 999 STW1/ZSW1 (PZD1) + NSOLL/A (PZD2) + command/status extensions
Cabling PROFIBus DP, 1.5 Mbit/s typical, shielded twisted pair Slave address and bus termination per G120 manual

3. Root Cause Analysis: Why the Motor Draws Current but Will Not Rotate

On a SINAMICS G120, the path from "ON command" to "shaft rotation" runs through three cascaded gates:

  1. Control word path. STW1 bit 0 (ON/OFF1), bit 1 (OFF2), bit 2 (OFF3), bit 3 (Enable/inhibit pulses), and bit 10 (Control by PLC) gate the gating unit. The drive releases pulses only when each of these bits acknowledges "permissive."
  2. Setpoint path. A valid main setpoint must arrive at the speed controller input. The default wiring is p1070 = r2050[1] (PROFIdrive PZD2 → main setpoint). Trace this with STARTER's commissioning trace from source to p1155r0062r0021 (n-set smoothed).
  3. Limits path. Torque and speed limits in p1520 / p1521 / p1530 / p1531 and the ramp generator p1120 / p1121 / p1135 must be permissive. A clamped limit will hide a valid setpoint.

Field observed: current is flowing (~140 A on a 250 kW drive) even though n-set = 0. This is the magnetisation current while the drive is waiting on the gating unit or on an internal enable that holds the inverter in a pre-excited state. The shaft does not turn because either pulses are not enabled (gating unit latched off) or the ramp is being held at zero by an internal interlock.

The most common cause, and the one confirmed in the field report, is that the PLC has not actually placed STW1 in PZD1 of the cyclic frame (or it has placed it, but the BICO of "Control by PLC" has not been routed to the gating unit). The drive therefore enters the state where it "is told to run" via DI0 + ramp, but it never grants the gating unit.

Engineering rule of thumb: If r2090 = 0x0000 AND the drive is still pulling >0 magnetisation current after an ON, then look at p2037 and the BICO of the Control-by-PLC bit before chasing a setpoint issue.

4. PROFIdrive Control Word (STW1) Reference for Telegrams 1 and 20

The PROFIdrive control word STW1 is the 16-bit supervisor signal that the master places at the top of every PROFIBus cyclic frame. The mapping below is taken directly from the PROFIdrive profile (PNO Order No. 3.072) and reproduced in the SINAMICS G120 List Manual:

Bit Meaning (PNO 3.072 standard telegram 1) Effect on gating unit / setpoint
0 ON / OFF1 Rising edge issues ON; 0 = ramp stop then OFF1
1 OFF2 (coast stop) 0 = immediate pulse inhibit, coast-down
2 OFF3 (quick stop) 0 = quick-stop ramp with p1135, then pulse inhibit
3 Enable / inhibit pulses 0 = inverter pulses locked, no torque
4 Ramp-function generator enable (RFG) 0 = RFG hold; ramp output frozen
5 RFG start (unfreeze ramp) 0 = RFG stopped; output stays at last value
6 Setpoint enable (release setpoint) 0 = setpoint held at 0; ramp output held
7 Acknowledge fault Rising edge clears fault state (F-class)
8 Reserved / jog bit (telegram specific) Use per PNO mapping
9 Reserved
10 Control by PLC (PLC master control) 0 → drive ignores PLC-issued setpoints and commands; PLC has no priority
11 Reverse direction (invert setpoint sign) 1 → setpoint negated before ramp
12, 13 Reserved / drive-specific Refer to CU-specific list manual
14, 15 Reserved

STW1 bit 10 is the single bit that decides whether the PLC or the local source (BOP-2, terminal strip, fixed setpoints) is in charge. The drive refuses to honour the PLC speed setpoint and ON command when "Control by PLC = 0," regardless of how much current is being drawn on the line.

5. Parameter Reference: p2037, p854 / p0854, p2050, p2051, r2090

The BICO map of a SINAMICS G120 carries dozens of interconnect parameters. The five that fix the present fault are summarised below. Always cross-check values with STARTER's online view, because bit indices differ slightly between Control Unit firmware generations.

Parameter Direction Functional meaning Drive-side default Recommended value
p2037 Setting PROFIdrive telegram-mode selector. Value = 2 tells the drive "STW1 is not transported via PROFIdrive PZD1; treat PLC control words as a local hand-off and accept local sources such as the BOP-2." 0 / 1 (telegram-driven) 2 only when PZD1 cannot transport STW1; otherwise leave at 1
p854 / p0854 BICO input (BI) Source for "Control by PLC" signal. On CU240E-2 firmware, the source is exposed as an indexed array p854[0] / p854[1]; in older G120 firmware the same function lives under p0854. Unconnected or r2090.10 r2090.10 (so PLC STW1 bit 10 controls gating)
p2050 / r2050 Cyclic I/O (received) PZD word received from PROFIBus. r2050[0] = STW1, r2050[1] = NSOLL (main setpoint), r2050[2..] = extensions. Mapped per telegram Verify r2050[0] updates each bus cycle (must NOT remain 0x0000 if PLC is transmitting)
p2051 / r2051 Cyclic I/O (sent) PZD word transmitted back to PLC. r2051[0] = ZSW1 (status word), r2051[1] = NIST (actual speed). Mapped per telegram Verify r2051[0] reports ZSW1 bits 0..10 are reasonable
r2090 Display Bit-image of the four received PZD words. r2090 is the bit view of received word 0 (STW1). 0x0000 until first telegram arrives Must update to 0x04xx or 0x0Cxx once PLC transmits
Factory guidance (per CU240E-2 Operating Instructions): STARTER help recommends leaving p2037 at its default value of 1 (PROFIdrive telegrams with STW1 in PZD1). Changing p2037 is a last resort when you cannot place STW1 in the cyclic frame.

6. Step-by-Step Resolution Procedure

Apply the procedure below in the order written. Each block ends with a check you must satisfy before moving on.

6.1 Confirm the PROFIdrive telegram and slave address

  1. Open STARTER → drive project → Communication → confirm the PROFIBus slave address and baud rate match the SIMATIC hardware configuration (HW Config).
  2. Confirm the same telegram is selected on both sides. For 250 kW drives with PZD-2/2 the standard is telegram 1. If the project uses free telegram 999, hand-write the PZD mapping.
  3. Switch the drive online. In Diagnostics → Telegram view, watch the four received PZD words and the four transmitted PZD words byte by byte.

6.2 Verify whether the PLC is actually putting STW1 in PZD1

  1. In STARTER, write r2090 to the watch list.
  2. Toggle an ON command from S7-300 (forward pattern: STW1 = 0x047F; reverse: 0x0C7F; OFF1 stop: 0x047E).
  3. If r2090 stays at 0x0000, the PLC is not transmitting STW1 in PZD1. You now have two paths:
    • Path A (preferred): fix the S7-300 side so STW1 is placed in PQW. This is the recommended solution and avoids re-architecting the drive.
    • Path B (workaround): set p2037 = 2. The drive now treats local control sources as authoritative and ignores the absence of PZD1.

6.3 Wire "Control by PLC" in BICO

  1. In STARTER → Drive → Configuration → BICO interconnects, place the cursor on p854[0] (or p0854 per your firmware) and select "Interconnect".
  2. Drive-type the source as r2090.10 (the value of STW1 bit 10 received from PROFIBus).
  3. Repeat for p854[1] if your firmware exposes an index 1 source.
  4. Click RAM to ROM to persist the change.

6.4 Place STW1 in PZD1 of the cyclic frame (PLC side)

  1. Open SIMATIC HW Config → SINAMICS G120 slave → tab PROFIBus DP interface.
  2. Confirm PZD-2/2 (or your chosen telegram) is selected.
  3. In OB1 (or your cyclic OB), copy a word into PQW354 containing the STW1 bit pattern you build from M-bits or DB bits:
    // STW1 template (no reverse)
          L     W#16#047F        // ON + OFF2 + OFF3 + Enable + RFG-EN + RFG-START + Setpoint-EN + Ctrl-by-PLC
          T     PQW 354          // first PZD word (STW1)
    
    // NSOLL/A (rpm or normalised value depending on telegram scaling)
          L     DB100.DBD200     // signed REAL scaled by telegram mapping
          T     PQW 356          // second PZD word (NSOLL)
  4. Re-activate the drive in HW Config and run the PLC in RUN.

6.5 Verify the gating unit is now permissive

  1. Look at STARTER's Control Unit status read-out:
    • r0899.0 = 1 → Ready to switch on (no fault, healthy bus).
    • r0899.1 = 1 → Ready (operating conditions ok).
    • r0899.2 = 1 → Operation enabled (pulses released, motor turning).
    • r0899.9 = 1 → Control requested (PLC asserts master control).
  2. Watch current rise to its expected level above r0068 (current limit) and the shaft starts to turn.

7. Restoring BOP-2 Local Control After PROFIBus Commissioning

The BOP-2 Hand key on a SINAMICS G120 hands the drive to "Local" mode. Local mode is a master, like the PLC: the BOP-2 setpoint and commands supersede PROFIdrive while the drive is in Local. As soon as you press Auto, the drive returns to the parameterised remote source (your PLC). The "Hand" master is the setpoint and control master, just like when you use the STARTER control panel.

The reason BOP-2 stopped working after the field commish is one of the following:

  • PLC holds Control-by-PLC = 0. Even if the BOP-2 is in Hand, the gating unit still evaluates the BICO of Control-by-PLC. With that signal = 0 the inverter will not pulse. The fix is to either force BOP-2 Hand (which forces the local master internally and locally overrides Ctrl-by-PLC) OR ensure STW1 bit 10 = 1 in PZD1.
  • BOP-2 source selection bit was changed. On CU240E-2 the BOP-2 setpoint is tied through p1075 (BI: supplementary setpoint), p1070 (main setpoint), and the motor potentiometer bits p1035/p1036; verify these are not pinned to the PLC source if you want local operation.
  • Drive in fault state. A pending F-fault that was never acknowledged blocks both the BOP-2 and the PLC. Check r0947 and acknowledge via STW1 bit 7 or the BOP-2 fault reset.
HMI/PLC command interaction: The "Hand" mode of the BOP-2 is the setpoint and control master. It overrides any other command and setpoint until you press "Auto". This is true for both command source and setpoint source. Do not try to fight it from the PLC.

8. PLC Configuration Reference (S7-300, PQW/PIW 354-358)

The following map is the canonical PROFIdrive PZD-2/2 layout for a G120 over PROFIBus with a SIMATIC S7-300 master. Use it to cross-reference the field report (PQW354 carrying the command value, PIW354 carrying the status word).

I/O address Direction PZD slot Contents Units / scale
PQW 354 PLC → drive (output) PZD1 / word 0 STW1 (control word 1) 16-bit, 1 = true
PQW 356 PLC → drive (output) PZD2 / word 1 NSOLL (main setpoint) 16-bit normalised (4000hex = rated); N2 telegram scales this to rpm
PIW 354 drive → PLC (input) PZD1 / word 0 ZSW1 (status word 1) 16-bit, 1 = true
PIW 356 drive → PLC (input) PZD2 / word 1 NIST (main actual) 16-bit normalised, scaled by telegram

If you use a free telegram (e.g. 999) you must wire each PZD by hand on both the SIMATIC and SINAMICS sides. The eight-byte form (PZD-4/4) extends NSOLL into two 16-bit words for 32-bit precision at low speeds; this is common on 250 kW drives where motor shaft speed precision matters.

9. Verification and Acceptance Test (Static and Dynamic)

9.1 Static acceptance

  1. Drive in "Ready" status. r0899.0 = 1, no faults pending (r0947 = 0).
  2. PLC transmits STW1 = 0x047F (no reverse). The drive reads r0899.0-1-2 as "Ready → Ready → Operation enabled" once the ramp finishes.
  3. PLC ramps NSOLL from 0 → 10 % rated. r0021 tracks r0062 after the ramp generator p1120. r0899.10 ("f or n reached") becomes 1.

9.2 Dynamic acceptance

  1. Command 10 / 50 / 100 % rated in three steps. r0021 should settle within the ramp time setting p1120 for each step.
  2. Command STW1 bit 11 = 1 to enable reverse. Confirm r0021 becomes negative.
  3. Drop STW1 bit 0 = 0 (OFF1). The drive should ramp down per p1121.
  4. Drop STW1 bit 1 = 0 (OFF2). The inverter pulses should inhibit immediately and r0021 falls as a coast-down.
  5. Drop STW1 bit 10 = 0 (Control-by-PLC = 0). The drive should refuse further setpoints, signal "Control requested" clearing in ZSW1 bit 9, and the BOP-2 setpoint should now drive the motor. This is the inverse of the failure mode you came in with.

9.3 STARTER control-panel diagnostic

If a fault returns after the above procedure, open STARTER → Control Panel, assume control, and jog the drive locally. From there use the trace function to plot:

  • r0062 (setpoint before RFG)
  • r0021 (setpoint after RFG, smoothed)
  • r0022 (actual speed, smoothed)
  • r0023 (output voltage, smoothed)
  • r0031 (actual torque)
  • r0068 (actual current, absolute)

This trace captures the exact moment a setpoint goes to zero and shows whether it is being clamped at RFG input, ramp rate, or RFG output.

10. Field-Proven Troubleshooting Matrix

Observation Likely cause First parameter(s) to verify Corrective action
Current flows (~magnetising) but motor does not turn Gating unit latched off (missing Control-by-PLC or OFF2/3) r2090, p854 / p0854, r0899.2 Force STW1 bit 10 = 1 via PLC or set p2037 = 2 if PZD1 cannot transport STW1
Drive runs after STARTER control panel but not via PLC PLC not writing to PQD or wrong telegram r2090, HW Config, PQW354 Re-check S7-300 HW Config and OB1 cyclic write
r2050[1] (NSOLL) reads 0 even with PLC writing PQW356 Source mapping broken: PLC writes but BICO is not pointing at the right PZD slot p1070, p2050, p922 Re-map NSOLL slot; check BICO source of main setpoint
BOP-2 in Hand is dead Control-by-PLC held at 0 by PLC even when drive commands OFF p854 source, p2037, r2090.10 Disconnect PLC from Control-by-PLC path or use p2037 = 2
Drive faults F07900, F07902 Motor speed / torque limit violated r0947, p1520, p1521, p1530, p1531 Re-rate limits or set up a torque-limit BICO
Drive faults F08xxx (bus time-out) PROFIBus interruption during run, defective connector, or terminated spur PROFIBus diagnostics, r0947 Check connections; configure bus monitoring time on CU240E-2 to allow line-break rundown
r2090 always 0x0000 with PLC active Wrong telegram or wrong slave address mapping p0922, p2040, HW Config Verify telegram and slave address on master side
ZSW1 bit 9 (r0899.9) holds 0 even when bit 10 in STW1 is set Mismatch between telegram mapping and BICO; PLC STW1 in PZD2 instead of PZD1 p2051 mapping table Re-pair telegram in HW Config and STARTER

11. Documentation, Firmware, and Standards Cross-References

The diagnostic and corrections above reference the following authoritative Siemens and PNO materials. Use the editions appropriate to the CU240E-2 firmware that your project carries on the unit; parameter numbers are stable from V4.5 onwards and re-occurrences on firmware V5.x have been kept for backward compatibility.

Editor's note on firmware: The CU240E-2 firmware has been through multiple Service Packs (SP) since the field report was filed. Always re-validate the parameter access (p2037, p854, p0854) against the running firmware revision in r0014 = 525xxx (xx = SP) before declaring a fix stable.

12. Frequently Asked Questions

Why does my G120 drive magnetise (~140 A) but not rotate when turned on from PROFIBus?

Most likely the inverter is in a "Ready, pulses disabled" state: the gating unit is waiting on bit 10 (Control by PLC) of STW1, or the BICO for that bit is not yet wired. Verify r2090 non-zero, then wire p854[0] = r2090.10. If the PLC cannot transport PZD1, set p2037 = 2 as a workaround.

What does BOP-2 "Hand" mode actually override on a G120?

Hand makes the BOP-2 both the command source and the setpoint source. It takes priority over the configured remote source as long as the inverter is "Ready" or running. Hand does not, however, override the safety-side signals (STO via terminals, PROFIsafe) nor an OFF2/OFF3 hard-wired to a low-edge input.

When should I set p2037 = 2 on a SINAMICS G120?

Use p2037 = 2 only when STW1 cannot be transported in PZD1 of your cyclic frame (e.g. master transmits only setpoint, not control word). Per the parameter manual and the STARTER help, prefer leaving p2037 = 1 and instead ensure PZD1 is transmitted and BICO p854 = r2090.10 is wired.

How do I wire the "Control by PLC" bit in BICO?

On a CU240E-2 DP the standard interconnect is p854[0] = r2090.10. The index 1 form is exposed on firmware that offers dual gating paths. In STARTER, drag the source onto the BICO entry of p854 (or the equivalent p0854 on older firmware) and save to ROM.

Why is r2090 = 0x0000 even though my S7-300 is transmitting?

Three usual causes: (1) wrong slave address or wrong telegram selected in HW Config; (2) the OB1 writes to PQW offsets that do not match the address in the slave module list (verify in the slave dialog "PROFIBus DP I/O Mapping"); (3) the drive telegram selection in p0922 differs from the master. Diagnose with STARTER's cyclic-frame live view.

Back to blog