Overview
Siemens SINUMERIK 828D controllers paired with SINAMICS S120 drive modules raise alarm 207412 "Commutation Angle Incorrect [Motor Model]" whenever the angular difference between the pole-position angle reported by the absolute encoder and the commutation reference computed inside the motor model exceeds an internal threshold (typically 80° electrical on a SINAMICS pole-position comparison). Because the alarm is the safety reaction that prevents uncontrolled positive coupling in the speed controller, the affected axis must not be jogged or programmed until the underlying angle error has been cleared and the pole-position identification routine has been re-run successfully.
This article consolidates the diagnostic logic, parameter map and commissioning procedure used to clear alarm 207412 after a 1FK-series synchronous servo motor (with brake) has been installed in place of an older unit of higher or different torque rating. The procedure applies to SINUMERIK 828D with SINAMICS S120 booksize / Combi firmware V4.5 through V5.3 and is consistent with Siemens Support entry ID 109817112 and the TIA Portal fail-safe technology module documentation referenced in the source archive.
Alarm 207412 — Detailed Breakdown
The alarm text identifies that the drive's motor model and the absolute encoder's reported pole position disagree by more than the allowed window. The condition is reported under the following fault-code structure:
| Attribute | Value |
|---|---|
| Alarm number | 207412 |
| Drive object | SERVO / SERVO_840 (DO Type 11) |
| Reaction | OFF2 — pulse suppression, controller inhibit |
| Acknowledge | POWER ON or RESET after cause removal |
| Fault value (r0949) | 0 = model/encoder pole-position deviation > 80° electrical |
| Cause class | Internal (drive firmware) |
| Diagnostic buffer | Stores the deviation value in r0949 and the encoder flag in r0947 |
| Trigger threshold | |θ_encoder − θ_model| > 80° electrical (firmware default) |
According to the Siemens Support entry ID 109817112 — SINUMERIK ONE / SINAMICS 207412, the alarm is raised when an incorrect commutation angle is detected that can result in a positive coupling in the speed controller. Siemens lists the possible causes as an incorrect phase sequence, an incorrect commutation offset, a contaminated or damaged encoder track, and a motor data set that does not match the connected motor.
Root Cause Analysis
Alarm 207412 after a motor swap typically originates from one of the following root causes. Each must be eliminated systematically before the pole-position identification is repeated.
- Commutation offset angle (p0431) cleared or defaulted. Every absolute encoder used with a SINAMICS servo must have its electrical commutation offset loaded into p0431. When the motor is replaced, the encoder data set (EDS) and motor data set (MDS) stored on the CF card of the SINUMERIK 828D may not contain a valid value for the new motor. In this state, p0431 = 0 and the drive has no information about how the resolver or absolute encoder zero is aligned with the EMF zero of the motor winding.
- Motor parameter block mismatch. Parameters p0350 (stator cold resistance), p0352 (stator leakage reactance, sometimes called characteristic Lq on linear motors), p0356 (stator leakage inductance Ls) and the motor MLFB stored in p0301 must match the motor nameplate. A torque upgrade typically forces a different motor MLFB; if the drive still references the old data block, the model produces a wrong pole-position angle.
- Encoder data set still references the old motor. The SINAMICS encoder data set stored in p0400–p0490 retains the previous motor's pole-pair count (p0314) and serial number. After a hardware swap, the encoder interface must either be re-initialised or the EDS must be regenerated.
- Encoder resolution or wiring change. If the new 1FK motor is supplied with a different encoder variant (single-turn vs. multi-turn, DRIVE-CLiQ via SMC/SME vs. EnDat 2.1 direct), the comparison between encoder pole-position and motor-model pole-position cannot succeed until p0431 has been re-identified and p0400/p0421 have been refreshed.
- Brake cable or motor power cable cross. Swapped U/V/W phases at the motor terminal box produce a commutation offset error of exactly 60° electrical, which sits inside the 80° tolerance window once p0431 has been zeroed, so the alarm returns with any axis motion.
- Mechanical binding at standstill. A closed brake, a jammed ballscrew nut or a misaligned coupling prevents the motion-based identification (p1980 = 10) from completing. The drive aborts with F07970 and the alarm reappears.
Affected Hardware and Firmware
| Component | Typical Part / Version | Notes |
|---|---|---|
| Controller | SINUMERIK 828D PPU 241.x / 261.x / 281.x | SW 4.5 – 5.3 (CNC SW) |
| Drive | SINAMICS S120 booksize / Combi | CU320-2 PN or CU320-2 DP control unit |
| Motor (rotary, this case) | 1FK7 / 1FK2 with holding brake | Encoder: EnDat 2.1 / 2.2 absolute |
| Motor (linear, equivalent) | 1FN3 / 1FN6 | Encoder on linear scale |
| Motor data block | p0301 = MLFB, p0304, p0305, p0307, p0311 | Must match nameplate |
| Encoder data block | p0400 – p0490 | Re-init after motor swap |
| Pole-pair number | p0314 | Computed from MLFB, verified from nameplate |
Parameter Map for Pole-Position Identification
The pole-position identification routine uses a coordinated set of SINAMICS parameters. Each value must be configured before the measurement is started.
| Parameter | Description | Recommended value (initial) | Unit |
|---|---|---|---|
| p1980 | Technique selection for pole-position ID | 10 = motion-based saturation (recommended for 1FK with brake on linear axis) | — |
| p1981 | Maximum traverse distance / angular travel for ID | 30 (degrees electrical; widen to 90 if the first run aborts) | ° elec. |
| p1982 | Selection of pole-position ID method | 1 = with motion (saturation-based) | — |
| p1990 | Start command for pole-position identification | 0 → 1 (edge-triggered) | — |
| p0431 | Commutation angle offset | Result of pole-position ID; typically 0 – 360° | ° |
| p0350 | Stator cold resistance of motor (line-to-line / 2) | From motor nameplate / data sheet | Ω |
| p0352 | Stator leakage reactance / characteristic Lq | From motor data sheet | H or Ω |
| p0356 | Stator leakage inductance Ls | From motor data sheet | H |
| p0314 | Motor pole-pair number | Computed from MLFB, verified from nameplate | — |
| p0301 | Motor MLFB | Exact match to motor nameplate | — |
| p0400 | Encoder type | 9999 = unidentified, must be reset after motor swap | — |
| r0949 | Fault value | 0 if encoder/model deviation > 80°; non-zero codes indicate specific sub-cause | — |
| r0947 | Fault code class | Indicates origin (encoder, motor model, hardware) | — |
| r0061 | Speed actual value (verification) | Read after ID | rpm |
| r0078 | Torque-generating current Iq (verification) | Must be < 30 % of r0067 at standstill | A |
| r0079 | Magnetising current Id (verification) | Must remain near rated magnetising current, ±10 % | A |
| r0067 | Current limit (verification) | Read after ID | A |
Pre-Commissioning Checks
- Confirm the motor MLFB. Cross-check p0301 against the printed motor nameplate (for example MLFB = 1FK7060-2AF71-1AB1 for a 1FK7 with brake). The "B" or "F" segment typically denotes brake presence; the "7" segment denotes the encoder resolution class.
- Verify the encoder variant. Read p0400 and p0421 to confirm whether the drive has detected an absolute EnDat encoder with multi-turn capability. A value of p0400 = 9999 means "no encoder identified" and must be corrected before pole-position ID.
- Inspect the power wiring. U/V/W at the motor terminal must match the drive output (X1 on the Motor Module). A phase sequence error is one of the most common causes of a permanent 60° offset.
- Open the brake. For a 1FK with brake, supply 24 V to the brake connector (typically +24 V on pin 1 of the brake connector, 0 V on pin 2) so the rotor can move freely during the saturation-based identification. If the brake is controlled by the drive, ensure p1215 = 0 or that the axis is in commissioning mode where the brake is forced open.
- Confirm mechanical clearance. p1981 sets the maximum motion. Ensure the linear axis can move ±30° electrical equivalent without hitting a limit. For a 1FK7 with p0314 = 3 pole pairs, 30° electrical = 10° mechanical ≈ 17.5 mm of travel on a 1 m ball screw with 10 mm lead.
- Verify the safety circuit. The SINUMERIK 828D must be in commissioning mode, the safety door closed, and the emergency-stop chain healthy. Pole-position ID is a controlled motion that can produce unexpected axis travel if the controller is mis-configured.
- Read the actual fault value. Open the HMI Diagnostics → Alarm Log → "Details" and read r0949. The value tells you whether the cause is the pole-position angle (r0949 = 0), the encoder passive state (r0949 = 1), a phase-sequence error (r0949 = 10), or another condition.
Step-by-Step Pole-Position Identification Procedure
The procedure below clears alarm 207412 and re-establishes a valid commutation offset. Execute the steps from the SINUMERIK 828D HMI through the "Startup → Drive System → Drives" menu, or via the SINAMICS Starter / Startdrive tool connected over PROFIBUS / PROFINET.
- Select the drive object. Navigate to the affected axis (for example AX2 = Y1). Confirm the alarm in the diagnostics buffer with the HMI softkey "Diagnostics → Alarm Log".
- Enable the controller in commissioning mode. Set the controller to commissioning mode (NCK switch position 1 or password-protected equivalent). Ensure the axis enable signals are OFF. The drive must be in the "Ready to switch on" state.
- Open the parameter list for the drive. Use the HMI "Parameters → Drive Parameters" softkey or open the drive in Starter / Startdrive via PROFIBUS / PROFINET.
-
Configure the technique. Set
p1980 = 10(motion-based saturation technique, recommended for 1FK with brake). -
Configure the travel. Set
p1981 = 30(degrees electrical; widen to 90 if the first measurement aborts with F07970). -
Select the method. Set
p1982 = 1(enable motion-based identification). - Verify motor parameters. Re-enter p0350, p0352 and p0356 with values from the new motor data sheet if they do not match the new MLFB. Confirm p0314 (pole-pair number) and p0301 (MLFB) match the nameplate.
-
Start the measurement. Enter
p1990 = 1. The drive moves the motor through the configured electrical angle. During the motion, the controller infers the pole-position from the saturation characteristic of the rotor. The motion typically takes 5 – 30 seconds. -
Read the result. After completion, the drive automatically writes the new commutation offset into
p0431. Acknowledge any related F07970 or F07971 alarms with the HMI "Reset" softkey. - Save and POWER ON. Save the drive parameters to the CF card with "Copy RAM to ROM", then perform a controlled POWER ON of the NCU to confirm the value is non-volatile.
- Re-arm the axis. Cancel commissioning mode and re-arm the controller with the normal NCK switch position. Run the verification procedure below.
Manual Override of p0431
If the motion-based identification cannot be executed (for example, the axis is mechanically locked, the brake cannot be released for safety reasons, or the mechanical envelope is too tight), the commutation offset can be entered manually from the motor data sheet. The procedure:
- Reference the new motor's data sheet for the angle between the encoder zero and the EMF zero. Siemens typically prints this as "commutation offset" or "pole-position offset" on the motor data sheet, sometimes encoded as an integer in the motor's electronic nameplate.
- Enter the value in degrees electrical into
p0431. The drive normalises the value into the range 0 – 360°. - Save with "Copy RAM to ROM" and POWER ON the drive.
- Verify by jogging the axis at low speed (e.g., 10 % of rapid) and observing the motor current. A correct p0431 produces a stable, near-zero Iq current at standstill. A wrong p0431 produces a high Iq oscillation and triggers 207412 again.
If the manual offset is unknown, an alternative is to use p1980 = 4 (stillstand-based, two-stage saturation). This technique produces less motion (typically < 5° electrical) and is suitable for axes that cannot move freely, but it requires that p0325 (motor pole-position identification current first stage) is correctly set, typically to 30 – 80 % of p0305 (motor rated current).
Verifying the Motor Parameter Block
Even with a successful pole-position identification, the alarm can return on the next POWER ON if p0350, p0352 and p0356 do not match the new motor. Confirm the following values against the motor data sheet:
| Parameter | How to verify | Acceptable error |
|---|---|---|
| p0350 | Measure phase-to-phase resistance with a 4-wire ohmmeter and compare to p0350 × (1 + α × (T_amb − 20 °C)) | ± 10 % |
| p0352 | Cross-check against the S120 configuration manual motor list | ± 5 % |
| p0356 | Cross-check against the S120 configuration manual motor list | ± 5 % |
| p0304 / p0305 | Voltage and current rating match nameplate | Exact |
| p0311 | Rated speed matches nameplate | Exact |
| p0314 | Pole-pair number matches nameplate | Exact |
| p0301 | MLFB string matches the motor's printed MLFB | Exact |
The stator resistance follows the temperature relation:
R(T) = R_20 × (1 + α_Cu × (T_amb − 20 °C))
where α_Cu = 0.00393 /K for copper windings. For a 1FK7 cold measurement at T_amb = 25 °C the expected deviation from p0350 is therefore +1.97 %. At T_amb = 40 °C the deviation is +7.86 %. If the measured value is outside ± 10 %, the parameter was overwritten with the wrong motor MLFB and must be reloaded from the data sheet.
Fault Value Diagnostics (r0949 and r0947)
When alarm 207412 is active, the HMI displays the value in the "Fault value" column. Always read both registers before applying any fix; the fault value points to the sub-cause and prevents wasted time on the wrong corrective action.
| r0949 | Meaning | Recommended action |
|---|---|---|
| 0 | Comparison of pole-position angle from encoder and motor model > 80° electrical | Run pole-position identification (p1980 = 10, p1982 = 1, p1990 = 1) |
| 1 | Encoder in passive state | Check p0400, p0421, encoder wiring, DRIVE-CLiQ link |
| 2 | Encoder hardware fault | See r0947 for sub-code, replace encoder if persistent |
| 3 | Motor data set inconsistent with encoder data set | Re-load motor data set from motor data list |
| 10 | Phase sequence U/V/W detected as wrong at motor terminals | Swap two phases at the motor terminal box |
| 20 | Commutation offset outside permitted range | Re-enter p0431 manually or re-run pole-position ID |
r0947 returns the Siemens internal fault code class and points to the corresponding further diagnostics. For example, F3y035 indicates an encoder fault on encoder y (1 = motor encoder, 2 = direct measuring system) with sub-code 35 (incremental signal loss). When r0947 points to the encoder, the corrective action shifts from motor parameters to the encoder hardware.
Troubleshooting Matrix
| Symptom | Most likely cause | Action |
|---|---|---|
| 207412 immediately after POWER ON with new motor | p0431 = 0 or invalid | Run pole-position ID (p1980 = 10, p1982 = 1, p1990 = 1) |
| 207412 returns after every POWER ON | p0431 not saved to CF card | "Copy RAM to ROM" + POWER ON |
| 207412 + motor vibrates audibly during pole-position ID | p1981 too large or mechanical binding | Reduce p1981 to 15°, check axis free travel |
| 207412 + F07970 "Pole position identification failed" | p1980 / p1982 selection incompatible with motor | Use p1980 = 4 (two-stage) instead of 10 |
| 207412 + Iq current at standstill > 50 % rated | Manual p0431 wrong by > 30° | Re-run pole-position ID with p1980 = 10 |
| 207412 only on one axis, others unaffected | Motor-specific EDS issue | Re-load motor data set from motor data list |
| 207412 after long storage (no motor swap) | CF card CRC error | Verify backup, reload commissioning archive |
| 207412 + F3y035 sub-code | Encoder signal lost or contaminated | Inspect encoder cable, replace encoder if needed |
| 207412 + alarm buffer shows "Pole pos ID abort" | Brake not released | Force brake open with p1215 = 0 in commissioning |
| 207412 after DRIVE-CLiQ topology change | Encoder DDS mismatch | Re-execute "Automatic configuration" in Starter |
Verification Procedure
- Power on the controller with the new motor connected and the safety circuit closed.
- Open the diagnostic buffer at the HMI. Alarm 207412 must be absent from both the active alarm and the history view.
- Read r0947 and r0949 — both must be zero.
- Jog the axis in JOG mode at 10 % of rapid for a minimum travel of one motor pole-pair equivalent. Monitor r0061 (speed actual) and r0078 (current Iq). The Iq must remain < 30 % of r0067 (current limit).
- Run an automatic circularity test or linear positioning test (for safety axes, observe MD38000 $MA_SAFE_RAMP) to confirm torque behaviour under controlled motion.
- Execute an NC program that performs multiple reversals of the axis. Observe r0079 (current Id). Id must stay near the rated magnetising current, with no oscillation larger than ±10 %.
- Save the drive parameters to the CF card and back up the commissioning archive via SINUMERIK Operate → Commissioning → Series commissioning.
Preventive Recommendations
- Always run pole-position identification after a motor swap, even if the new motor has the same MLFB. Mechanical tolerances and encoder mounting can shift the offset by a few degrees.
- Maintain a per-axis backup of p0431, p0350, p0352, p0356 and the entire drive data set. The SINUMERIK 828D series commissioning file (.arc) contains these values; archive it after every change.
- Where possible, prefer motors with DRIVE-CLiQ encoders (for example 1FK7 with EnDat 2.2 + DRIVE-CLiQ adapter module SME). The encoder data is stored in the motor's electronic nameplate and loaded automatically on connect, eliminating most p0431 errors.
- Document the wiring of the brake and power connectors during the swap to avoid phase-sequence errors.
- For axes with vertical load (gravity axis), evaluate p1980 = 4 (motionless saturation technique) so that the pole-position ID can be performed without releasing the brake.
- After every motor-data change, run the SINAMICS "Calculate motor data" routine (p0340 = 1) so that p0350, p0352 and p0356 are derived consistently from p0301.
Standards and Patent Background
The commutation-angle determination technique used in SINAMICS is covered in European patent EP3029826A1 ("Method for determining a commutation angle in a permanently excited synchronous motor"), which describes the saturation-based identification algorithm that underlies p1980 = 4 and p1980 = 10. The same algorithm is referenced in the Siemens TIA Portal documentation for fail-safe technology modules at the URL TIA Portal F-TM Servo documentation. The Siemens Support article ID 109817112 documents the alarm text, reaction and remedial steps in the official Knowledge Base.
FAQ
What does SINUMERIK alarm 207412 "Commutation Angle Incorrect" mean?
It means the SINAMICS drive has detected a deviation of more than 80° electrical between the pole-position angle reported by the encoder and the angle calculated by the internal motor model. The drive suppresses pulses (OFF2) to prevent positive coupling in the speed controller. Run pole-position identification with p1980 = 10, p1982 = 1 and p1990 = 1 to clear the alarm.
Why does alarm 207412 appear after replacing a 1FK servo motor?
The commutation offset stored in p0431 was valid for the old motor. After a torque upgrade to a different MLFB, the new motor has a different electrical angle relative to the encoder zero, so p0431 must be re-identified. A mismatch in motor parameters p0350, p0352 or p0356, or a swapped U/V/W phase, can also produce the alarm.
Which SINAMICS parameters must be set to run pole-position identification?
Configure p1980 = 10 (motion-based saturation technique), p1981 = 30 (max travel in degrees electrical), p1982 = 1 (with motion), then enter p1990 = 1 to start. After completion the new offset is written to p0431. Save with "Copy RAM to ROM" and POWER ON.
Can I clear alarm 207412 without moving the motor?
Yes. Enter a known-good commutation offset directly into p0431 from the motor data sheet, or use the motionless technique p1980 = 4 (two-stage saturation). Both require the motor parameters p0350 / p0352 / p0356 to be correct and the brake to be released if applicable.
How do I verify that the alarm is fixed after the procedure?
Read r0949 and r0947 — both must be 0. Jog the axis at low speed while monitoring r0061 (speed) and r0078 (Iq current). Iq at standstill should remain below 30 % of r0067. Then execute an NC program with multiple axis reversals and confirm r0079 (Id) is stable at the rated magnetising current with no oscillation greater than ±10 %.
What does r0949 = 0 indicate for alarm 207412?
r0949 = 0 confirms that the comparison of pole-position angle from the encoder and the motor model resulted in a deviation > 80° electrical. The remedy is pole-position identification; if r0949 shows a non-zero value, the cause is different (encoder passive state, phase sequence, or commutation offset out of range) and the corrective action changes accordingly.