Resolving Siemens 840D PL Alarm 12550: NCG Not Defined

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. Overview of Alarm 12550 on SINUMERIK 840D PL

The SINUMERIK 840D Powerline (840D PL) is a CNC platform used on turning, milling, and grinding machines manufactured primarily between 2001 and 2008. Alarm 12550 is a software-level error raised by the NCK interpreter when it encounters a token in the part program or in a referenced cycle (CYCLE93, CYCLE97, etc.) whose identifier cannot be resolved to a defined global variable, a defined local variable, or an installed option bit. The full text printed on the operator panel typically reads:

12550 Channel 1 block N12 name NCG not defined or option not installed

The Channel 1 block N12 prefix identifies the channel (Channel 1) and the program block (N12) where the interpreter halted. The token following name is the unresolved symbol. In the field case that motivated this reference, the unresolved symbol was NCG and the part program was a standard threading cycle CYCLE97 invoked through the cycle call mechanism on a lathe.

The alarm is cleared with the standard NC RESET key once the underlying definition is restored, but it cannot be cleared while the missing name remains referenced. The cycle is stopped on the first scan; no axis motion is produced.

2. Decoding the Alarm Identifier

Siemens assigns alarm numbers in numerical blocks. The relevant block for 12550 is:

Alarm range Class
12530-12539 Option not enabled
12540-12549 Macro/identifier not found
12550-12559 Name not defined
12560-12569 Value range violation

The two conditions that produce 12550 are:

  1. The named symbol is genuinely absent from the active definition set (GUD, LUD, program-global, or system global), or
  2. The named symbol is gated by an option bit (option MD) that has not been enabled on the installed NCK.

In the practical case described, both standard cycles CYCLE93 (longitudinal roughing) and CYCLE97 (threading) failed simultaneously with the same alarm. Because CYCLE93 and CYCLE97 are shipped as part of the standard cycles deliverable and do not require an option, the simultaneous failure indicates a missing global definition rather than an option-missing condition.

3. Root Cause Analysis

The most common root causes observed in field service for 12550 (with symbol NCG or similar) on 840D PL are:

# Root Cause How to confirm
1 GUD definition files (DEF files) not loaded or not activated in NCK Check active DEF list on HMI; cross-check GUD7_DEF, GUD_SC, SMAC, SMAC_SC
2 NCK reset to power-on default without archive restore Compare current GUD count vs commissioning backup; check startup archive
3 HMI Toolbox image does not contain the required cycle support files Inspect Toolbox CD/USB; confirm files are present for the SW release
4 Option bit for the cycle family is not enabled Check option MDs and license records
5 Corruption in NCK file system View NCK directory via service menu; look for negative file sizes or checksum errors
6 Substitution of CF card or NCK replacement without archive restore Verify serial number of installed NCK vs commissioning record

For a machine that has run CYCLE97 reliably for five years and then stops, the dominant causes narrow to #1, #2, and #3. A new symbol name such as NCG appearing in a cycle that has not changed is the strongest signal that the supporting GUD definitions were unloaded - typically after an NCK reset, an SW update attempt, or a CF card replacement that did not reload the user data.

4. Machine Data MD10711 ($NCG_NAME_LIMIT) Investigation

The operator reported that MD10711 was referenced in the manual but could not be found in the machine data listing. The correct identification of MD10711 is:

MD10711  $NCG_NAME_LIMIT   Number of NC global names

This MD is not a channel-specific or axis-specific machine data. It is an NC-specific (cross-channel) machine data and therefore only appears in the expert list when the filter is set to NC-specific or All data. It is also gated behind the Display all MD toggle on the HMI. On some HMI versions the MD is hidden by default and must be exposed by enabling the All machine data view under:

Commissioning > Machine Data > Filter > [x] All MD

If MD10711 cannot be found after the filter is set to all data, the NCK software version may be checking a different data number. On certain SW releases the equivalent has been moved or renamed. The procedure to confirm the correct MD number for the installed SW release:

  1. Identify the NCK SW version via Commissioning > Version.
  2. Reference the matching SINUMERIK 840D sl/840D PL List Manual for the SW release.
  3. Locate name limit in the index and follow the reference to the active data number.

If the field engineer only has access to the operator-level HMI without service access, MD10711 will not be visible regardless of filter settings. The minimum required access level is Service (password level 2) or higher.

5. GUD Definition Files and DEF Structure

SINUMERIK 840D stores user-defined global variables, macros, and cycle support definitions in DEF files. These files are loaded into the NCK at boot. The naming convention and directory structure is:

NCK file system: /_N_DEF_DIR/
  _N_GUD_DEF        (GUD default block)
  _N_GUD7_DEF       (global user data 7)
  _N_GUD_SC_DEF     (GUD for standard cycles)
  _N_SMAC_DEF       (system macro)
  _N_SMAC_SC_DEF    (system macro for standard cycles)
  _N_NCK_DEF        (NCK-internal definitions)

In the field case the operator confirmed the following DEF files were present and tried to activate them:

DEF file Meaning
GUD7_DEF Global user data #7 (record 1107)
GUD7_SC Global user data #7 for standard cycles (record 1051)
SMAC System macro (record 1096)
SMAC_SC System macro for standard cycles (record 226)

The numeric values 1107, 1051, 1096, and 226 are the internal record identifiers within the compiled DEF and are not directly user-meaningful. The presence of these files on the HMI does not guarantee that they are active in the NCK. To force a re-read:

  1. Mark the DEF file as active in the HMI definition files menu.
  2. Trigger an NCK reset (warm restart).
  3. Verify the file timestamp in the NCK listing matches the activation time.

A common error pattern is that the DEF file is visible in the HMI browser but inactive in the NCK, particularly after a CF card swap or NCK replacement. The active flag is stored in a separate bit, not in the file content itself.

6. Standard Turning Cycles CYCLE93 and CYCLE97

CYCLE93 and CYCLE97 are part of the standard cycles deliverable for SINUMERIK 840D PL turning controls. They are defined in the cycles container and rely on a set of global GUD variables to function. If the GUD definitions are missing, the cycle call fails immediately with 12550 before any axis motion is started.

Cycle Purpose Key parameters Underlying GUD
CYCLE93 Longitudinal roughing _LAGE, _ZP1, _ZP2, _ZP3, _PT, _PT2, _DAM, _DMB, _DMC, _FRT GUD_SC
CYCLE97 Threading (single/multi-start) _PIT, _MPIT, _SPL, _FPL, _DM1, _DM2, _APP, _ROP, _TDEP, _DAM, _VRT GUD_SC, SMAC_SC

Because CYCLE93 and CYCLE97 both failed in the field case, the missing GUD set is almost certainly GUD_SC and/or SMAC_SC, not a cycle-specific option. The symbol NCG itself is a thread geometry helper that the cycle interpreter expects to find in the GUD set; when the GUD_SC DEF is unloaded, the symbol cannot be resolved.

7. Step-by-Step Diagnostic Procedure

Use this sequence to isolate 12550 on an 840D PL lathe:

  1. Note the exact alarm text and the symbol name (here: NCG). Press NC RESET to clear.
  2. Open Commissioning > Machine Data. Toggle the filter to All MD and search for 10711 or NCG. Confirm whether $NCG_NAME_LIMIT is present and what value it is set to. The default is 1 or 8 depending on SW release; it must be at least 1.
  3. Open the HMI file browser. Navigate to /_N_DEF_DIR and list the active DEF files. Verify the presence of _N_GUD7_DEF, _N_GUD_SC_DEF, _N_SMAC_DEF, _N_SMAC_SC_DEF.
  4. Compare the file sizes and timestamps to the commissioning backup. If files are missing, blank, or have a timestamp that does not match the last commissioning event, the DEF set is suspect.
  5. Run a single-line test program in MDA: CYCLE93(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) with safe parameters from the manual. If 12550 reproduces on a known-good call, the cycle support files are confirmed missing.
  6. Check the NCK version under Commissioning > Version. Note the NCK-SW number for later cross-reference against the Toolbox CD image.
  7. If the machine is part of a fleet, check whether sister machines have the same SW version and confirm whether the failure is isolated to one machine (machine-specific) or fleet-wide (CD image problem).
  8. Check whether any recent NCK reset, CF card swap, or SW update event preceded the alarm. The first occurrence of 12550 almost always correlates with one of these events.
Always back up the current NCK (NCK backup file / series start-up archive) before any re-load. The re-load procedure can replace active machine data, settable GUD, and active compensation tables. A failed re-load without a backup is a one-way ticket to a full re-commissioning.

8. Resolution: Reloading the Definition Files

The corrective action depends on the available tooling. Pick the option that matches what is physically available at the machine.

Option A - Toolbox CD present

  1. Insert the SINUMERIK Toolbox CD matching the installed SW release.
  2. From the HMI, open Services > Commissioning > Definition files.
  3. From the CD, copy the DEF files for GUD7, GUD_SC, SMAC, SMAC_SC into the NCK file system. The default destination is /_N_DEF_DIR/.
  4. Mark the files as active.
  5. Trigger an NCK warm restart (Commissioning > NCK reset, or power-cycle the NCU).
  6. Verify the file timestamps match the activation time.
  7. Re-run CYCLE93 in MDA. Alarm should be cleared.

Option B - Toolbox CD missing, archive backup present

  1. Locate the most recent commissioning archive on the HMI or external backup media. The archive contains the entire NCK image including DEF files.
  2. From HMI, Services > Commissioning > Startup > Series start-up archive > Read start-up archive.
  3. Restore the archive. This will overwrite current NCK machine data and DEF files.
  4. NCK will reboot with the archived configuration.
  5. Verify CYCLE93 and CYCLE97 in MDA.

Option C - Toolbox CD and archive missing

  1. Contact Siemens regional service with the NCK-SW version number to obtain the correct DEF files for the SW release.
  2. Manual transfer via RS-232, CF card, or USB stick.
  3. After loading, verify the file checksum against the published value from Siemens documentation if available.
  4. Reload the saved user GUD values from a separate export.

The operator in the field case was effectively in Option C territory (toolbox CD absent, archive reload did not solve it). In that scenario the missing files must be obtained from a sister machine of the same SW release or from Siemens service. Direct web download of these DEF files from a public source is not supported by Siemens and may produce files of the wrong SW release or with corrupted record IDs.

9. NC and PLC Reset Procedure

The pragmatic service recovery sequence when definition files are suspect:

  1. Back up the current NCK image (NC backup / series start-up archive). Confirm the backup file is on external media, not on the NCK file system itself.
  2. From the HMI, navigate to Commissioning > NCK reset. Confirm the prompt. The NCK will reboot. All volatile data is lost.
  3. After the NCK returns, perform an NCK restart again with the DEF files marked as active. This forces a re-read of the GUD set.
  4. If the alarm still appears after the second NCK restart, perform a PLC general reset (Commissioning > PLC > Reset). This clears the PLC user program and brings up the default PLC. The PLC must be re-loaded from the toolbox or project archive after this step.
  5. Re-load the PLC project from the HMI toolbox / archive.
  6. After both NCK and PLC are at clean state, load the commissioning archive.
  7. Verify the GUD file content using the HMI GUD list viewer (Commissioning > Global user data).
A PLC reset does not clear alarm 12550 - 12550 is an NC-level alarm. The PLC reset is required only if the PLC project is also suspect or if the cycle call is gated by an MCP/PLC interlock that is blocking the cycle start condition. Confirm with the machine builder's PLC program before performing a PLC reset on a production machine.

10. Verification and Commissioning Checks

After corrective action, run the following verification sequence:

  1. Clear all NCK alarms (NC RESET).
  2. Run CYCLE93 in MDA with known safe parameters. Verify the cycle runs to completion without alarm.
  3. Run CYCLE97 in MDA with known thread parameters (use a small thread length first, no coolant, dry-run, no part in the chuck). Verify threading starts and completes.
  4. Run the original part program that triggered the alarm. Verify it completes without 12550.
  5. Open Commissioning > GUD list. Verify that all expected GUD values match the commissioning record. Pay particular attention to GUD7 and GUD_SC.
  6. Open Commissioning > Machine data. Spot-check critical MDs (e.g. MD20150 default GCode, MD10711 $NCG_NAME_LIMIT).
  7. Perform a controlled power-cycle (off/on) and verify the cycle support survives the reboot. This is the smoking-gun test for an active vs inactive DEF file.

If the cycle runs in MDA but fails when called from a part program, the part program itself contains an undefined reference - inspect the program block N12 referenced in the alarm text. A common programming mistake is to use a cycle parameter as a global variable without first defining it in the GUD set.

11. Related Alarms and Cross-References

Alarm Meaning Relationship to 12550
12530 Option not enabled Option-bit not set, distinct from 12550
12540 Macro identifier not found Macro call to a missing name
12550 Name not defined Main case here
12551 Symbol redefinable Variable name conflict
12810 Channel %1 block %2 axis not assigned Often a downstream effect when cycle aborts mid-setup
150202 No NC user memory Indicates DEF file structure damage
150300 Reset error Indicates corrupted GUD/DEF that NCK could not parse
150000 NCK sign-of-life Often appears when NCK rejects startup archive

For further reference, consult the official SINUMERIK 840D sl/840D PL Diagnostics Manual and the SINUMERIK 840D PL List Manual (machine data). Standard cycles CYCLE93 and CYCLE97 are documented in the SINUMERIK 840D PL Programming Manual - Cycles. Option bit assignments and license information are in the SINUMERIK 840D PL Function Manual - Basic Functions.

12. Preventive Recommendations

  1. Maintain a current commissioning archive on external media and verify it annually by test-restore on an offline NCK simulator if available.
  2. After any NCK reset or SW update, immediately verify CYCLE93 and CYCLE97 in MDA as a smoke test before resuming production.
  3. Track the option-bit license state in a machine-specific log. Option re-activation after NCK replacement is a frequent cause of name-resolution alarms that look like 12550 but are actually option-bit failures (12530).
  4. Keep the SINUMERIK Toolbox CD or USB image matched to the installed SW release in a known service location, and label it with the NCK-SW version it corresponds to.
  5. Document the active GUD list at commissioning. Any drift at service time is a strong signal that the DEF files were overwritten or not loaded.
  6. When replacing an NCK or CF card, always load the commissioning archive as the first action after the new hardware is brought up, before any option re-activation or backup re-load.

FAQ

What does Siemens 840D PL alarm 12550 mean?

Alarm 12550 indicates that the NCK interpreter encountered a symbol (variable, macro, or cycle parameter) that is neither a built-in identifier, a defined global or local user data, nor gated by an enabled option. The two-line alarm text identifies the channel, the block, and the unresolved name (for example NCG).

Why is MD10711 not visible in the machine data list?

MD10711 $NCG_NAME_LIMIT is an NC-specific (cross-channel) machine data. It is hidden unless the HMI filter is set to All machine data or NC-specific. It will not appear in the default channel-filtered view. If it is still missing after enabling All MD, the installed NCK SW release may use a different data number; cross-check with the matching List Manual.

Can alarm 12550 be caused by a missing Toolbox CD?

Yes. If the DEF files (GUD7_DEF, GUD_SC_DEF, SMAC_DEF, SMAC_SC_DEF) have been cleared from the NCK file system and the original Toolbox CD is unavailable, alarm 12550 will persist for any cycle that depends on those definitions. Obtain the DEF files from a sister machine of the same SW release or from Siemens regional service.

Does a PLC reset clear alarm 12550?

No. Alarm 12550 is generated by the NCK interpreter, not the PLC. A PLC reset will not clear 12550. The correct corrective action is to restore the missing NCK DEF files and perform an NCK warm restart, then verify the cycle in MDA.

Why do both CYCLE93 and CYCLE97 fail at the same time?

Both cycles depend on the same GUD_SC and SMAC_SC global definitions. If those DEF files are not loaded, the interpreter cannot resolve the cycle parameters on the very first access, which aborts the cycle call with 12550 before any motion starts. The simultaneous failure of multiple standard cycles is the key diagnostic that points to missing GUD rather than to option-bit or part-program problems.

Back to blog