SINAMICS G120C Current Limit Switching After Ramp Complete

David Krause15 min read
SiemensTechnical ReferenceVFD / 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

SINAMICS G120C Current Limit Switching After Ramp Complete

The SINAMICS G120C is a compact, modular frequency inverter from the SINAMICS V family, available in frame sizes FSA through FSF covering 0.55 kW to 132 kW in 400 V and 0.55 kW to 18.5 kW in 230 V variants. A recurring application requirement on this platform is the ability to allow high inrush/acceleration current during the ramp phase (for example, 6 A) but to clamp or trip the drive at a much lower current once the motor has reached setpoint speed and is in steady-state operation (for example, 2.5 A). The factory firmware of the G120C (as of firmware V4.7 SP10 and later G120C-specific revisions up to V5.2) does not provide a single built-in parameter that performs this context-sensitive clamp automatically. The required behaviour must be engineered using one of three proven approaches:

  1. Switching the active Drive Data Set (DDS) once the ramp completes so that a tighter current-limit profile becomes active.
  2. Implementing custom trip logic using the drive's internal Free Function Blocks (FFB) and the BICO (Binector / Connector) interconnection system, generating an external fault via a digital output wired to an external fault input.
  3. Moving the supervision into the supervising PLC (S7-1200, S7-1500, ET 200, or third-party controller) over PROFINET/PROFIBUS using cyclic PZD word r0027 (current utilisation) or r0035[0] (motor current actual).

This reference documents the parameter structure, BICO interconnect points, FFB block layout, and PLC-side code required to implement each approach on a production machine.

1. SINAMICS G120C Current Monitoring and Limiting Architecture

Before implementing context-sensitive current clamping, the engineer must understand how the drive internally generates, monitors, and limits current. The following parameters are central.

Parameter Name Function Units / Range
p0305 Rated motor current Nameplate current of the connected motor; defines 100 % current utilisation. 0.01 A resolution
p0640 Current limit (variable) Soft torque/current limit applied across all operating states including the ramp. 0 – 400 % of p0305
p1520 / p1521 Torque limit upper / lower When the current limit is set via torque, these define the upper and lower torque clamps that indirectly bound current. Nm or %
p2170 / p2171 Current threshold / hysteresis Sets an "I_act > threshold" binector that becomes TRUE when smoothed motor current exceeds the threshold. 0 – 400 % of p0305
r0027 Actual current utilisation Cyclic PZD output word, smoothed % of rated current (resolution 0.01 %/100). 0 – 400 %
r0035[0] Motor current actual (smoothed) Cyclic PZD output, motor current in A RMS. A RMS
p2175[0…n] Motor speed threshold for "speed reached" Threshold used internally for the binector output "r2197.7 = speed reached" (signal source for the FFB approach). RPM
r2197.0 – r2197.15 Status word 1 of monitoring functions Bitfield of monitoring results: bit 7 = "speed reached within tolerance p2164"; bit 5 = "n_act < p2166 threshold"; bit 4 = "I_act > p2170 threshold". Binector bits
p2100 / p2101 Fault trigger selection / response Configures an external trigger to invoke F07801/F30801 "power unit overtemperature" style responses, or a freely-defined fault. Selectable fault number
p2103 / p2104 BiCo source for fault 1 / fault 2 Defines which binector raises the OFF1/OFF2/OFF3 fault defined in p2100. Binector index
p2122[0…15] External fault trigger input via DI Binector selector for which digital input may trigger the externally-defined fault. DI index
Note — I²t and thermal model first: Before adding context-sensitive protection, configure the motor thermal model correctly. p0610 (motor I²t reaction) and p0611 (motor I²t time constant) should be matched to the connected motor. The internal thermal model already protects the motor against sustained overload, but it is a slow integrator and will not provide the sharp <1 s response required to trip at 2.5 A while the ramp has 6 A available.

2. Why a Single Parameter Will Not Solve the Problem

The most common misconception when starting on the G120C is that p0640 "Current limit" can be modulated during operation. p0640 is read at run-up and during the current controller update; while it can be reparameterised via BICO or PLC, the SINAMICS current controller still applies it globally — there is no built-in state machine that says "use 6 A during ramp, switch to 2.5 A after ramp complete".

The drive does provide p2170/p2171 which generates an "I_act > threshold" binector that can be wired to a fault or warning. However, the user must explicitly select which operating mode (steady-state vs transient) the threshold applies to. The cleanest way to gate that binector is to AND it with the "speed reached within tolerance" status bit, which is what the FFB approach does.

3. Method A — Drive Data Set (DDS) Switching

The G120C supports up to four independent Drive Data Sets, indexed p0180 = 0, 1, 2, 3. Each DDS has its own copy of every motor control parameter including p0640 (current limit), p2170 (current threshold for warning), p2100/p2101 (fault configuration), and the ramp time p1120/p1121.

3.1 Configuring two DDS sets

  1. Set p0180 = 0 (DDS0 active).
  2. Program p0640[0] = 12.0 A (or 200 % of p0305) for the ramp phase. Set p1120[0] = 5 s for the desired ramp duration. Program p2170[0] = 50 % of p0305 as a soft warning during ramp.
  3. Activate DDS1: set p0180 = 1, then program p0640[1] = 5.0 A (the steady-state clamp). Set p2170[1] = 60 % of p0305 to allow the 2 A nominal current but trip at 2.5 A using the F07801 / OFF1 configured in p2100/p2101 of DDS1. Set p1120[1] = 1 s so any unintended switch while running does not cause a jerk.
  4. Set the second motor data set switching source. Use p0820 = "BICO select DDS bit 0" and wire p0820 to a digital input. With one DI (for example, DI3) configured as bit 0, LOW selects DDS0 (6 A allowed, ramping), HIGH selects DDS1 (2.5 A clamp, post-ramp).

3.2 Switching the DDS at end of ramp

The cleanest moment to switch is when the ramp generator output equals the setpoint, which corresponds to status bit r2197.7 "speed setpoint reached / ramp complete". Two implementation options exist:

  • PLC-driven: PLC reads r2197 (status word ZSW1 in the PZD telegram, bit 7), waits for an additional debounce time (typically 500 ms after bit 7 goes high), then writes p0820 = 1 via acyclic PKW (PKE/IND/PWE) or sets the configured DI high.
  • Drive-internal: use a Free Function Block AND gate with r2197.7 + ramp-time-elapsed to drive a digital output that is wired back to DI3.
Safety note on hot DDS switching: SINAMICS allows DDS switching on rotating motors; the drive re-evaluates the controller parameters at the next current controller cycle (typically 250 µs for VECTOR control, 2 ms for V/f). On a G120C with firmware V4.7 SP3 and later, parameter set change on-the-fly during rotation is supported and will not produce a fault. Confirm on your specific FW by checking r3996 (operation hours) against the firmware release notes.

4. Method B — Free Function Blocks (FFB) Trip Logic

The G120C firmware ships with a fixed library of Free Function Blocks in the runtime group "Free Blocks". Each runtime slot (sampling time p20030[0..15]) can be configured to one of: AND, OR, XOR, NOT, NAND, NOR, ADD, SUB, MUL, DIV, LIM (limiter), INT (integrator), DIF (differentiation), PLG (polyline), PT1 (1st order lag), comparator CMP, signal-switching SW, signal-tracking ST, RS flip-flop, D flip-flop, MMA (motorised potentiometer), NSIN (sine), COSL (cosine lookup), ABS (absolute), ANA (analog multiplexer), DIVMOD.

4.1 Block diagram (steady-state current trip)

r0035[0]Motor current (A) r2197.7Speed setpoint reached CMP_1r0035 > 2.5 A AND_1Trip = CMP & reach DLY_1 (500 ms)Anti-jitter delay DOUT_1To p2103 external fault p2103 = r2090.13

4.2 Parameter assignments

  1. Configure the runtime group (p20030[0] = 4 ms) — every block runs at 4 ms; suitable for a 500 ms debounce.
  2. Configure CMP_1 (comparator) in the FFB editor of STARTER / SINAMICS Startdrive: input X = r0035[0] (BICO source 0:53, scaled to A), input Y = p2170 reference (2.5 A scaled). Output drives binector b10.
  3. Configure AND_1: input 1 = CMP_1 output, input 2 = r2197.7. Output drives binector b11.
  4. Configure DLY_1 (signal tracking / delay): use the FFB "SW" or "PLG" block; on rising edge of b11, start 500 ms timer; if b11 remains high for 500 ms, output to binector b12 = TRUE.
  5. Wire binector b12 to p2103 (BiCo source of external fault 1). Set p2100 = 0 (no fault number — but actually set p2100 to 7810 to use the standard "External fault 1"), and set p2101 = OFF2 (response: coast-to-stop) or OFF3 (fast ramp stop) per safety analysis.
Warning — F07810 vs F07910: When using the "External fault 1 from BiCo source p2103" path, the fault displayed depends on your firmware. V4.7 SP3 displays F07910; V5.1 displays F07810; V5.2 SP1 displays F07936 "External fault 3 from command source". Map the appropriate response in p2101 regardless of which fault number the firmware maps to internally.

5. Method C — PLC-Side Supervision over PROFINET

For machines already integrated with a SIMATIC controller, the most maintainable approach is to monitor r0027 (current utilisation %) or r0035 (current A) in the PLC and trigger a controlled stop.

5.1 Telegram and PZD mapping

Standard telegram 1 (STW/ZSW + NSOLL/IST) does not include r0027 or r0035. Use one of:

  • Telegram 350 (free PZD configuration) — assign PZD3 output = r0027, PZD4 output = r0035[0]. Configure via p0922 = 350, then assign p2051[2] = r0027, p2051[3] = r0035[0]. The PZD type must be normalised word (16-bit) and r0027 will be reported in 0.01 %/100, r0035 in 0.01 A.
  • Telegram 20 — Siemens standard extended telegram including status word r2089[0] and a selectable word that can be assigned to r0035 directly.

5.2 SCL / LAD sample (TIA Portal, S7-1200/S7-1500)

// Variables
iRawCurrent  : INT;        // PZD3 from drive, r0027 scaled 0.01%/100
iRawAmps     : INT;        // PZD4 from drive, r0035 scaled 0.01 A
rPctCurrent  : REAL;
rAmps        : REAL;
bRampDone    : BOOL;       // From PZD1 ZSW bit 7 (r2197.7)
bTrip        : BOOL;

// Scale PZD words
rPctCurrent := INT_TO_REAL(iRawCurrent) / 100.0;     // %
rAmps      := INT_TO_REAL(iRawAmps)  / 100.0;      // A RMS

// Steady-state trip
IF bRampDone AND (rAmps > 2.5) THEN
    bTrip := TRUE;
END_IF;

// Drive stop via control word
IF bTrip THEN
    iDriveControlWord.%X1 := TRUE;    // OFF2 (coast)
END_IF;

5.3 Debounce and ramp-detection

A 500 ms ON-delay is recommended to avoid nuisance trips on momentary transients during the last 10 % of the ramp where torque ripple can briefly exceed 2.5 A. Implement an SFB "TON" with PT = T#500ms.

iTON_001(
    IN := (rAmps > 2.5) AND bRampDone,
    PT := T#500MS,
    Q  => bTripRequest);

// Drive accepts OFF1/STW bit 0 = FALSE for ramp stop, OFF3 (bit 2) for fast ramp
IF bTripRequest THEN
    iDriveControlWord.%X0 := FALSE;   // ramp-down via OFF1
    iDriveControlWord.%X2 := TRUE;    // OFF3 (fast ramp)
END_IF;

6. Implementation Comparison Matrix

Criterion DDS switching (A) FFB trip logic (B) PLC supervision (C)
Trip latency from threshold crossing ~250 µs (current controller cycle) ~500 ms (debounce) + FFB run-time (~4 ms) PROFINET cycle (~1 ms) + 500 ms debounce + PLC cycle
Implementation complexity Medium — parameter duplication High — FFB editor wiring Low — straightforward code in existing PLC
Standalone operation (no PLC) Yes (DI-wired) Yes (drive-internal) No — requires controller
Field adjustability Two sets; switching is binary Single threshold per FFB chain Full flexibility in PLC code
Safety integrity (SIL claim) Limited by DDS diagnostic Highest when wired to OFF2 via p2101 Depends on PLC scan and bus cycle
Diagnostic clarity Fault displayed is whichever DDS was active F07910 / F07810 with timestamp in r0947/r2125 Custom fault logged in PLC HMI tag
Firmware compatibility V4.4 and later V4.7 SP3 and later (FFB library stable) All G120C firmware versions
Recommended use case Single binary transition at end of ramp Standalone machine without PLC Integrated machine line with S7 controller

7. Step-by-Step Commissioning (Method B — FFB)

7.1 Prerequisites

  • SINAMICS G120C with Control Unit CU240S2 PN or CU240S2 DP (firmware ≥ V4.7 SP3).
  • STARTER V5.1 SP1 / SINAMICS Startdrive V15.1 (or later) commissioning tool installed.
  • Motor nameplate data entered; quick commissioning completed; motor identification run successful.
  • STARTER project online; drive in STOP / READY state.

7.2 Procedure

  1. Open Online → Drive → Functions → Free Blocks.
  2. Set runtime group 1 sampling time to 4 ms (p20030[0] = 4).
  3. Insert CMP_1: assign X = r0035[0], Y = 2.50 (referenced against a constant set by p2170).
  4. Insert AND_1: input 1 = CMP_1.output (b10), input 2 = r2197.7 (b5).
  5. Insert DLY_1 (PT1 or PT2 with T = 500 ms): output goes to b12.
  6. Wire p2103 = b12 (BiCo source). Set p2100 = 7810 ("External fault 1"). Set p2101 = OFF2.
  7. Save to RAM → ROM, then perform "Copy RAM to ROM".

7.3 Verification

  1. Force b12 = 0 via the trace tool; confirm drive is in RUN with motor at 1500 RPM and 2.3 A.
  2. Briefly load the motor to 2.6 A by mechanical braking or by raising speed reference slightly above the mechanical capacity.
  3. Verify the drive raises F07910 / F07810 within 500 ms ± 50 ms and responds with coast-to-stop (OFF2).
  4. Reset the fault via digital input configured as p2104 = DI3 (acknowledge) or by toggling ON/OFF.
  5. Capture the event with the STARTER trace at 4 ms sampling — confirm binector b10, b11, b12 transition sequence.

8. Edge Cases and Field-Proven Caveats

8.1 Motor current spikes on mains dips

If the supply network has frequent short dips, the inrush to maintain torque can produce 3 A spikes of < 100 ms that should not be considered a fault. Either (a) raise the debounce in DLY_1 to 1 s, or (b) use a PT1 filter with T = 200 ms on r0035 before feeding CMP_1.

8.2 V/f control mode vs Vector control

In V/f mode (p1300 = 0, 1, 2) the drive does not precisely control current; r0035 reflects the measured line current and can be lower than the true motor current at low speed. For tight 2.5 A trip accuracy, switch the drive to Sensorless Vector Control (p1300 = 20) and run motor identification. Without this, a trip threshold of 2.5 A may actually correspond to 3.0–3.5 A of true motor current.

8.3 Asymmetry on three-phase mains

r0035 is the RMS of phase U; the G120C does not report per-phase current unless you switch to r0069[0..5] (phase currents) which requires extending the PZD telegram. If the load is highly asymmetric, monitor the maximum of r0069[0..2] instead.

8.4 Behaviour at zero speed

Below 1 Hz output frequency the FFB comparator on r0035 can chatter if the resolver or encoder feedback is noisy. Add a low-speed mask: AND the trip condition with n_act > 50 RPM (use r0021[0]). Otherwise the drive may trip immediately after a STOP command.

8.5 PLC write race conditions

On PROFINET, p0820 (DDS select) writes via acyclic PKW channel can take 5–30 ms depending on controller scan. If you need deterministic <1 ms switching, drive-internal FFB (Method B) is required.

9. Parameter Quick Reference

Action Parameter Value / Source
Define rated motor current p0305 From nameplate
Set global current limit p0640 DDS0 = 200 % of p0305, DDS1 = 80 %
Define current warning threshold p2170 DDS1 = 100 % of p0305
Hysteresis on current warning p2171 5 %
FFB runtime group 1 sample time p20030[0] 4 ms
External fault 1 source p2103 FFB binector b12
External fault 1 number p2100 7810
External fault 1 response p2101 OFF2
DDS select source p0820 DI3 (binary), or r2090.13 from PROFINET
Free PZD assignment for r0035 p2051[3] r0035[0]
Free PZD telegram selection p0922 350 (free configuration)
Speed-reached tolerance window p2164 10 RPM around setpoint
Speed-reached hysteresis p2165 5 RPM

10. Recommended Implementation Path

For a project where the drive is part of a larger S7-1500 system (typical for a SINAMICS G120C in a machine line), Method C (PLC supervision) is the most maintainable. The PLC already has the application logic, the HMI already shows drive state, and the alarm can be logged with operator-friendly text.

For a standalone retrofit with no PLC, Method B (FFB) is preferred because it survives a PLC failure (the drive will self-protect) and does not require commissioning of a separate controller.

Method A (DDS switching) is recommended when the actual goal is not to trip but to change operating envelope — for example, switch from "high-torque acceleration mode" to "low-torque hold mode" once at speed. It is the cleanest approach when the change is binary and intentional, not a fault response.

11. Related SINAMICS Documentation

12. FAQ

Can the SINAMICS G120C automatically reduce current limit after the ramp completes without external logic?

No. The G120C firmware does not provide a built-in state machine that toggles p0640 (current limit) at end-of-ramp. You must implement the change via Drive Data Set (DDS) switching, Free Function Blocks (FFB), or PLC-side supervision over PROFINET/PROFIBUS.

Which parameter reports the actual motor current on the G120C?

Use r0035[0] for smoothed motor current in A RMS, or r0027 for the smoothed current utilisation in percent of p0305 (rated motor current). For phase-level diagnostics, use r0069[0..5]; these are exposed only with extended PZD telegrams 350 or higher.

How fast will the drive trip at 2.5 A once the speed has been reached?

Trip latency = FFB runtime group sample time (typically 4 ms) + the comparator evaluation cycle + the debounce delay you configure. A 500 ms debounce is typical to filter mechanical transients. Sub-50 ms response is possible by setting p20030[0] = 1 ms and removing the debounce, but nuisance-trip risk increases.

Does DDS switching work while the motor is rotating on a G120C?

Yes. From firmware V4.4 onward, the G120C supports parameter set change on the fly. The current controller continues with the new p0640 within one current controller cycle (250 µs in Vector control, 2 ms in V/f). Always verify with a controlled no-load test before deploying.

What is the difference between p0640, p1520/p1521 and p2170 for current limiting?

p0640 is the absolute current limit in percent of p0305 that the current controller enforces; p1520/p1521 are torque limits (Nm or %) used when torque control is active; p2170 is not a limit but a comparator threshold that fires a warning or fault bit when current utilisation exceeds the value. For a 2.5 A trip, the practical choice is p2170 wired to a fault rather than tightening p0640 below the 6 A ramp current.

Back to blog