Resolving Siemens 840D Alarm 300500 Error Codes 3 and 16

David Krause14 min read
Motion ControlSiemensTroubleshooting
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

Overview

Alarm 300500 "Axis drive system error" is one of the most reported and least documented faults on the SINUMERIK 840D / 840D sl platform. The alarm is a container message: it carries an internal drive error code in parameter %1 that determines the actual fault condition. In the field, the combination of error codes 3 and 16 appears almost exclusively on the Z-axis of a turning machine immediately after Servo ON, and it is frequently paired with alarm 300006 (configured module not found on drive bus) and alarm 26100 (sign-of-life of drive missing). This article consolidates the diagnostic path, the SIMODRIVE 611 control card part-number matrix, the drive bus checks, and the drive machine-data (MD) recalculation procedure that clears the alarm without returning the machine to the manufacturer.

Reference document: Siemens support PDF DA_0805_en - Alarm 300500 SINUMERIK 840D sl/840D/840Di/810D defines error codes of alarm 300500 and lists the system reactions. Always cross-check the live alarm screen against the official list before substituting parts. See Siemens Support Attachment 108863538.

Alarm Set Reported on the Turning Machine

The reported alarm stack, in the order in which it appeared on the HMI, is:

  1. 300006 - At least one configured module (module/drive Z) has not been found on drive bus.
  2. 26100 - Sign of life of drive missing.
  3. 300500 - Axis Z drive system error, error codes 3, 16.

Alarm 300006 cleared once the original SIMODRIVE 611 control card was reinstalled, but alarm 300500 persisted across the following service actions:

  • Replacement of the SIMODRIVE 611 LT module (line/transducer).
  • Replacement of the drive bus cable between NCU and 611D power section.
  • Replacement of the device bus cable between 611D modules.
  • Visual inspection and re-seating of the ribbon and D-sub connectors on the control card.

None of these actions cleared the alarm, which is a strong indicator that the root cause lies in the SIMODRIVE drive configuration rather than the hardware signal path.

Root Cause Analysis

Alarm 300500 is raised by the NCK when the drive dispatcher detects an internal drive state that does not match the expected configuration. Code 3 ("drive type / module type does not match the configuration") combined with code 16 ("encoder data record inconsistent") on a Z-axis is the classic fingerprint of one of three root causes:

  1. Control card substitution with a non-equivalent variant. The Siemens 6SN1118 single-axis and dual-axis control cards carry different MLFB suffixes that map to different encoder interfaces, current ratings, and firmware loads. Swapping a card with a different suffix (for example, replacing 6SN1118-0DH23-0AA0 with 6SN1118-0DM13-0AA0) loads the wrong module identity into the drive bus and triggers code 3.
  2. Loss of drive machine data after a control-card replacement. The drive MD block (motor data, encoder data, controller gains, current setpoint limits) is stored on the control card. A card that was previously configured for a different axis or that has been factory-reset returns a default data set. When the NC then attempts to close the position loop, code 16 is raised because the encoder scaling parameters no longer match the saved drive configuration.
  3. Drive bus termination or ribbon-cable degradation. Less common with codes 3/16, but intermittent contacts produce repeated code 3 retransmissions because the drive is repeatedly going online and offline.

Control Card Part-Number Matrix

The SIMODRIVE 611D control cards used on the 840D in this class of turning machine are 6SN1118-series modules. Field experience shows that the encoder-port count and firmware load must match the original; mixing them produces the 300500/3/16 combination.

MLFB Description Encoder ports Status
6SN1118-0DH23-0AA0 Dual-axis control card with second encoder port 2 Active production
6SN1118-0DM13-0AA0 Dual-axis control card without second encoder port 1 Discontinued by Siemens
6SN1118-0DG23-0AA0 Single-axis control card (50 A class) 1 Active production
6SN1118-0NK00-0AA0 Single-axis control card (80 A class) 1 Active production
Critical rule: A dual-axis card with a second encoder port (-0DH23) is not drop-in replaceable by a card without that port (-0DM13). The MLFB suffix encodes the encoder-interface hardware; the NCU drive-bus handshake will accept the card, but the position-controller configuration read-back fails with code 3/16. Always reorder the exact original MLFB.

Diagnostic Procedure

  1. Read the alarm buffer with the exact error code. On the HMI open Diagnostics → Alarms → Alarm history. Confirm that 300500 reports %1 = 3 and a second occurrence with %1 = 16. If only one of the two codes is present, the corrective action differs - see the matrix below.
  2. Check the control card MLFB on the side sticker and compare it against the MLFB declared in Commissioning → Drive configuration. A mismatch between physical card and configured card is the single most common trigger of code 3.
  3. Verify drive bus topology. The 840D drive bus is a fibre-optic ring. Inspect the FOC connectors at the NCU, at each 611D module, and at the LT module. A dirty or interchanged Tx/Rx fibre pair will fault the drive on every Servo ON, raising 26100 first and 300500 second.
  4. Read the drive MD that the NC has loaded. From the HMI: Commissioning → Drives → MD. Compare MD30130 (output type of setpoint output), MD30240 (encoder type), and MD31020 (DRYRUN encoder resolution). Default values after a control-card swap are typically 0, which is incompatible with a configured Heidenhain or Siemens motor encoder.
  5. Read the drive alarm history. Press the Alarm History softkey on the 611D operator panel (the small 7-segment display behind the cover). Codes prefixed with F- are drive-internal faults; codes prefixed with A- are warnings. Code 3 maps to F-300500/3 "drive type mismatch" and code 16 maps to F-300500/16 "encoder data record invalid".

Diagnostic Flow

Servo ON & 300500 fires Read alarm %1 (3 / 16) %1 = 3 only %1 = 16 only %1 = 3 and 16 Control card MLFB mismatchReplace with original MLFBRecalculate drive MD Encoder MD blankMD30240, MD31020Recalculate control data Both conditionsMLFB OK but card isfactory-reset → recalc MD NC Reset & Servo ON → cleared

Drive Topology Reference

NCU 840DDrive bus master 611D X axis6SN1118-0DG23 611D Z axis6SN1118-0DH23 611D Spindle LT module Power section2 x 50 A drive bus

Drive Bus Electrical Checks

Before any control-card substitution, the drive bus integrity must be confirmed. The drive bus runs at 5 MBd over plastic optical fibre (POF) or hard-clad silica (HCS); signal quality is sensitive to connector contamination.

Check Acceptance criterion Tool
Fibre Tx/Rx orientation Tx of master → Rx of slave, no crossover on ring return Visual + Siemens FOC tester
Connector end-face No scratches, no oil film 200x microscope or Siemens cleaning kit 6GK1901-0DB20-0AA0
Optical power budget ≥ 3 dB margin per segment Siemens FOC power meter
Drive bus termination Terminator on last slave only; NCU has internal termination Visual inspection of last module
Device bus (611D internal) Ribbon cable fully seated on both headers, no bent pins Visual + reseat
A bad drive bus connector usually produces alarm 26100 standalone or in combination with 300006. If those two alarms persist after reseating the FOC, the problem is electrical, not configuration. The 300500/3/16 combination is overwhelmingly a configuration issue and survives a healthy bus.

Step-by-Step Resolution

  1. Power down and lock out the cabinet. Wait 5 minutes for the DC link to discharge below 50 V (verify with a meter on the LT module test points).
  2. Confirm the original control-card MLFB. Read the sticker on the original card before it is removed and record it. In the reported case, the original is 6SN1118-0DH23-0AA0.
  3. Remove any substituted card and refit the original MLFB. Do not mix -DH23 (with second encoder port) with -DM13 (without second encoder port). If the original card is no longer available, order a replacement with the identical MLFB suffix; the 6SN1118 family is not freely interchangeable.
  4. Restore the saved drive commissioning archive. On the HMI open Commissioning → Drives → Start-up → Load archive and load the most recent series-commissioning backup that matches the axis. If the backup is missing or unreadable, proceed to the manual recalculation in step 5.
  5. Recalculate the drive control data. From the HMI: Commissioning → Drives → Start-up → Calculate control data. Select the Z-axis drive and confirm. The NCK reads the motor and encoder parameters from the drive MD block and writes back the closed-loop gains (Kv, integral time, current-loop parameters). Allow approximately 30 seconds for the calculation; the HMI will display Calculation finished.
  6. Save the drive MD. Commissioning → Drives → Save. This writes the recalculated values both to the control card and to the NCK's drive MD mirror.
  7. NCK reset and Servo ON. Press NC Reset, then Servo ON. The drive should now come up without alarm 300500. If the alarm reappears, check the diagnostic flow above for a residual code 3 (MLFB mismatch) before assuming the card is still bad.

Why "Calculate Control Data" Clears the Alarm

The drive machine data on a 6SN1118 control card is stored in a non-volatile EEPROM on the card itself. When a card is replaced, the new card contains either a default blank record (factory) or a record that was written for a different axis or motor. The NC's drive dispatcher reads the motor code from MD and the encoder scaling from the card and compares the two. A mismatch between expected and actual encoder data raises code 16; a mismatch in module identity raises code 3. The Calculate control data function rebuilds the encoder data record and the controller parameters from the motor code, line count, and resolver pole pairs that are still correct in the NC side, then writes the result back to the card. This restores consistency between NC-side and drive-side configuration, and both 300500 codes clear.

The MD calculation does not modify the motor code itself, the power-section assignment, or the encoder port selection. That is why the procedure clears the alarm when the MLFB is correct but fails when the MLFB is wrong - the calculation cannot rewrite a hardware-level port that does not exist on the installed card.

Drive MD Snapshot for a Typical Z-Axis on This Machine Class

Record these values before any card swap. They are the minimum set that the recalculation references:

MD Name Typical value (1FT6 / 1FK6 motor, 50 A)
MD30130 Output type of setpoint output 1 (analog)
MD30240 Encoder type 4 (incremental, sin/cos 1 Vpp)
MD31020 Encoder resolution (line count) 2048 or 8192 depending on motor
MD32100 Motor code Motor-specific, e.g. 1FT6082-8AF71
MD32250 Rated current (rms, A) 22 to 36
MD32260 Rated motor speed (rpm) 3000 or 4500
MD1409 Motor encoder identification Set automatically by Calculate

Verification Procedure

  1. Alarm buffer empty. After NC Reset and Servo ON, the alarm screen must show no active 300500, 300006, or 26100. Any residual 300006 indicates the new card is still not on the bus - recheck the MLFB and seating.
  2. Axis reference. Run a reference-point approach at 100% rapid and at 10% rapid. The axis must complete the reference without triggering following-error monitoring. This confirms the encoder data record is correct.
  3. Following-error test. Execute a programmed motion of 50 mm at 50% rapid. Monitor the following-error window in the Service → Axis diagnostics screen; peak error must be below the axis-specific following-error limit (typically 0.5 mm for Z on a turning centre).
  4. Contour test. Run a circularity test (G02/G03) at 500 mm/min and 2000 mm/min. Compare the recorded circularity error against the last accepted value; deviation < 5% confirms the current and speed controller gains are aligned with the new card.
  5. Drive temperature trend. Monitor the Z-axis drive temperature via the 611D operator panel for 30 minutes of duty cycle. A new card with default current-loop parameters can run 5 to 10 °C hotter than a tuned one. If the temperature climbs above 75 °C, the current-loop gain has not been recalculated and the procedure must be repeated.

Troubleshooting Matrix for 300500/3/16

Symptom combination Most likely cause Action
300500 code 3 only, original card reinstalled MD still references old card MLFB Recalculate control data, save MD, NC reset
300500 code 16 only, MLFB correct Encoder MD blank or wrong resolution Recalculate, then verify MD31020 against motor plate
300500 code 3 and 16 together, substituted MLFB Hardware substitution error Refit original MLFB; 6SN1118-0DH23 cannot be replaced by -0DM13
300500 with 26100, intermittent Fibre-optic connector Clean FOC end-faces, verify Tx/Rx orientation
300500 with 300006 after card swap Card not seated or wrong slot Reseat in correct slot, verify drive-bus address switches
300500 after control-card firmware flash Firmware-load mismatch with NCK Verify compatibility; roll back or upgrade NCK to match card firmware

Common Field Pitfalls

  • Cross-referencing control cards between axes. Even within the same machine, a 50 A card from the X axis is not a substitute for a 50 A card from the Z axis if the encoder-port variant differs. The MLFB is the only authoritative identifier.
  • Using a -0DM13 in place of a -0DH23. The -0DM13 is a legacy dual-axis card without a second encoder port and is on Siemens' discontinued list. The card may physically install and the drive bus will accept it, but the position controller for the secondary encoder cannot be configured and the fault returns.
  • Skipping the MD save. Calculate control data writes to volatile drive RAM. Without an explicit Save, the values are lost on the next power-off and the alarm returns at the next Servo ON.
  • Replacing the LT module first. The LT module is rarely the cause of 300500/3/16. Replacing it before confirming the control-card MLFB wastes time and may introduce new device-bus issues.
  • Mixing PO and PCIN archives. Loading a series-commissioning archive written for a different motor or a different control-card MLFB will write incompatible encoder MD and produce a code 16 at the next Servo ON.

Related Alarms and How They Interact

Alarm Meaning Sequence with 300500
300006 Configured module/drive not found on drive bus Predecessor - fires first when the new card is not recognised
26100 Sign-of-life of drive missing Concurrent - fires when drive-bus handshake fails
25201 Axis drive fault Successor - fires if 300500 is acknowledged without root-cause fix
25000 Axis %1 drive fault Global - aggregates 300500 into axis-level summary
380001 PROFIBUS DP drive fault Successor on 840D sl with PROFIBUS-DP drive bus

Safety and ESD Precautions

SIMODRIVE 611D control cards are ESD-sensitive Class 1 devices. Always wear a grounded wrist strap when handling. The DC link in a 2 x 50 A power section stores lethal energy for up to 5 minutes after mains disconnect. Verify zero voltage at the LT module test points before touching any bus bar or ribbon cable. Refer to the SINUMERIK 840D sl Operator Components and Connection Manual for the lock-out/tag-out sequence required in your jurisdiction.

Parts to Stock for This Fault Class

  • One 6SN1118-0DH23-0AA0 control card (dual-axis, second encoder port) per machine, kept in original anti-static packaging.
  • Spare FOC patch cables, 1 m and 3 m, terminated with Siemens FOC connectors.
  • FOC cleaning kit 6GK1901-0DB20-0AA0.
  • Most recent series-commissioning archive on a USB stick or CF card, stored near the machine.

FAQ

What does Siemens alarm 300500 with error codes 3 and 16 mean on a SINUMERIK 840D?

Alarm 300500 is a generic drive-system fault. Code 3 indicates that the drive module identity on the drive bus does not match the configuration in the NC (typical after a wrong-MLFB control-card swap). Code 16 indicates an inconsistent encoder data record (typical after a blank or reset card). On a turning-machine Z-axis, the two codes almost always appear together and are cleared by recalculating the drive control data after installing the correct original control card.

Can I substitute a 6SN1118-0DM13-0AA0 for a 6SN1118-0DH23-0AA0?

No. The -0DH23 is a dual-axis card with a second encoder port; the -0DM13 is a discontinued dual-axis card without that port. The hardware difference means the encoder data record cannot be built correctly and the drive will continue to raise 300500 with codes 3 and 16. Always reorder the exact original MLFB.

Why does "Calculate control data" clear 300500 but not 300006?

300006 is a drive-bus presence alarm and is cleared the moment the new card is recognised on the bus, which usually happens at card insertion or at NC Reset. 300500 is a configuration-consistency alarm and is only cleared once the NC and the drive agree on the encoder record, which the Calculate function rebuilds. If 300006 persists after card insertion, the card is not seating or the MLFB is unrecognised.

Do I need to replace the LT module to clear 300500 codes 3 and 16?

No. The LT (line/transducer) module handles DC-link pre-charge, line regeneration, and mains monitoring; it is not involved in the encoder data record that triggers codes 3 and 16. Replacing the LT module is wasted effort in this scenario. Replace the control card with the original MLFB and recalculate the drive MD.

How do I save the recalculated drive MD so the alarm does not return after power-off?

After the Calculate control data function finishes, open Commissioning → Drives → Save and confirm the prompt to write the MD to the control card's EEPROM and the NCK mirror. Without this save the recalculated values live only in RAM and are lost on the next NC power-down, which makes the alarm return at the next Servo ON.

Where can I find the official list of error codes for alarm 300500?

The authoritative list is published by Siemens in support attachment DA_0805_en - Alarm 300500 SINUMERIK 840D sl/840D/840Di/810D. The PDF enumerates the error-code-to-cause mapping and the system reaction for each code.

Back to blog