Resolving SINAMICS DCM F60051 Fault During Armature Autotuning

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

Problem Statement: F60051 During SINAMICS DCM Armature Autotuning

During the armature current controller optimization routine on a Siemens SINAMICS DCM (legacy designation 6RA80, predecessor SIMOREG DC-MASTER) DC drive, the optimization run aborts with fault F60051 "Optimization run limit violated." The drive rejects the automatically identified controller parameters because a calculated or measured value falls outside the permissible range defined by the firmware. The fault is reported with diagnostic indices in r50047, which point to the specific parameter that violated its limits, and the partially identified controller parameters are not committed to the active control set.

On drives where the motor continues to run unloaded at rated speed after the fault, the problem is typically a parametric configuration issue rather than a hardware failure. The optimization cannot converge on a valid set of current controller parameters with the values it was given, so it aborts safely to avoid an unstable parameter set being written. The most common reason on a new or recently commissioned drive is that the motor rated current in p50076[0] was left at the factory default value, which is often a small percentage (6.2% is observed in the fault case) of the device rated armature current rather than the motor's actual nameplate current.

Fault F60051 Definition and Behavior

F60051 belongs to the SINAMICS DCM fault class associated with the optimization (autotuning) state machine. The drive initiates an optimization run by writing the appropriate command value to p50080, and the firmware executes a series of controlled test pulses to identify motor and controller parameters. When the firmware detects that a parameter value required by the optimization would fall outside its allowed range, it raises F60051 and refuses to complete the optimization. The drive is placed in a fault state until acknowledged, and any partial controller tuning result is discarded.

The fault is identified by the following attributes:

  • Fault number: F60051
  • Fault value (r0949): interpreted as decimal, indexes the relevant entry in r50047
  • Default reaction: OFF2 (pulse inhibit, no regenerative ramp)
  • Acknowledgement: POWER ON or by setting p3981 after the cause is removed

For the complete fault list, reaction matrix, and parameter descriptions, refer to the official Siemens List Manual DCM (109478243).

Decoding the r50047 Diagnostic Indices

When F60051 is active, the drive writes the following diagnostic information into r50047. The index to read is the decimal value of r0949 at the time of the fault. In a typical installation the active index is 1, and the data layout is:

Index Meaning Description
r50047[0] Fault number Always F60051 in this case
r50047[1] Parameter number with incorrect value The drive parameter whose value violated the limit
r50047[2] Limited value The actual value the optimization attempted to apply
r50047[3] Lower limit Minimum allowed value for the parameter
r50047[4] Upper limit Maximum allowed value for the parameter

Read r50047 on the BOP20, AOP30, or via STARTER / Startdrive. On the BOP20, navigate to r50047 and use the index selector to step through the indices. The first step is to identify the parameter number from r50047[1]; this is the parameter that needs to be corrected or whose conditions are not satisfied. Once the parameter is known, look up its function in the List Manual DCM (109478243) and compare r50047[2] against the limits in r50047[3] and r50047[4].

Note: If the fault value in r0949 is displayed in hexadecimal, convert it to decimal before using it as the index into r50047. Some commissioning software displays r0949 in hex by default; the firmware documentation specifies the format for the installed version.

Root Cause: p50076 Motor Rated Current Misconfiguration

In the case described, the optimization run points to p50076, the motor rated current parameter set. The SINAMICS DCM uses p50076 to define the motor's nameplate current for the armature and field circuits. The optimization algorithm scales its test pulses, calculates expected controller gains, and verifies that the resulting current controller is stable against this value.

p50076 is a two-dimensional parameter:

Index Parameter Function
p50076[0] Motor rated armature current Reference current for armature circuit scaling, controller tuning, and I²t monitoring
p50076[1] Motor rated field current Reference current for field circuit scaling, EMF controller, and field-weakening calculations

If p50076[0] is left at the factory default of approximately 6.2% of the device rated current, the optimization algorithm cannot perform meaningful armature current pulses without exceeding the upper current limit of the device. The firmware detects this condition and aborts the run with F60051. The motor may still run at no load because the default current controller parameters are not so wrong that the drive cannot start, but the controller is mis-tuned and the drive will misbehave as soon as load is applied.

The correct value for p50076[0] is the motor's nameplate rated armature current in amperes, which must be less than or equal to the device rated armature current stored in p50071[0]. Similarly, p50076[1] must match the motor's nameplate rated field current and be less than or equal to p50072[0]. For a typical installation, the rule of thumb is that the device rated current should be at least 1.5× the motor rated current to give the autotuning algorithm enough headroom for stable identification.

Calculating Current Headroom for Autotuning

During the armature current controller optimization, the firmware injects test current pulses of varying amplitude to identify the armature resistance and inductance. A practical sizing equation for autotuning is:

I_device_min = 1.5 × I_motor_armature

where I_device_min is the minimum device rated armature current (p50071[0]) and I_motor_armature is the motor nameplate rated armature current (p50076[0]). If p50071[0] < 1.5 × p50076[0], the device is undersized for autotuning and you should consider either a larger drive or accept manual controller tuning.

Optimization State Machine and Trigger Logic

The SINAMICS DCM optimization is implemented as a finite state machine. Writing the command value to p50080 triggers a sequence of states; F60051 is raised only if the Validate state rejects the computed parameters.

Idle p50080 = 0 Pre-Check motor data valid Pulse Inject test I_a pulses Calculate R_a, L_a, gains Fault F60051 limit violated Commit write p50180/81 cmd ok ok

The Validate state is where F60051 is raised. The Calculate state proposes new values for p50180 (armature current controller proportional gain) and p50181 (integral time) based on the identified p50110 (armature resistance) and p50111 (armature inductance). If the proposed gain falls outside the controller's allowed range, the state machine transitions to the Fault state and raises F60051.

Hardware Prerequisites Before Optimization

F60051 can also be triggered by hardware conditions that prevent the optimization pulses from generating valid measurement data. Verify the following before re-running the optimization:

  1. Armature wiring: C1/D1 connected to armature with correct polarity, no open circuits at the brushes. Measure the armature loop resistance with a micro-ohmmeter; it should be within 20% of the motor's cold nameplate value.
  2. Field wiring: F1/F2 connected to the field winding, field current draw matches the motor nameplate. An open field circuit prevents the EMF controller from stabilizing and can produce a calculated gain outside limits.
  3. Encoder feedback: For speed controller optimization, the encoder must be present and producing valid signals. p0400 (encoder type) and p0410 (encoder pulses per revolution) must match the fitted hardware.
  4. Shunt selection: The armature current shunt in the DCM must be sized for the motor current. If the shunt is too large, the analog front end noise dominates the optimization measurement and the identified parameters are rejected.
  5. Line voltage: p50078 (line voltage) must be set to the actual supply; an incorrect value causes the EMF model to miscalculate and the optimization to abort.
  6. Cooling: Forced ventilation fans (if fitted) must be running. Some SINAMICS DCM variants reduce the permissible current when the cooling is not confirmed, which can trigger the limit during autotuning.

Pre-Optimization Parameter Checklist

Before re-running the autotuning, verify the following parameter set. Each item has a corresponding parameter that should be read and confirmed against the motor nameplate and the device rating plate:

  1. Motor rated armature current (p50076[0]) matches the motor nameplate in amperes
  2. Motor rated field current (p50076[1]) matches the motor nameplate in amperes
  3. Motor rated voltage (p50100) matches the motor nameplate
  4. Motor rated speed (p50101) matches the motor nameplate
  5. Armature resistance (p50110) and armature inductance (p50111) are within the expected range, or leave at default and let the optimization identify them
  6. Field resistance (p50114) and field inductance (p50115) are within the expected range
  7. Encoder configuration (p0400, p0408, p0410) matches the actual encoder fitted to the motor
  8. Line voltage (p50078) matches the actual supply
  9. Thermal model (p50089, p50090) is configured for the motor's thermal time constant
  10. Power section derating: p50076[0] ≥ 50% of p50071[0] – if the motor is much smaller than the drive, autotuning may not have enough headroom

Step-by-Step Resolution Procedure

  1. Read the diagnostic data. Navigate to r50047 on the operator panel or commissioning software. Read indices [1] through [4] to identify the parameter and its value vs. limits.
  2. Note the parameter number from r50047[1]. Cross-reference this with the List Manual DCM (109478243) to confirm its function.
  3. Check the device rating. Read p50071[0] (device rated armature current) and p50072[0] (device rated field current) from the device rating plate. Record these values.
  4. Read the motor nameplate. Note the rated armature current (A), rated field current (A), rated voltage (V), and rated speed (RPM). All of these must be entered in the drive before re-running the optimization.
  5. Update p50076[0] to the motor's rated armature current in amperes. Verify the new value is less than p50071[0] and that the ratio p50076[0] / p50071[0] is at least 0.5 to give the autotuning headroom.
  6. Update p50076[1] to the motor's rated field current in amperes. Verify the new value is less than p50072[0].
  7. Update p50100 and p50101 to the motor's rated voltage and speed.
  8. Save the parameters with p0977 = 1 (or use "Copy RAM to ROM" on the AOP30).
  9. Perform a POWER ON to ensure the new motor data is loaded into the active parameter set.
  10. Acknowledge the fault using the operator panel or by setting p3981.
  11. Re-run the optimization by writing the appropriate command value to p50080 for the desired optimization (see next section).

Selecting the Correct Optimization Run

SINAMICS DCM provides several distinct optimization routines. Each is selected by writing a specific command value to p50080. The most common routines and their command values are:

Optimization Command Description
Armature current controller p50080 = 1 Identifies armature resistance, inductance, and sets p50180 / p50181
Field current controller p50080 = 2 Identifies field resistance, inductance, and sets field current controller gains
EMF / Flux controller p50080 = 3 Identifies field characteristic curve and flux controller
Speed controller p50080 = 4 Identifies mechanical system (inertia, friction) and sets speed controller gains
Combined current + EMF p50080 = 5 Routine combining armature and field current identification

The exact mapping between p50080 values and optimization routines depends on the installed firmware version. Always confirm against the List Manual DCM (109478243) for your specific firmware. F60051 may appear during any of these routines if a parameter limit is violated during the calculation phase.

Warning: During the speed controller optimization (p50080 = 4), the drive accelerates the motor through its speed range. Ensure the mechanical system can accept the test motion and that personnel are clear of the driven machinery before initiating.

Verification Procedure

After the optimization completes successfully, perform the following verification sequence:

  1. Check r52911 (Optimization status) – the value should return to 0 (idle). A non-zero value indicates a residual fault or incomplete routine.
  2. Read p50180 and p50181 – the identified armature current controller proportional gain and integral time. Verify these are within the typical range for the motor (P gain on the order of 0.1 to 10 V/A depending on motor size, integral time on the order of 1 to 50 ms).
  3. Read the field current controller gains – typically p50190 and p50191. Verify the order of magnitude is consistent with the field winding resistance and inductance.
  4. Verify p50110 (armature resistance) – should be within ±20% of the motor nameplate value (cold) or a measured value with a micro-ohmmeter.
  5. Verify p50111 (armature inductance) – should be in the expected range for the motor (typically tens of mH for industrial DC motors in the 10 to 500 kW range).
  6. Run the drive at no load from 0 to rated speed. Observe r52911 (status), r52910 (status word), and the actual current values via the trace function. There should be no oscillation in the current or speed controllers.
  7. Apply a step load on the test bench and verify stable current and speed response. The armature current should rise to the loaded value within 50 to 200 ms (depending on controller bandwidth) without overshoot or ringing.
  8. Check the speed droop at rated load. The actual speed at full load should be within the motor nameplate tolerance. A droop greater than 5% indicates a mis-tuned speed controller or an incorrect p50101 entry.
  9. Save the parameters with p0977 = 1 once the operation is confirmed. Back up the parameter set to a project file using STARTER or Startdrive.

Related Fault Codes

When troubleshooting F60051, you may also encounter the following related faults. Address them in sequence – typically the first fault in the buffer is the root cause:

Fault Meaning Typical Cause
F60050 Optimization timeout Drive cannot reach the test current within the allowed time – check wiring, current limit, or mechanical load
F60051 Optimization run limit violated A parameter limit was hit during autotuning – check r50047 and correct motor data
F60052 Optimization aborted by user Operator cancelled the run via p50080 = 0 or panel stop
F60060 Armature current controller output limited Controller cannot achieve required current – typically incorrect P gain or stuck armature circuit
F60061 Field current controller output limited Field circuit has open circuit or limit is set too low

Field-Engineering Best Practices

  • Always start with the motor nameplate. Enter the rated armature current, field current, voltage, and speed into p50076, p50100, p50101, p50051 before running any optimization. The most common cause of F60051 on a new drive is incomplete motor data entry.
  • Size the drive with 1.5× to 2× headroom over the motor rated current. This ensures the autotuning has enough current headroom for stable identification and that the drive can ride through momentary overloads during normal operation.
  • Document the r50047 values at the time of the fault. They are the single most important data points for diagnosing optimization failures and are reset to zero on the next successful run. Take a screenshot or write them down before acknowledging the fault.
  • Use the commissioning software (STARTER for older firmware, Startdrive for newer) rather than the BOP20. The PC software provides online trace functionality that captures the current and speed waveforms during the optimization pulses, which is essential for diagnosing marginal stability issues that a successful but borderline optimization can produce.
  • Verify the encoder feedback is functioning before the speed controller optimization. A noisy or missing encoder will cause the speed controller optimization to fail with a different fault but with the same effect – parameters not committed.
  • After successful optimization, save the parameters to non-volatile memory with p0977 = 1, then back up the parameter set using the panel or commissioning software. The drive does not automatically persist the optimization result across a power cycle in all firmware versions.
  • Re-run the optimization only if the motor or mechanical system has changed. The identified parameters are specific to the motor and load, and re-running for diagnostic purposes can overwrite carefully tuned values.
  • Check the field characteristic curve before running the EMF / flux optimization. If the curve data (p50117, p50118) is missing or incorrect, the EMF optimization will produce a flux controller gain outside its limits and raise F60051.
  • Monitor the DC bus voltage during the optimization pulses. A weak supply or a heavily loaded supply with high impedance can cause the bus voltage to dip during the test pulses, which in turn limits the achievable armature current and trips the optimization.
  • Use the trace function to capture the optimization pulse in STARTER. Set the trigger to the p50080 command, and trace armature current, armature voltage, and speed. The pulse should be a clean step with a well-defined rise; ringing or saturation indicates a hardware issue.

Frequently Asked Questions

What does F60051 mean on a SINAMICS DCM drive?

F60051 is "Optimization run limit violated." It occurs during an autotuning routine when the firmware calculates a parameter value that falls outside its allowed range. The diagnostic structure is in r50047, with index [1] holding the parameter number that hit the limit and indices [2..4] holding the actual value and lower/upper limits.

How do I read the r50047 diagnostic indices on the BOP20 panel?

Navigate to r50047 using the parameter number, then use the index selector to step through indices [0] through [4]. The relevant index is given by the decimal value of r0949 at the time of the fault. For F60051, [1] is the offending parameter number, [2] is the actual value, [3] is the lower limit, and [4] is the upper limit.

What is the correct value for p50076[0] on a SINAMICS DCM?

p50076[0] is the motor rated armature current. Enter the value from the motor nameplate in amperes, and verify it is less than or equal to the device rated armature current in p50071[0]. A value around 6.2% (as observed in the fault case) is the factory default and is typically too low for normal motor operation, which is why the optimization rejects it.

Can I run the motor before completing the optimization?

Yes, the drive will run with the default or previously stored controller parameters, but the response will not be optimal. The motor may run at no load without issues (as observed in the fault case) but exhibit poor dynamic response, oscillation, or trip on overload when loaded. Complete the optimization with correct motor data before commissioning the drive for production service.

How do I know which p50080 value to use for the armature current controller optimization?

The command value for the armature current controller optimization is firmware-version dependent. The most common is p50080 = 1 for the armature current controller only, or p50080 = 5 for a combined armature and field current optimization. Always verify against the Siemens List Manual DCM (109478243) for the installed firmware version.

What should I check first when F60051 appears with a p50076 indication?

Read p50076[0] and p50076[1] and compare them to the motor nameplate. If they are at factory defaults (small percentages of the device rating), enter the actual motor nameplate values, save with p0977 = 1, perform a POWER ON, acknowledge the fault, and re-run the optimization. This resolves the majority of F60051 faults on new installations.

Back to blog