Troubleshooting SINAMICS G120 Speed Fluctuation in Fan Drives

David Krause18 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

Troubleshooting SINAMICS G120 Speed Fluctuation in Fan Drives

A five-fan installation driven by Siemens SINAMICS G120 inverters is reported with one unit showing a persistent actual-speed oscillation around the setpoint. Four inverters run cleanly; one unit fluctuates between 1490 and 1530 l/min against a 1500 l/min reference (a band of roughly ±1.3 to ±2 percent), and the BOP shows the motor current stepping from a 10 A baseline to transient peaks of 30 A and 90 A. The hardware, the configuration, and the resolution are reproduced below as a reusable troubleshooting guide for any PM240P-2 / CU230P-2 fan drive exhibiting similar behavior.

1. Problem Description and System Configuration

The reported system comprises:

  • Controller: SIMATIC S7-1515F-2 PN (6ES7 515-2FM01-0AB0), firmware V2.6, programmed in TIA Portal V15.1.
  • Power Module: SINAMICS PM240P-2 IP20-FSD-A-400V-22kW (6SL3210-1RE24-5AL0), 22 kW / 400 V three-phase, frame size FSD.
  • Control Unit: SINAMICS G120 CU230P-2 PN (6SL3243-0BB30-1FA0).
  • Operator Panel: SINAMICS G120 BOP (6SL3255-0AA00-4BA0).
  • Load: Five centrifugal fans in parallel, each fed by an identical drive package.
  • Communication: PROFINET between the S7-1515F-2 PN and the CU230P-2 PN.

The CU230P-2 PN is the HVAC/pump/fan-oriented Control Unit and supports the Standard Drive Control application class with a reduced parameter set, on-board PTC/KTY evaluation, and load monitoring tuned to the quadratic torque-versus-speed characteristic of a centrifugal fan. The full operating instructions are at SINAMICS G120 CU230P-2 Control Unit Operating Instructions; the parameter reference (List Manual) is at SINAMICS G120/S120 List Manual.

The PM240P-2 22 kW module is rated approximately as follows on a 400 V three-phase system:

  • Rated output current: 45 A
  • Base-load current (IL): 45 A
  • Maximum output current for 3 s (overload): 67.5 A
  • Peak output current (peak load cycle): 90 A

The reported 90 A peak therefore reaches the inverter's hard hardware current limit. A centrifugal fan with a quadratic load curve does not, by itself, demand 200 percent of rated current during steady state; the observed 9× excursion is a control-loop artifact, not a process demand.

Diagnostic indicator: the 10 A → 30 A → 90 A current step is the most informative measurement in this case. It establishes that the drive is hitting its current limit and that the speed controller's torque demand is being clamped. This single observation directs the entire subsequent troubleshooting.

2. Symptom Analysis: Reading the Speed Excursion

Before any parameter change, the speed excursion must be characterized. The following read-only parameters are visible on the BOP or via the CU230P-2 webserver and should be recorded over a five-minute window at the field setpoint:

Parameter Quantity Unit What it tells you
r0021 Actual speed rpm or % The actual mechanical speed at the motor shaft
r0027 Output current (smoothed) A Real-time motor current demand
r0031 Actual torque Nm Mechanical load torque
r0063[0] Speed setpoint after ramp rpm The setpoint the speed controller is chasing
r0079[0] Torque setpoint Nm The torque the speed controller is demanding
r0080[0] Torque utilization % Approach to torque limit

A 10 A baseline corresponds to roughly 22 percent of the 22 kW drive's rated current, which is consistent with a fan running at 50-70 percent of rated flow (centrifugal fan power scales with the cube of speed). The 90 A peak is 200 percent rated, which can only originate from one of:

  1. The current controller activating transiently to protect the IGBTs.
  2. A momentary stall, sudden load step, or mechanical jam.
  3. Acceleration energy injected by an unstable speed controller.
  4. V/f instability at low slip and low motor inductance.

The "every few seconds" periodicity rules out a single mechanical shock and points to a control-loop limit cycle. Fan mechanical load is non-oscillatory; therefore the oscillation source is inside the drive.

3. Root Cause Analysis: Three-Contributing-Factor Model

For a SINAMICS G120 driving a centrifugal fan, ±2 percent speed fluctuation with sub-second current spikes typically arises from a combination of three factors. Each factor alone can produce a borderline-acceptable drive; in combination they produce the symptom described.

Cause 1: Un-tunedspeed controller Cause 2: Inadequatecurrent / torque limit Cause 3: Loosepower terminal Observed symptom:speed 1490-1530, current 10/30/90 A step

Cause 1 — Un-tuned speed controller. A low proportional gain (p1450) combined with a long integral time (p1451) cannot damp disturbances fast enough; the controller oscillates around setpoint with a period dictated by the mechanical time constant of the load.

Cause 2 — Inadequate current/torque limit. If p0640 (current limit) is left at the drive's hardware maximum, the drive will not back off the torque demand before the IGBTs overheat. When the current limit engages, the speed controller is decoupled from the load — the integrator winds up, and when the clamp releases, the integrator unwinds with a kick that overshoots the setpoint.

Cause 3 — Loose power terminal. A loose or oxidized terminal at the drive output or motor junction box introduces a contact resistance that varies with temperature. The variable resistance disturbs the V/f output and creates a low-frequency ripple in the actual speed. This is the most common cause of single-drive instability in a multi-drive fleet; the others are usually set at commissioning and apply equally to all five units.

In the reported case the evidence pointed clearly to Causes 1 and 2: the 90 A peak equals the inverter's hard hardware limit, and lowering p0640 to the motor's rated current removed the windup. The third cause remains a probabilistic risk to verify mechanically.

4. Resolution Path 1 — Speed Controller Auto-Tuning

The CU230P-2 PN supports three levels of self-optimization through p1960:

Value Function When to use
p1960 = 1 Rotating measurement with full speed-controller optimization Fan can rotate freely; cold motor; clean mechanical install
p1960 = 2 Non-rotating measurement with controller optimization Coupled load that cannot be turned; motor identification only
p1960 = 4 Speed-controller optimization only (no motor ID) Motor data already known and entered manually; duplicate drive
p1960 = 5 Vector controller with torque pre-control (extended) Vector control (p1300 ≥ 20); high dynamic response

For a centrifugal fan that can rotate freely, start with p1960 = 1:

  1. Confirm the motor is uncoupled from any non-rotating load (or that the fan blades can turn freely with no obstruction).
  2. Verify the safety chain: drive enable, ON/OFF1, and absence of any active fault (alarm log cleared via p3981 = 1 if needed).
  3. Set p1960 = 1.
  4. Issue the run command from the PLC or BOP. The drive accelerates to roughly 80 percent rated speed, performs a controlled slow ramp while measuring motor parameters, and then writes p1450 (proportional gain), p1451 (integral time), p1470 (pre-control gain), and updates the p0341-p0350 motor model parameters.
  5. Wait for alarm A07991 "Drive: motor data identification and speed controller optimization running" to clear.
  6. Reset p1960 = 0 to prevent a re-trigger on the next run.
  7. Read back the resulting values of p1450, p1451, and p1470 and document them in the commissioning sheet.

Expected ranges for a 22 kW fan with standard SI motor:

  • p1450 (Kp) — between 0.05 and 0.5 Nm/rpm
  • p1451 (Tn) — between 50 and 200 ms
  • p1470 (pre-control) — between 0.5 and 1.0

If the fan cannot rotate freely (e.g., a backward-curved impeller that the user does not want to spin with no load) or if the motor data is already known precisely, use p1960 = 2 for the non-rotating variant. The drive will inject short current pulses and measure rotor time constant, leakage inductance, and stator resistance without rotating the shaft.

For manual tuning when the wizard is not available, the iterative procedure is:

  1. Set p1450 = 0.01, p1451 = 2000 (effectively proportional only).
  2. Run at 30 percent setpoint, monitor r0021 for steady oscillation.
  3. Increase p1450 in steps of 0.020.05 until the response is critically damped to a small step disturbance.
  4. Decrease p1451 in steps of 100200 ms until disturbance rejection settles within 1–2 seconds.
  5. Validate at 30 %, 60 %, and 100 % setpoints.

Reference the procedure in the CU230P-2 Operating Instructions, section "Self-optimization of the speed controller" for the canonical Siemens flow.

5. Resolution Path 2 — Current and Torque Limit Configuration

The current and torque limits must be configured to the motor, not the drive. The PM240P-2 22 kW module can deliver 200 percent rated current briefly, but the motor cannot. Limits are set on three layers, each of which must be reviewed:

Parameter Function Default Recommended for fan
p0640[0] Current limit (motor) Drive Imax Motor rated current from nameplate (≈ 42 A for a 22 kW IE3 motor)
p1520[0] Upper torque limit 100 % 100 % (default; do not increase)
p1521[0] Lower torque limit −100 % 0 % (no regenerative mode on a fan)
p1530[0] Upper power limit Motor Pn Motor Pn
p1531[0] Lower power limit −Motor Pn 0 (no regenerative power)

Setting p1521 = 0 % is a critical step for fans. A centrifugal fan has no regenerative mode in normal operation; allowing a negative torque limit causes the drive to attempt braking the moment the load drops (for example, when the inlet damper opens or the duct pressure equalizes), which decelerates the motor, which the speed controller then re-accelerates with overshoot. This is one of the most common hidden causes of fan speed hunting.

Setting p0640 equal to the motor nameplate current causes the current limit to engage before the drive reaches the 90 A hardware peak. The speed controller's torque demand is then bounded at a sensible value, integrator windup cannot accumulate, and the limit cycle is suppressed.

Verification of the current limit: trace r0027 and r0080 simultaneously. If r0027 reaches p0640 for more than 2 seconds, the drive is current-limiting and either the load is too high or the ramp is too steep; consider extending p1120 / p1121 or re-evaluating the motor nameplate data.

The original incident report stated: "I changed current limit to be the same as rated limit in commissioning wizard". This is the correct first-line action. Combined with auto-tuning, it resolved the symptom.

6. Resolution Path 3 — Mechanical and Power Connection Verification

Mechanical and electrical integrity checks must be performed even after a successful parameter change, because vibration-induced terminal loosening is the most common cause of recurrent drive instability in a fan installation. Each fan generates broadband vibration; over months, terminal screws back out. A drive whose parameters were set correctly at commissioning can still oscillate six months later because the motor terminal has loosened by half a turn.

Power terminal torque check. For the PM240P-2 FSD frame, the manual specifies an output terminal torque of 2.5 Nm. For a 22 kW motor junction box, the typical terminal block torque is 46 Nm. Both must be re-torqued to specification with a calibrated torque wrench.

Cable sizing verification. For 45 A continuous on a 400 V three-phase motor with PVC-insulated copper cable, installation method C (per IEC 60364-5-52), the minimum cross-section is 10 mm² for a 30 K temperature rise, or 16 mm² for 20 K. Smaller cables introduce a voltage drop that destabilizes the V/f output at low slip.

EMC and grounding.

  • PE conductor bonded at both ends, loop impedance < 0.1 Ω.
  • Shielded motor cable with 360° EMC glands at both ends.
  • Built-in EMC filter on the PM240P-2 FSD frame verified to be installed and grounded to the cabinet backplate with low impedance.

Mechanical check.

  • Shaft turns freely by hand with power locked out and tagged out (LOTO).
  • Coupling alignment: 0.1 mm parallel offset maximum, 0.05 mm angular.
  • Bearing condition: no play, no roughness on rotation, no audible rumble.
  • Impeller balance verified per ISO 1940 G6.3 for fans in this size class.

For the FSD frame, the G120 PM240P-2 manual is at SINAMICS G120 PM240P-2 Power Module Operating Instructions.

7. Reference Parameter Table for Fan Tuning

The following parameters are the most commonly adjusted for SINAMICS G120 fan applications. Values are starting points; final values must be tuned to the specific motor and load combination.

Parameter Name Default Recommended for fan Notes
p1300 Open-loop/closed-loop control mode 0 (V/f linear) 0 or 1 (FCC) FCC = flux-current control, better low-speed torque
p1310 Voltage boost, continuous 50 % 0 % for self-cooled motor Reduces motor heating at low speed
p1311 Voltage boost, acceleration 0 % 0 % Use longer ramp instead of boost
p1312 Voltage boost, starting 0 % 0 % Set only if torque is required at standstill
p1335 Slip compensation 0 % 100 % Compensates the natural droop of an induction motor on a fan load
p1450 Speed controller Kp (gain) 0.3 0.05–0.5 (after auto-tune) Too high: oscillation. Too low: slow response.
p1451 Speed controller Tn (integral time) 100 ms 50–200 ms (after auto-tune) Higher Tn: more sluggish. Lower Tn: faster disturbance rejection, risk of instability.
p1470 Speed pre-control gain 0 0.5–1.0 Set to 1.0 for fan applications with a quadratic load curve
p1520 Upper torque limit 100 % 100 % Do not exceed motor rated torque
p1521 Lower torque limit −100 % 0 % Critical: prevents regenerative mode on a fan
p1530 Upper power limit Motor Pn Motor Pn Default is correct
p1531 Lower power limit −Motor Pn 0 Critical: prevents regenerative power on a fan
p1120 Ramp-up time 10 s 20–60 s Soft start protects fan bearings and ducting
p1121 Ramp-down time 10 s 20–60 s Soft stop prevents hydraulic shock in ducting
p0640 Current limit Drive Imax Motor nameplate In Must equal motor nameplate; never exceed
p1960 Auto-tuning mode 0 1 (rotating) at commissioning Reset to 0 after use
p2193 Load monitoring threshold 0 % −10 % to +10 % Detect broken belt or impeller damage
p1215 Motor holding brake configuration 0 0 Fans do not use a holding brake

8. TIA Portal v15.1 Integration and Diagnostic Tags

For PROFINET integration between the S7-1515F-2 PN and the CU230P-2 PN, the standard telegram assignment is Telegram 1 (output) and Telegram 1 (input), with optional Supplementary Telegram 350 for additional diagnostics. The word mapping is:

Direction Address (IW/QW) Content Scaling
Drive → PLC IW 0 Status word 1 (ZSW1) Bit field (see List Manual)
Drive → PLC IW 2 Actual speed (Nist) 4000 hex = p2000 reference speed
Drive → PLC IW 4 Actual current 4000 hex = p2002 reference current
Drive → PLC IW 6 Actual torque 4000 hex = p2003 reference torque
Drive → PLC IW 8 Actual power 4000 hex = p2004 reference power
Drive → PLC IW 10 Status word 2 (ZSW2) Bit field
PLC → Drive QW 0 Control word 1 (STW1) Bit field
PLC → Drive QW 2 Speed setpoint (Nsoll) 4000 hex = p2000 reference speed
PLC → Drive QW 4 Supplementary setpoint Used for PID output, etc.

To enable the supplementary diagnostic telegram 350 in TIA Portal V15.1:

  1. Open the G120 device in the project tree.
  2. Switch to the Device View and click the CU230P-2 PN.
  3. Open Properties → PROFINET interface → IO cycle.
  4. Add Telegram 350 to the input slot.
  5. Recompile the device configuration and download to the CPU.

To read a parameter by index from the S7 program (for example, to read r0027 on demand), use the RDREC instruction (SFB52) with the following record structure:

// SCL example: read r0027 (output current, smoothed) on demand
#req := TRUE;
#index := 27;            // parameter number
#ID    := 16#0038;       // PROFINET device ID (from device view)
#MLEN  := 4;             // expected length in bytes
#RECORD := P#DB1.DBX0.0 BYTE 4;  // destination buffer
#busy  := RDREC_DB.RDREC(REQ:=#req, ID:=#ID, INDEX:=#index,
                          MLEN:=#MLEN, RECORD:=#RECORD,
                          VALID=>#valid, ERROR=>#err, STATUS=>#status);
IF #valid THEN
    // WORD at RECORD[0] is parameter value scaled to p2002
    // Convert to amperes by multiplying by p2002 / 4000h
END_IF;

To write a parameter, use the WRREC instruction (SFB53). The same pattern is documented in the S7-1500 system manual at SIMATIC S7-1500 Automation System.

For real-time trace, the CU230P-2 PN has a built-in webserver (enabled with p8981 = 1) accessible at https://<drive-ip>/diagnostic. The webserver provides a two-channel scope function with sample times down to 4 ms — sufficient to capture the 10/30/90 A current step and the corresponding speed excursion simultaneously.

9. Verification Procedure

After applying the three resolution paths, verify the fix with the following steps:

9.1 Setpoint sweep test

  1. Run the fan at 25 %, 50 %, 75 %, and 100 % of rated flow.
  2. At each setpoint, record r0021, r0027, and r0031 for at least 5 minutes.
  3. Acceptance: speed ripple < ±1 % of setpoint, current ripple < ±5 % of average, no F-class or A-class alarms in the fault log.

9.2 Step response test

  1. Apply a 10 percent step change in setpoint (e.g., 50 %60 %).
  2. Record the actual speed response via the webserver scope.
  3. Acceptance: overshoot < 5 %, settling time < 5 s.

9.3 Long-term drift test

  1. Run at 100 percent setpoint for 24 hours.
  2. Record the actual speed trend in TIA Portal using the trace function of the S7-1500.
  3. Acceptance: no sustained drift, no alarms, no thermal shutdown (F30004, F30005, F30011 absent from the log).

9.4 Operator panel verification

  1. Display r0021 on the BOP by pressing the FN key until r0021 is shown.
  2. Press FN again to toggle to r0027; verify the current is steady at the expected baseline (no 90 A peaks).
  3. Cycle through the menu and confirm no alarm code is active.

9.5 PROFINET diagnostic verification

  1. In TIA Portal, open Online & Diagnostics → PROFINET diagnostics.
  2. Confirm the cycle time is stable and the life sign counter is incrementing without gaps.
  3. Check for any PROFINET alarms (channel diagnostics, port diagnostics).

If any of these verifications fail, return to Section 4 and re-run auto-tuning with p1960 = 1. If the parameter values returned by p1960 differ significantly from the first run (e.g., p1450 changing by more than ), suspect a motor data problem: re-enter the motor nameplate data into p0301p0311 and retry.

Speed / current behavior before and after fix (representative trace) Al/min A 1530 1500 1490 [A] 90 30 10 SP 1500 N act 1490-1530 I 10/30/90 A Time (s) — scale 0-10s — pre-fix behavior shown

10. Preventive Tuning Template for Fan Fleets

For installations with multiple identical fans, a single successful parameter set should be propagated to all units to ensure consistent performance. The propagation procedure in TIA Portal V15.1 is:

  1. Connect to the working drive via PROFINET.
  2. Open Online → Upload from device to capture the live parameter set into the project.
  3. Save the project as the master template.
  4. For each additional drive, perform Online → Download to device to push the same parameter set.
  5. After each download, run p1960 = 4 (controller optimization only, no motor ID) to fine-tune the speed loop to that specific motor. The motor data is already identical, but the mechanical load may differ slightly.

Drive-to-drive parameter copy is also possible using a memory card. The procedure is:

  1. Insert a Siemens SD card (order number 6SL3054-4AG00-2AA0, or compatible) into the working CU230P-2 PN.
  2. Set p0802 = 2 to copy the drive's parameter set to the card.
  3. Power down, remove the card, insert into the next drive.
  4. Set p0802 = 3 to copy from the card to the new drive.
  5. After all drives are populated, run p1960 = 4 on each to optimize the controller individually.

For fleet consistency, document the resulting parameters in a commissioning sheet per drive. The minimum set to record is:

  • p0304 (motor rated voltage), p0305 (motor rated current), p0307 (motor rated power)
  • p0310 (motor rated frequency), p0311 (motor rated speed)
  • p1450, p1451 (speed controller)
  • p1520, p1521 (torque limits)
  • p0640 (current limit)
  • p1120, p1121 (ramp times)
  • p1960 (auto-tuning mode, set to 0 after use)
Field note: In the original case, the user reported that "It seems that either step 1 or 2 solved my problem for now". The combined application of both (auto-tuning + current limit correction) is the recommended approach. The 90 A transient indicates the drive was previously operating without an active current limit, which is a non-ideal configuration for any motor-driven load and would have produced a fault under more demanding conditions.

11. Frequently Asked Questions

Why does my SINAMICS G120 fan drive oscillate on only one of five identical units?

The most common cause is a single mechanical or electrical factor at that unit: a loose output terminal at the drive or motor junction box, a worn coupling, a damaged bearing, or a partial cable break. Auto-tuning and current-limit correction equalize the parameter set across the fleet, but the mechanical integrity of each unit must be verified individually. Re-torque all power terminals to the values in the PM240P-2 manual (2.5 Nm for FSD) and to the motor nameplate value (typically 4-6 Nm for a 22 kW motor).

What is the difference between p0640 and p1520 in SINAMICS G120?

p0640 is the current limit expressed in amperes (motor-side current); p1520 is the upper torque limit expressed in percent of rated torque. p0640 engages first because the current controller is the inner-most loop; p1520 is the outer-loop torque cap. For a fan, set p0640 to the motor nameplate current and leave p1520 at the default 100 percent unless a soft start is required.

Can I run p1960 = 1 (rotating auto-tuning) with the fan connected?

Yes, provided the fan can rotate freely. The CU230P-2 PN ramps the motor to approximately 80 percent of rated speed during identification; the fan impeller must not be obstructed. If the fan cannot turn (e.g., it is ducted to a closed system or has a non-rotation direction), use p1960 = 2 (non-rotating motor identification) or p1960 = 4 (controller optimization only with previously known motor data).

Why is the lower torque limit p1521 important for fans?

Setting p1521 = 0 % disables regenerative torque on a single-quadrant fan load. Without this, a momentary load drop (e.g., a duct pressure equalization or inlet damper movement) causes the drive to attempt braking, the speed controller to fight the brake with positive torque, and the system to oscillate. For centrifugal fans the regenerative mode is never desired; both p1521 and p1531 should be set to 0.

How do I monitor G120 speed oscillation remotely via PROFINET?

Add Telegram 350 to the PROFINET slot configuration in TIA Portal V15.1, or use the RDREC instruction (SFB52) to read r0021 (actual speed) and r0027 (output current) by parameter index. For real-time visualization, enable the CU230P-2 webserver with p8981 = 1 and access https://<drive-ip>/diagnostic for the integrated two-channel scope with 4 ms sample time.

Is the PM240P-2 22 kW module oversized for a fan with 30 A peak current?

The 22 kW rating is matched to the motor's continuous mechanical power. The 90 A peaks in the reported case were the drive hitting its hardware current limit, not the motor drawing that current in steady state. A correctly-tuned drive on a correctly-sized motor should show steady current in the 8-15 A range at 50-70 percent flow, well below both the drive's continuous and short-term ratings.

Back to blog