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:
- Switching the active Drive Data Set (DDS) once the ramp completes so that a tighter current-limit profile becomes active.
- 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.
- 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 |
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
- Set p0180 = 0 (DDS0 active).
- 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.
- 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.
- 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.
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)
4.2 Parameter assignments
- Configure the runtime group (p20030[0] = 4 ms) — every block runs at 4 ms; suitable for a 500 ms debounce.
- 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. - Configure AND_1: input 1 = CMP_1 output, input 2 = r2197.7. Output drives binector
b11. - 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. - 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.
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
- Open Online → Drive → Functions → Free Blocks.
- Set runtime group 1 sampling time to 4 ms (
p20030[0] = 4). - Insert CMP_1: assign
X = r0035[0],Y = 2.50(referenced against a constant set byp2170). - Insert AND_1: input 1 = CMP_1.output (b10), input 2 = r2197.7 (b5).
- Insert DLY_1 (PT1 or PT2 with T = 500 ms): output goes to b12.
- Wire
p2103= b12 (BiCo source). Setp2100= 7810 ("External fault 1"). Setp2101= OFF2. - Save to RAM → ROM, then perform "Copy RAM to ROM".
7.3 Verification
- Force
b12 = 0via the trace tool; confirm drive is in RUN with motor at 1500 RPM and 2.3 A. - Briefly load the motor to 2.6 A by mechanical braking or by raising speed reference slightly above the mechanical capacity.
- Verify the drive raises F07910 / F07810 within 500 ms ± 50 ms and responds with coast-to-stop (OFF2).
- Reset the fault via digital input configured as
p2104 = DI3(acknowledge) or by toggling ON/OFF. - 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
- SINAMICS G120C Operating Instructions (Compact Operating Instructions, FW V4.7) — parameter list, terminal layout, commissioning flow.
- SINAMICS G120C List Manual (Firmware V4.7 SP10) — full BICO table including p2051 PZD assignments.
- SINAMICS S120/S150/G130/G150 Free Function Blocks Application Manual — block library reference for FFB.
- STARTER Commissioning Tool Online Help — FFB editor workflow.
- SINAMICS G120 Getting Started with Startdrive — TIA Portal integration.
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.