Problem Overview
On a SINUMERIK 840D controller equipped with an MMC100.2 Human Machine Interface (HMI), adding a new DEF line to a Global User Data (GUD) file appears to load successfully when viewed through the file manager, yet the new variable does not become available to part programs. Typical symptoms include:
- Runtime alarm such as "_MANDREL_DIAM not defined" or any variable-not-defined class fault (NCK alarm 15360 family) raised the first time the new symbol is read.
- The input field for the new parameter is absent from the operator entry screen that the part program generates for its
INPUTprompts. - The GUD file modification timestamp updates on the passive file system, but the NCK behaves as if the file has never been parsed.
- The Start-up operating area shows no Activate soft key, and the user manual's reference to an activation dialog leads nowhere.
This condition is reproducible whenever a GUD file is modified on systems with HMI Advanced (MMC100.2 / MMC103) running the SW 3.x / 4.x branch of SINUMERIK 840D software, including the SW 04.04.22 build that displays as "SW 4.4" on the controller backplane label.
Affected Systems and Versions
| Controller | HMI Platform | Software Branch | GUD Activation Mechanism |
|---|---|---|---|
| SINUMERIK 840D (classic) | MMC100.2 / MMC103 | SW 3.x | NCK backup read-in required |
| SINUMERIK 840D (classic) | MMC100.2 / MMC103 | SW 4.x — 5.x | Manufacturer password reveals Activate button; backup-and-read-in fallback still valid |
| SINUMERIK 840D sl | HMI Advanced | SW 6.x — 7.x | Start-up operating area activation dialog |
| SINUMERIK 840D sl | SINUMERIK Operate | SW 4.5 SPx and later sl | Direct activation under Start-up → Define user data |
The backplane label and the on-screen diagnostics frequently disagree. The controller badge may read SW 4.4 while the Version screen (Diagnostics → Service Display → Version) reports the precise build 04.04.22. Always verify the on-screen version before applying the procedures in this article, because the build number drives the choice of activation flow. Refer to the build-specific SINUMERIK 840D Commissioning Manual on the Siemens Industry Online Support portal for the exact menu paths.
Root Cause Analysis
The NCK maintains an internal symbol table for every GUD variable declared across SGUD, MGUD, UGUD, and GUD4..GUD9. The table is sized once per NCK startup from the cumulative DEF entries of the GUD set that the NCK most recently accepted during a series-commissioning read-in. On HMI Advanced branches, overwriting the GUD file in the passive file system does not invoke the NCK reconfigure service, so the live symbol table never reflects the new DEF line.
The NCK data image is checksum-protected. Attempting to push a hand-edited NCK archive back into the controller through the file transfer surface causes a transmission fault derived from the CRC mismatch — the controller refuses to accept a binary data block whose integrity field was computed externally. Field-proven root-cause matrix for the symptom cluster:
| Symptom | Likely Root Cause |
|---|---|
| New GUD variable missing in operator screen | NCK has not re-allocated symbol table since file edit |
| Part program alarm "variable not defined" | Symbol not registered in NCK, despite file present on passive file system |
| Transmission fault when downloading edited NCK archive | CRC mismatch — NCK archive checksum corrupted by external edit |
| Activate button absent from Start-up menu | Manufacturer password not set, or older SW branch without button |
| File modified but timestamp unchanged in NCK view | Passive file system write succeeded, NCK not refreshed |
| Edit inside programming section corrupted startup file | Direct controller-side editor used outside the GUD editor workflow |
Prerequisites and GUD File Selection
Before any GUD modification, the following must be in place:
- Manufacturer-level access password configured on the controller. Without it the Start-up operating area hides the GUD activation button entirely.
- Active access to Start-up → Series commissioning on the MMC100.2 keyboard or on a programming station connected via Ethernet to X127.
- Storage medium (CompactFlash card or USB stick, depending on MMC100.2 generation) with capacity for two complete NCK series-commissioning archives.
- External validator (Programming Station or text editor with SINUMERIK syntax set) to confirm the new
DEFline is syntactically clean before it is written back to the controller.
Select the correct GUD file based on ownership. End-user shop-floor variables belong in UGUD or one of GUD4..GUD9. Never modify SGUD (Siemens-owned) or MGUD (machine-builder-owned) without explicit OEM authorization.
| GUD File | Owner | Recommended Use |
|---|---|---|
| SGUD | Siemens | Do not modify |
| MGUD | Machine builder (OEM) | Do not modify without OEM sign-off |
| UGUD | End user | Global user variables (recommended) |
| GUD4 — GUD9 | End user | Reserved end-user variable groups |
The GUD symbol capacity on the running NCK is bounded by machine data such as $MN_MM_NUM_GUD_NAMES_NCK and $MN_MM_NUM_GUD_NAMES_CHAN. Confirm headroom exists in those counters before declaring a new NCK-scope or CHAN-scope variable.
Step-by-Step NCK Backup Activation Procedure
The procedure exploits the fact that the NCK re-allocates GUD memory every time a complete series-commissioning archive is read back in. By saving the NCK state once before and once after the GUD modification, then reading the second archive in, the controller is forced to rebuild its symbol tables with the new DEF entries. The following sequence has been confirmed against SW 04.04.22 with MMC100.2.
- Power the controller and allow the NCK to reach the operational state. Confirm no part program is running and the channel is in Reset.
- On the MMC100.2, navigate to Start-up → Series commissioning → Create series start-up file.
- Select the active NCK as the data source and write the archive to the storage medium. Record the resulting file name (typically
NCK_SERI.ARCor build-specific equivalent). Label this archive "Backup 1 — pre-modification". This is the rollback target if step 6 fails. - Exit the archive menu and open the GUD editor at Start-up → Define user data. Identify the target GUD file (
UGUDfor end-user variables). - Append the new
DEFline, for example:DEF NCK INT _MANDREL_DIAM ; Mandrel diameter in micrometers
Save the file inside the HMI editor and confirm the file modification timestamp updates on the passive file system. - Return to Start-up → Series commissioning and create a second archive. Label this file "Backup 2 — post-modification". This archive embeds the updated GUD source inside its NCK data block.
- From the same menu, select Read-in series start-up file, browse to "Backup 2", and confirm the read-in.
- Accept the NCK restart prompt. The NCK drops to Startup, parses the new GUD source, re-allocates the global symbol table, and re-initializes the channels.
- Wait for the operator panel to display Ready. The startup log line shows the number of
DEFentries parsed; cross-check against the modified file. - Open the part program that references the variable and execute it in single-block mode. The variable-not-defined alarm must not raise.
SGUD or MGUD; Siemens and the machine OEM own those files.Activation Flow Diagram
Verification Procedures
After the NCK completes the read-in and re-initializes, validate that the new variable is fully online using the following checks:
- Operator entry screen check: Start the part program and reach the first input dialog. The new field must appear in the input list, accept the entered value, and transfer it to the part program.
-
Symbol table inspection: On the MMC100.2, open Diagnostics → NC Variables and search for
_MANDREL_DIAM. The variable must be present with a defined value. -
Direct read in MDI: Switch to MDI mode and run
R10 = _MANDREL_DIAM. The instruction must execute without alarm 15360. InspectR10in the parameter display to confirm the read succeeded. - Persistent check across power-cycle: Power the controller down and back up. The new GUD entry must remain after the NCK restart — this confirms the symbol is part of the activated set, not a transient overlay.
- Cross-reference check: Run the full grinding part program and verify the finish-OD validation logic executes without fallback. The mandrel diameter value must be readable from every subroutine that references it.
MMC100.2 vs HMI Advanced Considerations
The MMC100.2 platform predates the unified HMI Advanced activations dialog. Operators familiar with SINUMERIK Operate or HMI Advanced on 840D sl may expect a single-click Activate button at Start-up → Define user data. On MMC100.2 builds that button is conditional on the manufacturer password and on the SW branch. If the password has never been set, the Start-up operating area appears to have no activation entry at all and the only path forward is the backup-and-read-in cycle described above. The PG/laptop workflow using the SINUMERIK Programming Station is functionally identical; the HMI editor for GUD files is exposed through the same Start-up menu.
| Aspect | MMC100.2 | HMI Advanced / SINUMERIK Operate |
|---|---|---|
| Activation button visibility | Hidden unless manufacturer password set | Visible at Start-up → Define user data |
| Backup-and-read-in fallback | Required path when password unset | Optional recovery path |
| GUD editor location | Start-up → Define user data | Start-up → Define user data |
| Direct file edit then read-back | CRC mismatch → transmission fault | CRC mismatch → transmission fault |
| Series-commissioning archive media | CompactFlash / USB | CompactFlash / USB / network share |
Alternative Activation Methods
When the manufacturer password is set and the controller build exposes the activation dialog, the operator can skip the backup cycle entirely:
- Edit the GUD file in Start-up → Define user data.
- Press the soft key labelled Activate (or the equivalent confirmation dialog button) that appears once the file is staged for activation.
- Confirm the NCK restart when prompted. The NCK re-parses the GUD set and re-allocates the symbol table in place.
On SINUMERIK Operate (sl generation) the menu sequence is Start-up → Define user data → Activate, and the dialog provides a preview of the diff between the active GUD set and the staged file. Refer to the build-specific SINUMERIK Operate Programming Manual on the Siemens Industry Online Support portal for the precise soft-key map.
If the manufacturer password is unavailable and the backup-and-read-in path is not viable because of storage constraints, the last-resort recovery is a full NCK reset to defaults, after which the modified GUD file must be re-installed through the HMI editor followed by a fresh archive-and-read-in cycle. This is destructive and must be planned during a scheduled maintenance window.
A tertiary path used by integrators is to script the archive read-in from the Programming Station over the X127 Ethernet port using the SINUMERIK file-transfer protocol. The protocol itself wraps the same NCK reconfigure service as the manual backup cycle, so a scripted approach succeeds only if the controller accepts the archive — meaning the checksum chain must be intact. Do not bypass the HMI editor to hand-edit the archive.
GUD Lifecycle State Machine
Troubleshooting Matrix
| Symptom | Likely Cause | Resolution |
|---|---|---|
| Operator screen missing new field | NCK symbol table not refreshed | Run the backup-and-read-in activation cycle |
| Alarm 15360 "variable not defined" | Symbol absent from NCK memory | Run the backup-and-read-in activation cycle |
| Transmission fault on archive download | CRC mismatch from external edit | Use the HMI editor; never edit NCK archives externally |
| Activate button not visible | Manufacturer password unset | Set the manufacturer password or use the backup-and-read-in fallback |
| Startup log shows fewer DEF entries than file | File parsed partially or commented out | Re-edit GUD file, verify syntax, repeat backup cycle |
| Variable vanishes after power-cycle | NCK reverted to pre-modification backup | Confirm Backup 2 was the one read in; redo the cycle |
| Edit inside programming section corrupted startup file | Direct controller-side editor used incorrectly | Restore from Backup 1, repeat with HMI editor |
| Sticker says SW 4.4 but screen says 04.04.22 | Marketing vs build version mismatch | Use the on-screen version for documentation and procedure selection |
| New GUD symbol accepted but value always zero | Variable scope mismatch (CHAN vs NCK) | Adjust DEF qualifier: DEF NCK vs DEF CHAN
|
| MDI read returns 0 but operator screen shows value | Channel-specific read in wrong channel | Switch channel or use NCK-scope qualifier |
| NCK reset did not refresh GUD | Reset does not trigger reconfigure on this branch | Use the backup-and-read-in cycle instead of NCK reset |
Data Integrity and Safety Notes
The NCK data image — including GUD files, machine data, setting data, tool data, and compensation tables — is checksum-protected. Direct binary edits to NCK archives invalidate the CRC and the controller will refuse the read-in. All GUD edits must therefore be performed through the HMI editor or through the Programming Station editor that respects the same checksum chain.
Mandatory safety practices before any GUD modification in production:
- Always capture Backup 1 before modifying any GUD file. The rollback target is the only path to a known-good state if the new
DEFline is syntactically rejected at read-in. - Never edit
SGUDorMGUD.SGUDis owned by Siemens and contains NCK-internal symbols;MGUDis owned by the machine builder and may contain symbols referenced by PLC programs, cycles, or compensation logic. End-user variables belong inUGUDor one ofGUD4..GUD9. - Validate the new
DEFline on a programming station or test controller before writing it to a production controller. Bad syntax can corrupt the GUD set at read-in and force a restore from Backup 1.
For production machines with active part programs referencing the new variable, schedule the activation during a planned production pause. The NCK restart triggered by the read-in momentarily drops all channels to Startup state and any in-cycle tool or workpiece reference must be re-established after the NCK returns to Ready.
Document every modification in the machine's GUD change log, including the operator entry that prompted the change, the file modified, the symbol name, the qualifier (NCK / CHAN / LOCAL), and the date / time of activation. This log becomes the audit trail referenced during subsequent commissioning or troubleshooting.
Frequently Asked Questions
Why does my modified GUD file load but the new variable stay undefined?
On MMC100.2 / SW 3.x and 4.x builds, the NCK allocates GUD memory only during a series-commissioning archive read-in, not during a passive file-system write. Run the backup-and-read-in cycle (Backup 1 → edit → Backup 2 → read in Backup 2) to force the NCK to re-parse the updated GUD set.
Where is the Activate button on the MMC100.2?
The Activate button appears inside Start-up → Define user data only when the manufacturer password has been set. Without that password, the only activation path is the backup-and-read-in cycle.
Can I edit an NCK archive on a PC and download it back?
No. The NCK archive contains a CRC field; external binary edits break the checksum and the controller returns a transmission fault. Always edit GUD files through the HMI editor.
Which GUD file should I add a shop-floor variable to?
Use UGUD for end-user global variables. Do not modify SGUD (Siemens) or MGUD (machine builder). GUD4..GUD9 are also reserved for end-user extensions.
Will the new GUD variable survive a power cycle?
Yes, provided the activation cycle completed and the post-modification archive was the one read in. Validate with a power-cycle test as part of the verification procedure.