Resolving SINAMICS G120C Fault A07991: Motor ID Reset Guide

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

Resolving SINAMICS G120C Fault A07991: Motor ID Reset Guide

The SINAMICS G120C compact inverter reports fault A07991 – "Motor parameter identification activated" when the drive is powered up with the motor-data-identification (MotID) sequence armed but never executed, or when the alarm class is latched in such a way that the Basic Operator Panel 2 (BOP-2) cannot acknowledge it. Because A07991 prevents the power-on enable, the drive will not close the gate and the motor cannot run until the condition is properly cleared. This article documents the parameter paths, control-word sequence, factory-reset behavior, and commissioning-tool procedures required to recover a SINAMICS G120C that is stuck on A07991 after a failed or aborted motor identification.

Safety notice. Before any parameter change, disconnect the line contactor, verify DC-bus discharge (≥5 minutes after power-off, confirm with the drive LEDs), and lock out/tag out the drive per local electrical safety rules. Motor identification causes rotation in some modes – ensure the driven load is uncoupled or verified safe for rotation before triggering P1900 ≠ 0.

1. Fault A07991 – Technical Overview

On the SINAMICS platform (G120, G120C, G120P, G120D, G110M, S110, S120, S210), alarm and fault codes follow a fixed convention:

Code prefix Meaning Effect on drive
Fxxxxx Fault (latching, requires Acknowledge) Power-on inhibit, pulse inhibit
Axxxxx Alarm (warning, non-latching by default) Drive can continue running; alarms become faults only if a parameter assigns them to fault class

A07991 is officially described in the SINAMICS List Manual as: "Drive: Motor parameter identification activated." It is raised as a warning to inform the user that the drive is configured to run a motor identification but the identification cycle has not yet been completed. Normally, an alarm does not latch – however, several field conditions cause A07991 to behave like a latching fault:

  1. Alarm-to-fault conversion via P2100 / P2101, mapping A07991 to a fault reaction.
  2. Safety-Integrated (STO) state – the drive cannot enter the operating state, so the alarm is never cleared automatically.
  3. Commissioning lock triggered by an aborted identification (e.g., loss of STO enable, fieldbus error, encoder open circuit during rotating measurement).
  4. Inconsistent control mode – P1300 was set to 0 (V/f linear) but the drive had been previously commissioned in vector mode (P1300 = 20/21/22/23). The controller model still expects a MotID that was never run.
  5. Firmware bug – some early G120C firmware branches (verify against the firmware list of the affected FS) handle A07991 as a fault when P1900 is written to 0 while the drive is in the "Identification active" state.

2. SINAMICS G120C Product Context

The SINAMICS G120C is the compact, book-style member of the SINAMICS G120 family. It covers the power range roughly from 0.37 kW to 132 kW (verify against the current catalog numbers in the Siemens Industry Online Support portal). The drive is available in three frame sizes (FSAA, FSA, FSB, FSC, FSD, FSE) with different operator-panel options:

Operator panel Short code Function Reset capability
Basic Operator Panel 2 BOP-2 Parameter read/write, manual setpoint, fault acknowledge via the FN/OK button Can acknowledge most faults and alarms in default configuration
Intelligent Operator Panel IOP Plain-text menus, wizards, USB port, SD card slot Full reset; supports saving/loading parameter sets
No panel / Blind — Commissioning via terminal or bus only Acknowledge requires fieldbus control word (STW1 bit 7) or digital input

When A07991 cannot be acknowledged from the BOP-2, the cause is almost never a hardware defect of the panel – it is the alarm/fault state machine refusing the Acknowledge request because the underlying condition (MotID not executed) has not been resolved. The BOP-2 Acknowledge only works for messages whose alarm class is FAULT_LOCK or ALARM_FAULT with the appropriate bit set; a warning that was never converted to a fault is logically cleared by addressing the cause, not by pressing the panel button.

3. Parameter Reference – The Parameters That Control A07991

Parameter Name Values that suppress the alarm Notes
P1900 Motor data identification and rotating measurement 0 = inhibited (default)
1 = standstill ID (PEM only, no rotation)
2 = standstill + rotating ID
3 = rotating ID only
Setting P1900 = 0 after a previous non-zero value clears the alarm only if P1300 was simultaneously downgraded and a save was performed. Some firmware versions require a power cycle.
P1300 Open-loop/closed-loop control mode 0 = V/f linear
1 = V/f FCC
2 = V/f quadratic
20 = Sensorless vector (SLVC)
21 = Vector with encoder (VFC)
22 = Sensorless vector torque
If P1900 ≠ 0, the drive expects vector mode (P1300 ≥ 20). Mismatch leaves A07991 latched.
P1910 Standstill (static) motor data identification 0 = inhibited
1 = run
Triggered manually; the drive displays "Identification active" while the test runs.
P1960 Rotating measurement optimization 0 = inhibited
1 = run
Requires STO enable, ON command, and a free-to-rotate motor.
P2100 Alarm number for fault conversion Field index → fault number Check whether A07991 is mapped here. If yes, remove the mapping or clear the index.
P2101 Fault reaction for the converted alarm OFF1, OFF2, OFF3, NONE If a reaction is configured, the alarm behaves like a fault.
P0952 Fault count Read-only Increments with every unacknowledged fault. Used to confirm a successful acknowledge sequence.
P0971 Save parameters to non-volatile memory 1 = save to RAM only
11 = save to non-volatile (NVRAM)
12 = save to non-volatile and acknowledge fault buffer
The P0971 = 12 sequence is the canonical "factory-style" reset of the buffer.
P0970 Factory reset 1 = factory reset (depending on firmware: 1, 21, or 30 are accepted values) Restores all parameters to factory default. Drive will be re-commissioning from scratch.
Parameter write protection. The G120C is write-protected by default in the "Running" state. Parameter changes that the drive considers commissioning-relevant (P0100, P0201, P0304-P0311, P0335, P0500, P1300, P1910, P1960) require the drive to be in Commissioning mode (set P0010 = 1) or stopped. If a parameter write returns the error "Value could not be changed," check r0002 (drive state) and P0010 first.

4. Root Cause Analysis – Why A07991 Persists After P1900 = 0

Setting P1900 = 0 alone is not always sufficient because of how the SINAMICS alarm buffer interacts with the controller state machine. Specifically:

  1. The alarm is already latched in the buffer. A07991 is a buffered alarm with state "ALARM_FAULT_LOCK" on the affected firmware. P1900 = 0 changes the request, but the buffered alarm is not cleared until an explicit acknowledge (Acknowledge / RESET) is given to the fault buffer (STW1.7 = 0→1 edge on PROFIdrive, or BOP-2 OK button, or P0952 acknowledged).
  2. The control mode is inconsistent. If the drive was in vector control (P1300 = 20) and the controller model is expecting to run a MotID before torque control can close, simply writing P1300 = 0 does not re-initialize the internal current-controller state – A07991 will reappear at the next power-on.
  3. A safety lock is active. A missing Safety-Integrated enable (STO terminals open, or a PROFIsafe control word missing) keeps the drive in "Commissioning lock" and prevents the alarm from clearing. Check r0002 = "Function active" or "Commissioning in progress."
  4. Commissioning tool is online. If STARTER, Startdrive (TIA Portal), or a PLC is online, the tool holds the drive in online mode. The acknowledge from the BOP-2 may be silently rejected because the higher-priority master is holding the alarm buffer.
  5. Fieldbus stop is forced. A PLC in PROFIdrive state "Stop" or a USS/Modbus master sending 0x047E (control word 1) keeps the drive in control-suppression mode. Acknowledge is gated by control word 1 bit 7 and bits 0-3.

5. Pre-Reset Diagnostics

Before changing parameters, capture the following read-only values to confirm the state of the drive:

Parameter Meaning What to look for
r0002 Current drive state 0 = commissioning, 1 = ready, 2 = run, 3 = fault active
r0947[0...7] Last fault number Confirm A07991 (decimal 7991) is in the buffer
r0949[0...63] Fault value (info) Provides the context of the fault (mode, status)
r0954[0...63] Fault time Timestamp of the fault
r2122[0...63] Active alarm number 07991 if the alarm is currently active
r0046.31 Control word bit 31 (alarm class) Indicates whether the alarm is converted to a fault
P2100[0..n] Alarm-to-fault mapping Check if 07991 is listed – if so, this is the real cause
P2101[0..n] Reaction for the converted alarm Check that "NONE" is set, not OFF1/OFF2/OFF3
P0952 Fault count Write down current value, attempt reset, verify count

Sequence on the BOP-2:

  1. Press the FN (function) key to enter parameter view.
  2. Use the up/down arrows to scroll to r0002; read the value.
  3. Press OK to enter r0947; read entries 0 through 7.
  4. Press FN to exit.

6. Resolution Method 1 – Parameter Reconfiguration and Acknowledge

Use this method when the drive was correctly configured but the identification was aborted and the alarm buffer still holds A07991.

  1. Bring the drive to a safe, de-energized state. The motor may not be rotating. Pulse inhibit must be active (r0002 ≠ 2).
  2. Enter Commissioning mode: set P0010 = 1 (or, for G120C firmware V4.7+, use the "Commissioning" tab in BOP-2: FN → SETUP).
  3. Confirm the motor data by reading P0304 to P0311. The values must match the motor nameplate exactly. A mismatch (e.g., a previous commissioning set 230 V on a 400 V motor) can re-trigger the alarm at the next power-on.
  4. If you intend to run the drive in V/f mode without vector control, set P1300 = 0 (V/f linear). The drive will not require motor data identification in V/f linear.
  5. Set P1900 = 0 to inhibit the motor identification.
  6. Set P1910 = 0 and P1960 = 0 if they were previously set to 1.
  7. Exit Commissioning mode: set P0010 = 0.
  8. Save to non-volatile memory: set P0971 = 1 and wait for the drive to acknowledge the save (typically 5-10 s). On success, the BOP-2 displays "Save OK."
  9. Acknowledge the fault buffer: set P0952 = 0 (this writes 0 to the fault count and forces a re-init) or use the dedicated acknowledge P2103 = 0 (FAULT_ACK).
  10. Power cycle the drive (24 V electronics or line power). On the next power-on, A07991 should not reappear.
Critical step: P0971 = 1 must complete before power cycle. Interrupting the save corrupts the parameter image and may require a factory reset (see Method 2). Do not switch off within 10 s of seeing "Save OK."

7. Resolution Method 2 – Factory Reset via P0970

Use this method when the parameter structure is corrupted, when multiple faults are pending, or when the alarm reappears at every power-on after Method 1.

  1. Document all customer-specific parameters. A factory reset erases everything except the rating plate parameters (P0100, P0201, P0304-P0311) on some firmware versions – verify against the actual list manual entry for P0970.
  2. Bring the drive to a safe, de-energized state.
  3. Enter Commissioning mode: P0010 = 1, P0003 = 1 (extended access).
  4. Set P0970 = 1. On some firmware versions the accepted value is 1; on others it is 21 (depending on the parameter set model) or 30 (full reset including safety parameters). Verify the accepted value in the firmware-specific list manual; this is a documented value, not a developer hint.
  5. Wait until the drive returns to r0002 = 0 (commissioning) or to a normal state. The BOP-2 displays a progress message. This takes between 5 s and 60 s.
  6. Power cycle the drive.
  7. Re-enter the motor data and run the full quick commissioning sequence.
  8. Save with P0971 = 1.

After a factory reset the drive is in P1300 = 0, P1900 = 0, and the alarm buffer is empty. A07991 will be cleared.

8. Resolution Method 3 – Control-Word Acknowledge over Fieldbus

If the drive is controlled by a PLC (PROFINET, PROFIBUS, USS, Modbus RTU) the alarm must be acknowledged via the bus. The PLC must issue the right bit pattern.

For PROFIdrive (PROFINET / PROFIBUS) on the SINAMICS G120C with a CU240E-2 or CU250S-2 control unit:

  1. Check the control word source: P0927 = 1 for the standard PROFIdrive telegram, or 20, 352, 999, 1-9999 for manufacturer-specific configurations.
  2. Verify the received control word 1 (STW1) in r0054.
  3. To acknowledge, set STW1 bit 7 (0.7, the "Acknowledge fault" bit) from 0 to 1 (rising edge) while bits 0, 1, 2, 3 (ON/OFF1, OFF2, OFF3, Enable) are set according to the drive's normal operating request. The PLC should set bit 7 to 1 for at least one bus cycle, then back to 0.
  4. Confirm acknowledgement by reading r2138.7 ("Acknowledge fault active") and verifying that r0947[0] returns to 0.

For USS / Modbus RTU, the equivalent is to set the corresponding control word register (PZD1 in the standard telegram) to 0x0480 (bit 10 = control by PLC, bit 7 = acknowledge) for at least 200 ms, then revert to the normal run word (0x047F for ON + enable).

For digital-input acknowledge (BICO routing), wire a digital input to the ACK BICO source and pulse the input low-high-low.

9. Resolution Method 4 – Commissioning via STARTER or TIA Portal (Startdrive)

STARTER (legacy, up to TIA V13) and Startdrive in TIA Portal (V14 and newer) are the official Siemens commissioning tools. They expose the full expert list and allow the user to acknowledge faults explicitly. This is often the cleanest recovery path because the tool can re-flash the parameter set, reset the safety lock, and force a MotID.

  1. Connect the engineering PC to the drive via USB (on the front of the BOP-2 housing) or over PROFINET. Use the correct Ethernet port – on a CU240E-2, ports 1 and 2 are PROFINET, port 0 is the commissioning port.
  2. Open STARTER or TIA Portal with Startdrive installed. Use the Siemens Industry Online Support article "Commissioning SINAMICS G120C with Startdrive" for the version-specific procedure.
  3. Go online with the drive. Accept the online/offline comparison prompt.
  4. Open the Commissioning workbench and run the Configuration step. Verify the control mode and motor data.
  5. Open Drive Functions → Motor identification and confirm whether P1900 is 0 (inhibited) or non-zero.
  6. Click Acknowledge all faults in the toolbar (the button with the green checkmark). The tool will issue a STW1.7 = 1 pulse.
  7. Perform a Copy RAM to ROM operation (this is the tool-side equivalent of P0971 = 1).
  8. If the drive is in a Safety-Integrated state with a locked commissioning, open Safety Integrated and run the Safety commissioning. The drive must be in Commissioning state with the safety password entered to change safety parameters.
  9. Save the project, disconnect, and power cycle.

10. Running the Motor Identification Correctly

If the user wants to keep vector control and properly run the MotID instead of suppressing it, the procedure is different from the reset path. A07991 in this case is a correct warning that the identification has not been completed. The drive will not run the motor in vector mode until MotID is done.

  1. Set P0010 = 1, P0003 = 3.
  2. Confirm motor data: P0304 (rated voltage), P0305 (rated current), P0307 (rated power), P0310 (rated frequency), P0311 (rated speed), P0335 (motor cooling).
  3. Choose the identification mode:
    • P1900 = 2 – standstill + rotating measurement. Requires the motor to be free to rotate in a safe direction. The drive will accelerate to the rated speed in vector control.
    • P1900 = 1 – standstill only (no rotation). Use when the load cannot be uncoupled but the basic stator resistance and leakage inductance are required.
    • P1900 = 3 – rotating measurement only. Use when standstill ID has already been done in a previous session.
  4. Exit commissioning mode: P0010 = 0.
  5. Give the ON command via the BOP-2 (FN → HAND → green run button) or via the fieldbus. The drive will start the identification cycle. The BOP-2 displays "Identification active."
  6. Wait for completion. The standstill part takes a few seconds; the rotating part takes up to 90 s depending on motor size.
  7. On completion the drive clears A07991 automatically and accepts the new motor parameters. The values can be read in P1910 (or in the equivalent r1910/r1960 read-only fields).
  8. Save with P0971 = 1.
Field-proven caveat. The rotating measurement accelerates the motor to the rated speed in the direction determined by the actual setpoint sign. If the load is bidirectional or if the speed setpoint is negative, decouple the motor or reverse the encoder wiring before starting the measurement. The measurement aborts if a safety input (STO, SLS, SS1) opens, if the fieldbus connection is lost, or if the speed controller saturates during acceleration.

11. Verification – Confirming the Fault is Cleared

After applying any of the methods above, perform the following verification sequence:

  1. Power cycle the drive (line contactor off for at least 30 s to allow the DC bus to discharge, or 24 V off if applicable).
  2. Read r0947[0..7]. The buffer should be empty (all entries = 0). If 07991 still appears, the alarm was not properly acknowledged; repeat the acknowledge sequence.
  3. Read r2122[0..63]. The active-alarm list should not contain 07991. Other alarms (e.g., 08510 – parameter set is inconsistent) are acceptable and point to a parameter mismatch that can be fixed after the drive is operational.
  4. Read r0002. The state should be 1 (ready) after power-on, or transition from 0 (commissioning) to 1 within a few seconds.
  5. Give an ON command at a low setpoint (e.g., 5 %). The drive should close the gate and the motor should rotate. The output frequency, voltage, and current should be observable in r0021, r0025, r0027 (or on the BOP-2 default display).
  6. If the drive raises a different alarm (e.g., 08511), refer to the list manual; the original A07991 has been resolved.
  7. Run a full commissioning verification: ramp up to rated speed, ramp down, check motor current at no load, and verify that the values match the nameplate expectations.
Symptom after reset Root cause Corrective action
A07991 reappears at power-on P1900 still non-zero, or P1300 mismatch Verify P1900 = 0, P1300 = 0, save, power cycle
Buffer holds A07991 after acknowledge PLC is holding the buffer; safety lock active Switch the PLC to "Stop" or "Acknowledge"; enter safety commissioning
Drive shows "Function not active" when ON is given STO circuit open Close STO inputs; check r0002 = 1 before ON
Drive shows F7990 or F7991 Motor data identification failed Verify motor connection, encoder wiring (if used), and re-run P1900 = 2
Drive shows A08510 or A08511 Parameter set inconsistent with motor Recalculate P0304-P0311; restore factory default and re-commission

12. Field-Proven Caveats and Best Practices

  • Always save before power cycle. Parameter changes in the SINAMICS are stored in RAM by default. P0971 = 1 (or the equivalent Startdrive "Copy RAM to ROM") is mandatory; otherwise the change is lost.
  • Document the alarm buffer before clearing. The buffer (r0947, r0949, r0954) is overwritten on the next fault. Capture it before acknowledging if the field service report requires it.
  • Use the list manual for your firmware version. Siemens updates the parameter descriptions, accepted values, and alarm classes between firmware versions. The Siemens Industry Online Support portal hosts the firmware-specific list manuals. The behaviour of P0970 (factory reset value 1 vs 21 vs 30) varies across versions.
  • Never use a BOP-2 "Reset to factory" from the menu without saving the customer parameters first. The factory reset is non-reversible. Use the upload tool (IOP with SD card, or STARTER / Startdrive upload) to back up the parameter set.
  • Vector control (P1300 ≥ 20) requires successful MotID. Downgrading to V/f linear (P1300 = 0) avoids the requirement, but changes the dynamic response of the drive. Confirm with the application engineer that V/f is acceptable.
  • Safety-Integrated parameterization locks the drive. Safety commissioning requires P0010 = 1 and a safety password. The drive may refuse to acknowledge non-safety faults while the safety lock is active.
  • Watch the firmware family. The SINAMICS G120C has been shipped under firmware V4.3, V4.4, V4.5, V4.6, V4.7, V5.1, V5.2 and the Startdrive V15/V16 firmware families. Parameter acceptance can differ. Refer to the firmware-specific list manual when in doubt.

13. Quick Reference – Operator-Level Recovery (BOP-2 only)

For a technician with only a BOP-2 and no engineering PC, the shortest recovery path is:

  1. FN → SETUP → DRV → CONF → set P1900 = 0, P1300 = 0, confirm motor data, P0010 = 0.
  2. FN → PARS → P0971 → 1 → OK (save).
  3. FN → ALARM → OK to acknowledge the buffer.
  4. Power cycle (24 V off/on, then line contactor off/on).
  5. FN → HAND → green button to run at the setpoint shown on the BOP-2.

If A07991 is still present after step 4, perform a factory reset via FN → EXTRAS → RESET → CONFIRM, then re-commission. This is the most aggressive recovery path and resets the parameter set to factory defaults.

14. Standards and References

When the SINAMICS G120C is integrated into a safety system, the relevant harmonized standards are IEC 61800-5-1 (adjustable speed electrical power drive systems – safety requirements), IEC 61800-5-2 (functional safety), and EN ISO 13849-1 (safety of machinery – safety-related parts of control systems). These documents do not define alarm codes – they define the functional and safety requirements that the alarm subsystem must respect. Verify the SIL/PL rating of the G120C Safety-Integrated functions against the current Siemens Safety Integrated Function Manual.

Why does fault A07991 reappear on every power-on after I set P1900 = 0?

The parameter change is stored in RAM only and is lost on power cycle, or P1300 is still set to a vector-control mode (≥ 20) that requires a successful motor identification. Set P1900 = 0 and P1300 = 0, then save with P0971 = 1 and acknowledge the buffer before power cycle. If the alarm still reappears, the drive firmware has the alarm in a latched buffer – use a factory reset (P0970 = 1) or a STARTER / Startdrive "Acknowledge all faults" command.

Can I acknowledge A07991 from the BOP-2 alone?

Only if the alarm is a true warning. If A07991 has been converted to a fault via P2100 / P2101, the BOP-2 FN/OK button will not clear it. Verify r0947[0]; if 07991 is present, attempt the BOP-2 acknowledge (FN → ALARM → OK), then follow the parameter-reconfiguration procedure in Method 1. If the alarm persists, switch to a commissioning tool (STARTER or TIA Portal Startdrive) for a tool-side acknowledge.

What is the difference between P1900 = 1, 2, and 3?

P1900 = 1 triggers a standstill identification only (stator resistance, leakage inductance). P1900 = 2 adds a rotating measurement to the standstill ID and requires the motor to run at rated speed briefly. P1900 = 3 is rotating measurement only, used when standstill ID has already been done in a previous session. For first commissioning, P1900 = 2 is recommended because the full motor equivalent circuit is needed for vector control.

Do I have to run the motor identification to use the drive?

Not if you stay in V/f linear (P1300 = 0) or V/f FCC / quadratic (P1300 = 1 or 2). The V/f modes use the motor nameplate data only and do not require a measured equivalent circuit. Vector-control modes (P1300 = 20, 21, 22, 23) require a successful motor identification before they will accept the ON command. A07991 is the warning that the identification has not been completed.

What is the safest way to perform a factory reset on a G120C that I cannot power-cycle easily?

Use STARTER or TIA Portal Startdrive. Connect over USB or PROFINET, go online, select the drive, and run "Restore factory settings" from the Commissioning menu. The tool writes P0970 = 1 (or the version-specific value) and reads the resulting state. The drive will remain online and operational at the end of the operation, which is preferable to a power cycle on drives that are integrated into a running process.

Back to blog