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 inr50047 - Default reaction: OFF2 (pulse inhibit, no regenerative ramp)
-
Acknowledgement: POWER ON or by setting
p3981after 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].
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.
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:
- 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.
- 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.
-
Encoder feedback: For speed controller optimization, the encoder must be present and producing valid signals.
p0400(encoder type) andp0410(encoder pulses per revolution) must match the fitted hardware. - 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.
-
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. - 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:
-
Motor rated armature current (
p50076[0]) matches the motor nameplate in amperes -
Motor rated field current (
p50076[1]) matches the motor nameplate in amperes -
Motor rated voltage (
p50100) matches the motor nameplate -
Motor rated speed (
p50101) matches the motor nameplate -
Armature resistance (
p50110) and armature inductance (p50111) are within the expected range, or leave at default and let the optimization identify them -
Field resistance (
p50114) and field inductance (p50115) are within the expected range -
Encoder configuration (
p0400,p0408,p0410) matches the actual encoder fitted to the motor -
Line voltage (
p50078) matches the actual supply -
Thermal model (
p50089,p50090) is configured for the motor's thermal time constant -
Power section derating:
p50076[0]≥ 50% ofp50071[0]– if the motor is much smaller than the drive, autotuning may not have enough headroom
Step-by-Step Resolution Procedure
-
Read the diagnostic data. Navigate to
r50047on the operator panel or commissioning software. Read indices [1] through [4] to identify the parameter and its value vs. limits. -
Note the parameter number from
r50047[1]. Cross-reference this with the List Manual DCM (109478243) to confirm its function. -
Check the device rating. Read
p50071[0](device rated armature current) andp50072[0](device rated field current) from the device rating plate. Record these values. - 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.
-
Update
p50076[0]to the motor's rated armature current in amperes. Verify the new value is less thanp50071[0]and that the ratiop50076[0] / p50071[0]is at least 0.5 to give the autotuning headroom. -
Update
p50076[1]to the motor's rated field current in amperes. Verify the new value is less thanp50072[0]. -
Update
p50100andp50101to the motor's rated voltage and speed. -
Save the parameters with
p0977 = 1(or use "Copy RAM to ROM" on the AOP30). - Perform a POWER ON to ensure the new motor data is loaded into the active parameter set.
-
Acknowledge the fault using the operator panel or by setting
p3981. -
Re-run the optimization by writing the appropriate command value to
p50080for 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.
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:
-
Check
r52911(Optimization status) – the value should return to 0 (idle). A non-zero value indicates a residual fault or incomplete routine. -
Read
p50180andp50181– 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). -
Read the field current controller gains – typically
p50190andp50191. Verify the order of magnitude is consistent with the field winding resistance and inductance. -
Verify
p50110(armature resistance) – should be within ±20% of the motor nameplate value (cold) or a measured value with a micro-ohmmeter. -
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). -
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. - 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.
-
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
p50101entry. -
Save the parameters with
p0977 = 1once 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,p50051before 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
r50047values 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
p50080command, 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.