Sinumerik 840C Password Recovery: CL800 R11 Parameter Method

David Krause14 min read
Other TopicSiemensTroubleshooting
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

1. Problem Definition: Sinumerik 840C Start-Up Password Lockout

The Siemens Sinumerik 840C CNC controller protects the Start-Up (Inbetriebnahme) area, machine data, and setting data behind a four-digit numeric password. The OEM-default value is 1111, but on retrofitted machines, second-hand turn-mill centers (e.g., Gildemeister), and machines that have been serviced by non-OEM personnel, the password is frequently changed to a non-standard value and the new value is lost when the OEM relationship is severed.

When the password is unknown, the following operations are blocked:

  • Modifying machine data (MD) such as axis gains, servo loop parameters, and feed limits
  • Modifying setting data (SD) including tool offsets, work offsets, and protection zones
  • Accessing the Start-Up menu (Softkey Inbetriebnahme / Startup)
  • Clearing the alarm history and PLC status displays
  • Performing reference point adjustment and encoder calibration routines

This article documents the CL800-language bypass that uses an MDA (Manual Data Automatic) routine to copy the active password into readable R-parameter R11. The method is applicable to the entire Siemens Sinumerik 8xx family (810M, 810T, 840C, 850, 880, 805) and is the field-standard procedure when no OEM backup exists.

SAFETY WARNING: The procedures described below modify the contents of volatile and non-volatile memory of a CNC controller. Always perform a complete backup of machine data, setting data, and PLC user program (on 840C, these are stored on FDD/PCP memory cards or via the V24 / RS-232 interface) before executing any recovery routine. Confirm the machine is in a safe state, axes are referenced or stationary, and the main contactor is disengaged where possible. Unauthorized modification of safety-relevant machine data can defeat guarding, soft limits, and stop-category logic.

2. Password System Architecture on Sinumerik 8xx

On the 840C and related 8xx controllers, the start-up password is stored in a protected memory cell that is normally only addressed through the system operator panel softkey chain. The active password is referenced by a system call during the softkey callback handler that checks the four-digit entry before granting access to the start-up area.

The CL800 (Compact Language 800) interpreter on these controllers exposes a system function — identified by the designator @300 with a sub-function selector — that copies the contents of this protected cell into a user-visible R-parameter. Selecting the parameter index K11 targets register R11, which is the convention used by Siemens for the password register on the 8xx generation.

Table 1 — Sinumerik 8xx Password Register Mapping
Controller CL800 Directive Target R-Parameter Default Password Password Field Length
Sinumerik 805 @300 K11 R11 R11 1111 4 digits
Sinumerik 810M / 810T @300 K11 R11 R11 1111 4 digits
Sinumerik 840C @300 K11 R11 R11 1111 4 digits
Sinumerik 850 @300 K11 R11 R11 1111 4 digits
Sinumerik 880 @300 K11 R11 R11 1111 4 digits

The R-parameter file is freely readable from the operator panel at any time without password challenge, which is what makes the bypass non-destructive: the password is read out, not overwritten, by the routine.

3. Prerequisites

Before executing the recovery procedure, verify the following prerequisites:

  1. Controller identification: Confirm the operator panel label is 840C (or 810M / 810T / 850 / 880 / 805). The CL800 dialect used in this procedure is not present on later Sinumerik 840D / 840D sl / ONE controllers, which use a different NCK language (SLC / DIN 66025 extended).
  2. Operator panel access: The 8xx must be powered up, PLC in run or stop as appropriate, and the NCK must be in a state where the MDA operating mode is selectable. Clear any axis-movement alarms or EMERGENCY-STOP conditions that would lock out the operating mode selector.
  3. Machine data backup: Archive current machine data, setting data, R-parameters, and PLC program using the V24 (RS-232) port and the Services / Data Output softkey, or extract a copy from the FDD/PCP card if equipped.
  4. Mode selection authority: The mode selector key switch (REF / JOG / MDA / AUTO) must have the password-protected key position enabled. On some installations the key is removable in AUTO only; ensure the operator can switch to MDA.
  5. Override and feed-hold: Set rapid override to 0% and feed-rate override to 0% during the procedure to prevent unintended axis motion if the routine is accidentally run in AUTO mode instead of MDA.

4. Step-by-Step Password Recovery Procedure

Execute the following steps in order. Do not deviate from the syntax; the @300 directive is case- and whitespace-sensitive on some firmware versions.

Step 4.1 — Enter MDA Mode

Turn the operating-mode selector to the MDA position. The mode indicator on the screen header must read MDA. If the indicator still reads JOG, AUTO, or REF, the mode change has not been recognized — confirm the key-switch position and re-attempt.

Step 4.2 — Compose the CL800 Routine

Open the MDA buffer and enter the following three-block program exactly:

N5 @300 K11 R11

This single line invokes system function @300 with the constant selector K11 (password register index) and writes the result into the user R-parameter R11. The line number N5 matches the field-proven convention; any unused block number above the active NCK reset point is acceptable (N1 through N9 are all safe).

Step 4.3 — Cycle Start

Press CYCLE START (green button on the operator panel). The program executes in MDA. There is no tool motion — the @300 directive is a system-service call and does not require any axis to be referenced. Execution typically completes in under 200 ms.

Step 4.4 — Read the Resulting R11 Value

Navigate from the MDA screen to the parameter area:

  1. Press the PARAMETER area softkey
  2. Press PROGRAM PARAMETER
  3. Press R PARAMETER

Locate register R11. The value displayed is the active four-digit start-up password.

IMPORTANT: The value stored in R11 is a 32-bit signed integer representation of the password. The actual four-digit code is the rightmost (least significant) four decimal digits of the value, with leading zeros preserved. For example, a displayed value of 00001234 represents the password 1234. The source documents that on some builds the value can appear as a long integer with the password digits embedded; extract only the four most-significant trailing digits that match a valid password entry.

Step 4.5 — Record and Reset

Write the recovered password down on a paper record, then navigate to:

  1. START-UP area softkey (the same one that originally rejected the entry)
  2. Enter the recovered password when prompted
  3. Open the PASSWORD / PASSWORT submenu
  4. Change the password back to a known value (the default is 1111; many service engineers use a service-unique code such as the machine serial number, a four-digit date stamp, or 0000 for non-production units)
  5. Confirm the new password by re-entering it when prompted
  6. Power down the controller, wait 30 seconds, and power back up to confirm the new password is retained in non-volatile storage

5. Error 3004 Diagnosis and Resolution

One of the most common failure modes reported in the field is the alarm:

3004 1 N5 Fehler bei CL800 - Programmierung

Alarm 3004 channel 1 means the CL800 interpreter has rejected the program block at line N5. The Fehler bei CL800 - Programmierung suffix translates to Error in CL800 programming. This alarm prevents the @300 directive from executing and leaves R11 unchanged.

Table 2 — Alarm 3004 Root Cause Matrix
Symptom Probable Root Cause Verification Corrective Action
3004 1 N5 alarm, routine written in MDA Typographical error in @300 directive (extra spaces, lowercase, missing K or R prefix) Re-enter directive with single spaces: @300 K11 R11 Re-enter exactly as documented
3004 1 N5 alarm, German-language panel Regional CL800 variant has additional required operands on @300 Check NCK software version in the start-up area, or in the PLC status page Add the optional operand per the regional release notes; if unknown, try @300 K11 R11 Q0 or omit @ and try SET R11 = 1111 path
3004 1 N5 alarm, routine run in AUTO not MDA MDA context is required for system function calls; AUTO expects a named NC program terminated by M02/M17/M30 Confirm mode header reads MDA Switch to MDA, do not name the program, do not append M02
3004 with no further qualifier Corrupt NCK block buffer from prior failed entry Power-cycle the NCK (NCK reset or full cold start) Press RESET on operator panel, then re-enter
R11 displays a long integer, not 4 digits Correct behavior on some firmware versions; the password is embedded in the low-order 16 bits Mask the value with AND 0x0000FFFF mentally, then read decimal Take only the last 4 decimal digits

5.1 — Typical Recovery Cycle After Alarm 3004

  1. Press RESET on the operator panel to clear the alarm condition
  2. Delete the contents of the MDA buffer completely
  3. Re-enter only the line N5 @300 K11 R11 with no trailing characters, no leading spaces, no comment
  4. Verify the mode is still MDA
  5. Press CYCLE START
  6. If alarm 3004 recurs, perform an NCK cold restart (typically by turning the NCK section off, waiting 10 seconds, and restoring power)

6. Common Password Values to Try First

Before running the CL800 bypass, it is field-proven practice to attempt the high-probability candidates first. On used machines the password has frequently been changed to one of the following:

Table 3 — High-Probability Password Candidates
Candidate Source / Origin Frequency Observed in Field
1111 Siemens OEM default Very High
0000 Service / non-production default High
1234 End-user modification to "easy to remember" Medium
11 Two-digit entry by disgruntled / careless personnel (interpreted as 0011 by some firmware) Low
Machine serial number (last 4 digits) OEM convention Medium
Year of commissioning (e.g., 1995) End-user convention Medium
NOTE: The controller will reject a 2-digit entry as an invalid password length on most firmware versions. Field reports indicate that the entry 11 is sometimes accepted by older firmware as the integer 11, which would be the password 0011 if the field is left-padded. Test 0011 and 11 as separate entries if the default 1111 is rejected.

7. Sinumerik 8xx Family Compatibility Notes

The CL800 @300 K11 R11 routine has been field-verified by service engineers across the full Sinumerik 8xx line. Compatibility caveats follow.

7.1 — Sinumerik 805

The 805 is the entry-level 8xx controller. The routine is supported on all 805 firmware versions that include CL800 language support, which is essentially the full production run. The 805 has no FDD and stores machine data on battery-backed SRAM — verify the lithium battery is healthy before any password reset, as a dead battery will clear the password anyway but also clear all machine data.

7.2 — Sinumerik 810M / 810T

The 810M (milling) and 810T (turning) variants are the most common 8xx controllers on Gildemeister, Index, Boehringer, and EMAG turning machines of the late 1980s and 1990s. The routine is fully supported. Field reports indicate the password area on 810T is the same as on 840C.

7.3 — Sinumerik 840C

The 840C is the subject controller of this article. The routine is supported across all 840C firmware releases. The 840C has a slightly different softkey layout from the 810 — the parameter area path may be labeled PROGRAM PARAMETERS rather than PROGRAM PARAMETER.

7.4 — Sinumerik 850 and 880

The 850 and 880 are higher-end 8xx controllers used on large milling and turning centers. The routine is fully supported. On 880 controllers, the parameter area may require a deeper softkey navigation, but the underlying register mapping is identical.

8. Verification

After executing the recovery procedure and resetting the password, perform the following verification steps:

  1. Password acceptance test: Navigate to the start-up area, enter the new password, and confirm a Start-Up softkey becomes accessible.
  2. Read/write machine data: Open a non-critical machine data field (e.g., MD 200* series display parameters), read its current value, write the same value back, and confirm acceptance.
  3. Power-cycle retention: Power down the controller, wait 30 seconds, power back up, and re-enter the new password to confirm retention in non-volatile memory.
  4. Mode switching test: Cycle the controller through REF, JOG, MDA, AUTO modes to confirm the mode-change password check (if enabled) is unaffected.
  5. Backup refresh: Re-archive the complete machine data and PLC user program with the new password-protected start-up state.

9. Troubleshooting Matrix

Table 4 — Field Failure Modes and Resolutions
Observed Symptom Likely Cause Resolution
CYCLE START does nothing in MDA MDA mode not actually selected; key-switch in wrong position Re-verify mode header
Alarm 3004 1 N5 fires immediately Syntax error in @300 directive Re-enter exactly as documented, single spaces
Alarm 3004 with German qualifier Regional CL800 variant Try @300 K11 R11 Q0 or @300 K11 R11 0
R11 is unchanged after CYCLE START Routine was not actually executed (cycle start pressed on a different buffer) Confirm the MDA buffer contains only the @300 line
R11 shows 0 or 0000 System routine executed but no password is set (default state on a fresh NCK) Try default 1111 directly
R11 shows a 7- or 8-digit number Correct behavior; mask to last 4 digits Take only the low-order 4 decimal digits
Start-up area still rejects new password Password change not committed; NCK not in operator-panel mode Confirm softkey, press input, then softkey "OK" or equivalent
New password forgotten after power-cycle Battery-backed SRAM failure on the NCU Replace NCU lithium battery, restore machine data from backup

10. Best Practices and Long-Term Recommendations

  1. Maintain a written password log for every 8xx controller on the shop floor, stored in a secure location separate from the machine itself.
  2. Archive the complete machine data set on a regular schedule (quarterly minimum) and store the archive with the password log.
  3. Audit password changes — every password reset should be documented with the date, the engineer who performed it, and the reason. This prevents the scenario of co-workers changing the password and not communicating the new value.
  4. Avoid common PINs such as 0000, 1234, 1111, or the year, which are the first candidates tried by unauthorized personnel.
  5. Verify the lithium battery on the NCU / CCU at each scheduled service interval. A dead battery will clear the password along with all machine data.
  6. Document the controller firmware version at the time of any password change, so that future service engineers can verify the @300 routine is supported on the running build.

11. Limitations and Scope Boundaries

The CL800 @300 K11 R11 method is limited to the Sinumerik 8xx family running CL800 firmware. It is not applicable to:

  • Sinumerik 840D / 840D sl / 840Di (uses SLC / DIN 66025 with different system function calls)
  • Sinumerik 802D / 808D / 828D / 840D sl (SLC-based, requires different bypass via specific NCK variables)
  • Sinumerik ONE / Sinumerik MC (current generation, requires Siemens service credentials)

For controllers outside the 8xx family, the recovery path is to engage Siemens service directly with proof of ownership, or to use the OEM's machine data archive. The method documented here must not be applied to controllers where it is not supported, as the @300 directive will trigger an undefined-behavior alarm on non-8xx NCK firmware.

12. FAQ

What is the default Sinumerik 840C start-up password?

The OEM-default password on Sinumerik 840C (and the broader 8xx family: 810M, 810T, 850, 880, 805) is 1111. If 1111 is rejected, the password has been changed from default — typically by the OEM during commissioning, the end-user, or service personnel.

How does the @300 K11 R11 bypass actually work?

The directive invokes a CL800 system function (identifier 300) with selector K11, which is the index of the start-up password cell in the protected NCK memory. The result is copied into the user-accessible R-parameter R11, which can be read from the operator panel without a password challenge. The password is read out, not overwritten.

What does alarm 3004 1 N5 Fehler bei CL800 - Programmierung mean?

Alarm 3004 channel 1 indicates the CL800 interpreter rejected the program block at line N5 due to a syntax error or unsupported operand. The most common causes are extra whitespace, lowercase letters, missing K or R prefix, or running the routine outside MDA mode. Clear with NCK RESET and re-enter the directive exactly as N5 @300 K11 R11.

Can this method be used on a Sinumerik 840D or 840D sl?

No. The @300 directive is part of the CL800 language used only on the 8xx generation (805, 810M, 810T, 840C, 850, 880). On 840D and later, the NCK uses a different system function set and an entirely different password storage location. Attempting @300 on a 840D will produce an undefined-behavior alarm.

After recovery, the displayed R11 value is a long number, not four digits — what do I do?

On some firmware versions, R11 is stored as a 32-bit signed integer with the password embedded in the low-order bits. Take the last four decimal digits of the displayed value; those four digits are the active password. If the value is 0 or 0000, no password is set and the default 1111 should work directly.

Is the password lost if the NCU battery dies?

On battery-backed SRAM NCUs (typical for the 8xx family), a dead lithium battery will clear the password along with all machine data when the controller is fully de-energized. The password will revert to the OEM default 1111, but all MD/SD will be lost and must be restored from backup. Replace the battery proactively before this scenario occurs.

Back to blog