Resolving F0041 Fault During MM440 P1910 Motor Identification

David Krause16 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 Summary

A Siemens MICROMASTER 440 (MM440) inverter, rated 110 kW and configured for sensorless vector control (SLVC) on an extruder, successfully completes the first stage of automatic motor identification (P1910 = 1) but aborts with fault F0041 when the operator attempts P1910 = 3 (identification of the saturation curve). The fault appears immediately on the AOP (Advanced Operator Panel) or BOP-2 after the drive pulses the motor and then trips. The motor is uncoupled from the load during the test and no longer coupled to the gearbox when P1910 = 3 is started. No-load current is observed at approximately 50% of rated motor current at 0 Hz and falls as speed rises.

This article documents the root cause, the diagnostic path through the MM440 fault buffer, the recommended workaround for SLVC applications, and the full commissioning sequence that replaces the failed P1910 = 3 step.

Safety notice. Before any identification run, confirm the motor is de-energized, mechanically secured, and the DC bus has discharged (wait at least 5 minutes after mains removal; verify with a meter that terminals DC+ and DC- read < 5 V). Identification pulses the inverter with commanded voltage ramps that can rotate the shaft briefly even with the load decoupled. Lock the shaft and post a maintenance tag before P1910 is started.

2. System Context: MM440 110 kW on an Extruder

The MM440 is the legacy Siemens general-purpose inverter that preceded the SINAMICS G120 family. The 110 kW rating maps to a frame size FX or GX chassis (depending on variant: 380–480 V 3 AC versus 500–600 V 3 AC). On an extruder, the typical load profile is constant torque with high starting torque, so SLVC is the natural control mode rather than V/f. Key parameters that must be set correctly before any identification is attempted are listed below.

Parameter Function Typical Extruder Value (110 kW example)
P0304 Rated motor voltage 400 V (or 460 V / 690 V per nameplate)
P0305 Rated motor current ~200 A for a 110 kW 4-pole motor at 400 V
P0307 Rated motor power 110 kW
P0308 Power factor (cos φ) 0.85–0.88 typical
P0310 Rated frequency 50 Hz (or 60 Hz)
P0311 Rated speed 1485 rpm (4-pole, 50 Hz)
P1300 Open-loop control mode 20 = Sensorless Vector Control (SLVC)
P1910 Motor data identification 0 = disabled, 1 = measurement 1, 3 = saturation curve
P1960 Speed controller optimization 1 = enabled (rotating measurement)

Parameter integrity must be confirmed before P1910 is started. Any mismatch between P0304 / P0305 / P0307 / P0310 / P0311 and the actual motor nameplate will propagate into the equivalent-circuit calculation performed during identification and may provoke F0041 even when the drive hardware is healthy.

3. Fault F0041 — Definition and Triggers

F0041 is the MM440 fault code for motor identification failure. It is raised when the inverter completes a P1910 routine and the measured parameters either fall outside the physically plausible window or cannot be computed from the measured currents and voltages. The fault is common in three situations:

  1. Insufficient motor current during a no-load test. The MM440 evaluates the measured no-load current against a sanity threshold derived from P0305. If the measured current is too low (the drive interprets the situation as an open motor lead or a near-open secondary), it aborts the routine. This is the most common cause of F0041 on large motors where the magnetizing current is a small fraction of rated current.
  2. Mechanical lock or excessive load torque. If the rotor is mechanically restrained, the identification current rises into the current limit and the inverter trips on F0041 because the rotating flux estimator cannot resolve the rotor time constant.
  3. Encoder or feedback mismatch in closed-loop modes. When the drive is set to closed-loop vector control (P1300 = 21/22/23) but the encoder type or PPR is wrong, P1910 cannot lock onto the rotor position. This does not apply to SLVC, but it is worth ruling out if the drive was re-aimed at a different control mode.

For the extruder case, the motor is uncoupled but the drive trips on P1910 = 3. The 50% no-load current reading at 0 Hz is a key diagnostic: at standstill, the stator sees a transformer short-circuit equivalent, so current is high; as frequency rises, the rotor begins to follow the synchronous field and the apparent current falls. This is normal motor physics and is not in itself a fault condition.

4. Reading the Fault Buffer: r0947 / r0948 / r0949

The MM440 stores the last eight faults in a circular buffer. The relevant parameters for the F0041 incident are:

  • r0947[0..7] — fault number (always reads 41 in this case)
  • r0948[0..7] — fault time in seconds since the last power-up
  • r0949[0..7] — fault value, a 32-bit diagnostic word that decodes the failure sub-cause

The fault value carried in r0949 is the single most useful piece of evidence when triaging F0041. Sub-cause decodings (representative values, check the Parameter List in the MM440 operating instructions for the exact revision of firmware you have):

r0949 value (hex / dec) Sub-cause Typical action
1 / 0x1 Motor current below acceptance threshold Check wiring, motor star/delta configuration, increase P0305 if nameplate was misread
2 / 0x2 Motor current above limit / drive in I²t Check for locked rotor, reduce mechanical load
3 / 0x3 Identified stator resistance outside window Check cable length compensation (P0235), terminal tightness
4 / 0x4 Identified rotor time constant implausible Repeat P1910=1, confirm motor nameplate values
5 / 0x5 Saturation curve measurement failed This is the sub-cause expected on P1910=3 trips; skip to P1910=1 + P1960
6 / 0x6 Leakage inductance measurement failed Re-enter nameplate values, retry P1910=1
7 / 0x7 Encoder adaption failed (closed-loop only) Check P0400, encoder wiring

Always read r0949[0] (most recent fault) and any older entries before clearing the buffer with P0952 = 0. Capturing the fault value before reset preserves evidence that is otherwise lost.

5. P1910 Sub-functions in Detail

P1910 selects the motor-identification routine. The MM440 firmware groups identification into several sub-tests, and the index you set determines which one runs.

P1910 value Routine Motor state Recommended use
0 Disabled — Default. Identification must be re-armed before each run.
1 All motor data with motor stationary (stator resistance, leakage inductance, rotor time constant, magnetizing current) Stationary, may rotate briefly Mandatory for SLVC. Run on every commissioning.
2 All motor data with motor rotating (deprecated, replaced by P1960 in current firmware) Rotating, no load Legacy MM3-series behaviour.
3 Identification of the saturation curve (magnetizing characteristic) Stationary, pulsed Optional. Required only for high-dynamic torque applications, closed-loop with field-weakening, or very-low-speed torque control where the rotor-flux model must track the magnetizing curve precisely.

Saturation-curve identification is a rotating-flux test that sweeps the drive output through a series of flux setpoints to populate a lookup table of magnetizing current versus flux. The lookup table is only consumed by the field-oriented control model if the drive enters flux-weakening or if the dynamic torque loop demands high-bandwidth flux tracking. For a constant-torque extruder running well below base speed, the saturation curve is rarely exercised in production, which is why it can be skipped without performance loss in SLVC.

6. Why P1910=3 Trips on a Decoupled Extruder Motor

On a 110 kW induction motor the magnetizing current is typically 25–35% of rated current at no load. With P0305 set to ~200 A, the magnetizing current should be 50–70 A. The MM440's F0041 sanity check assumes that the measured no-load current at a given voltage is at least a defined fraction of P0305. If the actual current is below the threshold — for example, because the motor is wound for a voltage higher than the drive's DC bus at the moment of the test, because the star point is open, or because cable impedance is significant — the inverter reports F0041 with sub-cause 1 or 5.

On a 110 kW frame the cable run from the cabinet to the motor is rarely short, and the cable impedance is non-negligible. If the installation has 50 m of 70 mm² cable, the voltage drop at the motor terminals during the saturation sweep may be high enough that the motor never reaches a current the inverter considers valid. The drive interprets this as a failed measurement and trips F0041.

There is no setting on the MM440 that adjusts the F0041 detection threshold for P1910 = 3; the only levers are correct nameplate entry, good cabling, and the option to skip the saturation-curve test.

7. Resolution: Skipping P1910=3 in SLVC

For SLVC operation on an extruder, the recommended commissioning path is:

  1. Enter the motor nameplate data into P0304 through P0311.
  2. Set P1300 = 20 (SLVC).
  3. Run P1910 = 1. This populates the equivalent-circuit model (stator resistance, rotor resistance, leakage inductance, magnetizing inductance, rotor time constant). It is the only identification step required for SLVC.
  4. Skip P1910 = 3. The MM440 firmware does not require the saturation curve to run the SLVC model.
  5. Run P1960 = 1 to perform the speed-controller optimization. This is a rotating, no-load test that tunes the Kp and Tn of the speed loop, the acceleration pre-control, and the slip adaptation. It will be blocked while the drive is faulted, so clear the F0041 first with P0952 = 0 (or the AOP RESET key).

This sequence is the path that experienced commissioning engineers use on MM440 SLVC applications. The saturation-curve identification is reserved for servo-class motion profiles, field-weakening above 1:2 base speed, and very-low-speed torque control. The extruder in question runs at fixed speed near 50 Hz with constant torque, so the saturation curve is not required for control quality.

Do not leave P1910 in a non-zero value after commissioning. A residual P1910 = 1 or P1910 = 3 will re-trigger the identification routine on the next ON command. Always set P1910 = 0 after the routine completes. The MM440 typically resets P1910 to 0 automatically, but a BOP-2 or AOP-2 with older firmware may leave the value latched.

8. Step-by-Step Commissioning Procedure

  1. Verify mains and motor. With the drive isolated, confirm the motor nameplate matches the installation, the winding is correctly star- or delta-connected for the supply voltage, and the motor is decoupled from the extruder gearbox.
  2. Power up the drive. Apply 3 AC 400 V (or per the drive rating). Confirm the AOP / BOP displays READY (display code 009) and no fault is active.
  3. Enter nameplate data. P0304 = 400 V, P0305 = 200 A, P0307 = 110 kW, P0308 = 0.86, P0310 = 50 Hz, P0311 = 1485 rpm. Confirm each value with the AOP enter key.
  4. Select SLVC. P1300 = 20.
  5. Set application limits. P1080 = 0 rpm (min frequency), P1082 = 1500 rpm (max frequency), P1120 = 10 s (ramp up), P1121 = 10 s (ramp down), P2000 = 1500 rpm (reference frequency). For an extruder, the ramps are typically conservative (10–20 s) to avoid pulling the melt.
  6. Set the current and torque limits. P0640 = 200 % (current limit factor), P1520 = 100 % (upper torque limit), P1521 = −100 % (lower torque limit).
  7. Reset to factory defaults if needed. P0010 = 30, P0970 = 1 to restore factory state, then cycle power. This step is recommended when the drive has been previously commissioned and parameters may be stale.
  8. Arm P1910 = 1. The display will show a flashing identification prompt. Give the ON command. The motor will emit a series of current pulses over 30–90 s. The drive displays RUN during the routine and returns to READY on completion.
  9. Verify the equivalent-circuit parameters. Read r0382 (stator resistance), r0384 (rotor resistance), r0386 (leakage inductance), r0347 (magnetizing inductance). Compare to the expected values for a 110 kW 4-pole motor: Rs ≈ 0.05–0.1 Ω, Rr ≈ 0.05–0.1 Ω, Lσ ≈ 1–3 mH, Lh ≈ 30–50 mH. If any parameter is wildly different, re-check the nameplate and re-run P1910=1.
  10. Skip P1910 = 3. Do not set P1910 to 3. If the operator has already set it, return it to 0 and re-arm P1910 = 1 if a re-run is required.
  11. Clear F0041. P0952 = 0, or press the AOP RESET key. The fault should clear immediately because the buffer was the only thing left in the fault state.
  12. Arm P1960 = 1. Speed-controller optimization. The motor will accelerate to ~50% of P2000 with a defined profile, run for several seconds, then decelerate. The drive will store the new speed-controller gains in P1460 (Kp) and P1462 (Tn).
  13. Reset P1910 and P1960 to 0. Confirm both are at 0 before proceeding to the run check.
  14. Run check. Issue a small setpoint (5–10 % of P2000) and verify smooth rotation. Ramp to 50 % and to 100 %, monitor r0027 (output current) and r0021 (output frequency) on the AOP. The current should match the motor nameplate for the chosen speed under no-load conditions.

9. P1960 Speed Controller Optimization in Detail

P1960 performs a rotating, no-load test that the MM440 uses to autotune the speed controller. It is the successor to the legacy P1910=2 rotating measurement on the MM3 series and the appropriate final step in an SLVC commissioning. The routine runs the motor through a defined speed profile and the drive's auto-tuning block measures the mechanical time constant, the load inertia, and the achievable controller bandwidth. The results overwrite the manual speed-controller gains (P1460, P1462) and the acceleration pre-control (P1496).

Parameter Function Auto-tuned by P1960?
P1460 Speed controller gain Kp Yes
P1462 Speed controller integral time Tn Yes
P1496 Acceleration pre-control scaling Yes
P0342 Total / motor inertia ratio (load-to-motor) Yes (if load is coupled during test)
P1400 Configuration of speed control No, manual

For an extruder, the load inertia is large and dominated by the screw and gearbox. If the test is run with the motor decoupled from the load, the auto-tuned gains are valid only for the no-load case. The standard field practice is to leave the motor decoupled for P1960 (so the test runs cleanly) and then to re-tune Kp downward by 30–50 % to account for the higher reflected inertia when the screw is re-coupled, or to re-run P1960 with the load attached if the mechanical coupling allows. On a 110 kW extruder, re-coupling the screw is usually permitted because the screw is free to rotate when the barrel is cold.

10. Verification Checklist

  • Fault buffer cleared. r0947[0] = 0 on the AOP.
  • P1910 = 0, P1960 = 0.
  • r0382 (stator resistance) within expected window.
  • r0384 (rotor resistance) within expected window.
  • r0386 (leakage inductance) within expected window.
  • r0027 (output current) at no-load near 0 Hz ≈ 50 % of P0305, falling to 25–35 % of P0305 at 50 Hz. This is the behaviour observed by the operator and is consistent with the motor's magnetizing curve.
  • r0021 (output frequency) tracks the setpoint across the full speed range.
  • Speed loop bandwidth adequate: a step change in setpoint of 5 % produces a controlled response without audible oscillation. If the motor "hunts" at low speed, reduce P1460 (Kp) by 25 % and re-test.
  • Direction of rotation matches command. The MM440 reverses via P1820 = 1; verify the extruder screw turns the correct way before coupling.

11. Edge Cases and Related Faults

Several conditions adjacent to the F0041 case are worth flagging for the field engineer.

Symptom Likely cause Action
F0041 on P1910=1 with motor coupled Mechanical lock, gearbox not free to rotate, or high starting torque demand Decouple, retry, or set P0344 = 1 (inverter motor) to lower the rotor time constant estimation
F0041 with r0949=3 (stator resistance window) Cable too long, terminal loose, or motor winding partially shorted Check cable resistance compensation P0235, inspect terminal box, megger the windings
F0041 on P1960 Speed controller optimization needs a free shaft Decouple, retry, then re-tune for the coupled load
F0011 (overcurrent) during P1910 DC bus over-voltage or motor short to ground Megger the motor, check for phase-to-phase shorts
No-load current stays at 50 % of rated at all speeds Rotor may be physically locked or magnetizing circuit wrong Hand-rotate the shaft, verify star/delta connection, retry P1910=1

The reported behaviour — 50 % current at 0 Hz falling as speed rises — is normal. At 0 Hz the inverter output is essentially a DC pulse train, and the stator sees a transformer-equivalent short circuit; current is high. As the fundamental frequency rises, the rotor begins to follow the rotating field and the apparent current drops to the magnetizing level. The F0041 sub-cause 5 reflects the inverter's difficulty in resolving the saturation curve from a static test on a large motor with significant cable impedance, not a fault in the motor itself.

12. Migration Notes: From MM440 to SINAMICS G120

The MM440 is in long-term support but no longer in active development. New installations should consider the SINAMICS G120 with a CU240E-2 control unit and a PM240-2 power module. The migration mapping for the parameters discussed in this article is:

MM440 parameter SINAMICS G120 equivalent Notes
P0304 / P0305 / P0307 / P0308 / P0310 / P0311 p0304 / p0305 / p0307 / p0308 / p0310 / p0311 Same number, same meaning, lowercase 'p' in SINAMICS
P1300 = 20 (SLVC) p1300 = 20 (SLVC, "Sensorless vector control with speed controller") Identical mode number
P1910 = 1 p1900 = 2 (motor identification, complete) G120 uses a single parameter for the equivalent of P1910=1+3
P1910 = 3 (saturation curve) Included in p1900 = 2; can be disabled with p1901 bit 5 G120 no longer exposes the saturation curve as a separate step
P1960 p1960 (still present, identical function) Speed controller optimization
r0947 / r0949 r0945 / r0949 SINAMICS uses a different fault buffer layout; see the SINAMICS G120 List Manual

The principle established in this article — that P1910=1 plus P1960 is sufficient for SLVC on a constant-torque load — applies unchanged on the G120, but the saturation-curve test is no longer a separate user-selectable step on the G120 firmware.

13. Frequently Asked Questions

Is it safe to skip P1910=3 on a 110 kW MM440 in SLVC mode?

Yes. P1910=3 measures the magnetizing saturation curve, which is required only for field-weakening above 1:2 base speed or for high-dynamic torque loops. For a constant-torque extruder, the SLVC model with P1910=1 plus P1960 speed-controller optimization is sufficient.

What does F0041 mean on the MM440 and how do I read the cause?

F0041 is the motor-identification-failure fault. Read r0947[0] for the fault number (always 41 in this case) and r0949[0] for the fault value, which decodes the sub-cause: 1 = current too low, 2 = current too high, 3 = stator resistance window, 4 = rotor time constant, 5 = saturation curve, 6 = leakage inductance, 7 = encoder adaption.

Why does my motor draw 50% of rated current at 0 Hz and less at 50 Hz?

At 0 Hz the stator sees a transformer-equivalent short circuit, so current is high. As frequency rises the rotor locks to the rotating field and the apparent current falls to the magnetizing level, typically 25–35% of rated. This is normal induction-motor behaviour and is not in itself a fault.

Should the motor be coupled to the extruder for P1910 or P1960?

For P1910=1, the motor must be free to rotate briefly. For P1960, the motor should also be uncoupled to keep the rotating test clean, and the speed-controller gains are then re-tuned for the coupled load, or reduced manually by 30–50% to account for the higher reflected inertia of the screw.

How do I clear F0041 after P1910=3 fails?

Set P0952 = 0 (or press the RESET key on the AOP). Confirm r0947[0] is now 0 and r0949[0] is cleared. The drive returns to READY (009) and P1910 can be re-armed if a re-run is required.

Back to blog