Resolving SINUMERIK 840D NC Memory Full Error When Loading

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

Problem Definition: NC Memory Full on SINUMERIK 840D Archive Load

The SINUMERIK 840D control system reports a "memory is full" (NC-Speicher voll / NC memory full) condition when an operator attempts to download an NC archive into the NCK via the HMI or external programming device. The archive load is rejected before any of the contained machine data, programs, tool data, or compensation tables are written. This same alarm class also manifests when the integrated PLC user program grows past the available PLC SRAM partition, or when the SRAM partition reserved for NC data exceeds the available physical memory on the MMC (Micro Memory Card) installed on the NCU.

The symptom is typically surfaced in one of three places:

  • Operator dialog line on HMI Advanced / HMI Embedded: NC memory full or 17020 / 17060 SRAM limit exceeded adjacent to the soft-key menu in the Services or Start-up operating area.
  • Alarm log under Diagnostics → Alarm Log showing alarm 4002, 4004, 4030 variants, or the data-loss alarm 15170 depending on whether the failure occurred during archive upload, machine data activation, or PLC run-up.
  • Programming tool (SINUMERIK Operate / Toolbox / CardWare) on a connected PG/PC reporting a transfer abort with a Siemens service code 0xE03 / 0xE05 during the CF card write phase.

This article documents the field-proven recovery sequence: NCK general RESET on the NCU switch S3, MD18060 partitioning via MD18350/MD18230, and MMC capacity upgrade as a final remedy when software partitioning cannot free enough contiguous SRAM.

Root Cause Analysis

The "memory is full" condition on a SINUMERIK 840D NCU is not a single fault but a class of four interacting constraints. Misdiagnosing which constraint is binding will cause any one of the documented fixes to fail.

Constraint 1 — Persistent SRAM Occupied by Leftover Archives

Every NC archive previously written via Services → Archive → Read-in persists in the /user/sinumerik/archive and /card/oem partitions on the MMC. If the operator never explicitly deletes the archive after a load, the older archive binaries remain referenced by the HMI, and the new archive is appended rather than overlaid. After several commissioning cycles the cumulative archive footprint approaches the partition ceiling.

Constraint 2 — MD18060 Partition Ceiling Reached

MD18060 (MM_NUM_GLOBAL_USER_FRAMES-class memory pool, also documented in some OEM manuals as NCK memory size for user data) is the upper limit of the SRAM partition that the NCK claims at run-up. The value cannot be edited directly in MD18060 via the standard Startup → Machine Data editor. To change the effective partition size, the underlying source parameters MD18350 (MM_SERVO_FIFO_SIZE-class / user memory allocation) and MD18230 (MM_NUM_CC_ELEMENTS-class / NCK compiler partition) must be raised first. MD18060 then automatically grows to consume the newly available pool.

Constraint 3 — PLC SRAM Partition Overflow

For the PLC side, the same alarm family can be triggered when adding function blocks (FB), data blocks (DB), or instance DBs that exceed the PLC work memory. The PLC partition is independent of MD18060 and is governed by the PLC firmware build and the OEM-compiled S7 project limits. Increasing MD18060 does not free PLC SRAM.

Constraint 4 — MMC Card Physical Capacity

Every NCU requires a populated MMC for non-volatile storage. Standard factory cards (typically 2 MB or 8 MB on early NCU 561.x, scaling to 32 MB / 64 MB / 256 MB on NCU 710/720/730.2) impose a hard upper bound on the archive size that can be stored. When the cumulative SRAM partition requested via MD18060 exceeds the physical card capacity, the NCK silently caps the partition and emits a memory-full fault on the next archive load.

Pre-conditions Before Any RESET

A general RESET will erase all NC machine data, settable zero offsets (G54-G599), tool data, R parameters, compensation tables, and PLC retentive data not protected by battery-backed SRAM. The following prerequisites must be satisfied before proceeding.

  1. Archive the current good state. Read out the existing NC and PLC archives via Services → Archive → Read-out on the HMI. For the PLC, use the SIMATIC Manager / TIA Portal on a connected PG/PC with the active project. Store both archives on an external USB stick or external CF card, not on the NCU MMC.
  2. Image the MMC. Use a Siemens PG (e.g., PG 740, PG 760, or current Field PG M4/M5) with the CardWare software to create a bit-for-bit image of the MMC. The CardWare tool is the only Siemens-supported method for cloning an NCU MMC. A Dell LATITUDE-class laptop with an MMC-to-USB converter module can also host CardWare; ensure the converter supports the 3.3 V MMC variant used on 840D (do not use SD adapters — they do not match pinout or voltage).
  3. Record all OEM-specific MDs. Export the MD file (*.ini) via Startup → Machine Data → Save to external storage. OEM machine builders frequently customize safety and axis MDs (MD10000-MD19900 series) that are not restored by a stock default archive.
  4. Verify the start-up switch S3 position. Switch S3 sits on the NCU front panel. Position 0 = normal operation. Position 1 = NCK general RESET. Position 2 = PLC general RESET. Position 3-7 are Siemens reserved. Confirm the switch is mechanical and detented, not a membrane.

Procedure A — NCK General RESET via Switch S3

Switch S3 position 1 is the cleanest method to bring the control into a defined initial state. This procedure erases SRAM and reverts all machine data to Siemens defaults.

  1. Power down the NCU (24 V off at the power supply module) and wait 30 seconds for capacitor discharge.
  2. Place rotary switch S3 on the NCU to position 1.
  3. Restore 24 V power. The control boots. The HMI shows the Siemens logo followed by Start-up → NCK RESET in progress.
  4. The SRAM is erased. All MDs return to defaults. The system reports Start-up successful in the status line.
  5. Power down again, return S3 to position 0, and power up. The NCU now boots into default HMI state.

Field note: If the archive load still fails after a single NCK RESET, repeat the entire cycle two to three times consecutively without intermediate archive uploads. The first boot may leave residual filesystem markers on the MMC that the second boot clears; the third boot guarantees a clean FAT table. This is the documented operator workaround when the memory-full alarm reappears after every archive load attempt.

Procedure B — NC RESET via HMI Softkey (Equivalent to S3 = 0)

For a less destructive reset that preserves the current MD set, use the HMI softkey path. This corresponds to switch S3 position 0 and clears volatile NCK state without erasing MD files.

  1. Navigate to Diagnostics → Start-up → NC Reset on HMI Advanced, or MENU SELECT → Diagnostics → NC/PLC → NC RESET on SINUMERIK Operate.
  2. Press the NC RESET softkey. The HMI displays the prompt Execute NC reset?
  3. Confirm with OK. The NCK reboots.
  4. Wait for the status line message Start-up successful.

This procedure will not recover from a true SRAM overflow because the SRAM partition ceiling set by MD18060 is preserved. It is appropriate only after manual archive cleanup has freed space.

Procedure C — Increase MD18060 via MD18350 and MD18230

MD18060 cannot be raised directly. The accepted field sequence is to raise the upstream allocation MDs, save, NC RESET, and re-verify MD18060 has automatically grown to consume the freed pool.

Step 1 — Read Current Values

Navigate to Startup → Machine Data → MD Display/Modify. Filter on MD18060, MD18350, MD18230. Note current values and the unit (most 840D memory MDs are dimensioned in KB or counts).

Step 2 — Calculate Required Headroom

The minimum partition size required for a given archive is roughly:

MD18060_target >= compressed_archive_size_KB + 1024 KB

The 1024 KB reserve is the run-time working memory for tool data, zero offsets, and frame storage. If the archive contains large OEM compensation tables (SSFK, EEC, AAC) add 2048 KB.

Step 3 — Modify MD18350 and MD18230

Raise MD18350 (MM_SERVO_FIFO_SIZE-class) and MD18230 (MM_NUM_CC_ELEMENTS-class) by equal increments of 256 KB until the MD18060 reading displays the desired target. A typical ratio is:

MD18350 increment MD18230 increment MD18060 effective gain
+256 +256 ~512 KB
+512 +512 ~1024 KB
+1024 +1024 ~2048 KB

Save the changes. The HMI prompts for NCK RESET. Confirm.

Step 4 — Verify MD18060 Update

After NC RESET, re-open the MD display. MD18060 should now report a value equal to or greater than MD18060_target. If MD18060 did not change, the upstream MDs did not free additional pool — likely because the MMC physical capacity is the binding constraint and Procedure D is required.

Procedure D — Upgrade the MMC Card

When the partition headroom offered by MD18350/MD18230 still leaves MD18060 below the archive size, the physical MMC must be replaced with a higher-capacity card. The card must be Siemens-validated for the specific NCU variant.

NCU variant Supported MMC types Max validated capacity
NCU 561.1 / 561.2 (early 840D) 3.3 V MMC, 8-bit bus 8 MB
NCU 571 / 572 3.3 V MMC, 8-bit 32 MB
NCU 710 3.3 V MMC, 8-bit 64 MB
NCU 720 3.3 V MMC, 16-bit 128 MB
NCU 730 / 730.2 3.3 V MMC, 16-bit 256 MB
NCU 710.3 / 720.3 / 730.3 (840D sl) CFast / SD-compatible 8 GB+

Capacity values above are validated operational maxima — they reflect what Siemens has shipped and tested. The MMC is the second module after the SIMODRIVE 611 power supply in the NCU cabinet; verify that the replacement card is keyed for the correct NCU slot, not the PLC-side slot.

MMC Cloning Procedure with CardWare

  1. Insert the source MMC into the CardWare-equipped PG (Field PG or Dell LATITUDE with MMC converter).
  2. Launch CardWare. Select Read Card → Image File. Save the image as backup_<date>.img.
  3. Insert the new, blank, higher-capacity MMC.
  4. Select Write Image to Card. Verify the target card is at least as large as the source image. CardWare will not downsize.
  5. After write, run CardWare Verify. A mismatch typically indicates a counterfeit or out-of-spec card.
  6. Insert the new card into the NCU. Power up. The NCK will auto-detect the larger partition and report a higher MD18060 ceiling on first run-up.

Procedure E — Separate PLC Memory Reset

If the memory-full condition is being reported when adding PLC blocks rather than loading an NC archive, the recovery path is different and must not be confused with the NC RESET above.

  1. Connect a PG/PC to the PLC side via MPI/PROFIBUS or Ethernet (for 840D sl with PN).
  2. Open SIMATIC Manager (S7-300 offline view) and connect Online → Accessible Nodes.
  3. Use PLC → Clear/Reset with the option Reset Memory selected. This clears work memory, load memory, and retentive flags.
  4. Download the project from PG to PLC. Confirm the operation completes without alarm SF (System Fault).

Alternatively, switch S3 position 2 triggers a PLC general RESET on the NCU. After PLC RESET, switch S3 must return to position 0 before normal operation. PLC RESET does not affect the NC SRAM partition.

Verification Checklist After Recovery

Confirm each of the following before declaring the memory-full condition resolved:

Check Method Expected result
Alarm log clear HMI Diagnostics → Alarm Log → Clear Log No 4002 / 4030 / 17020 entries on next boot
MD18060 effective Startup → MD Display Value ≥ MD18060_target from Procedure C
Free SRAM Diagnostics → Service Display → Memory Free SRAM ≥ 2048 KB after archive load
PLC online status SIMATIC Manager → Online → Module Information No SF LED; work memory < 75% of total
Archive round-trip Services → Archive → Read-in test archive Status line shows Archive loaded successfully in < 30 s
Axis readiness Reference all axes; dry-run a part program in JOG No 25040 / 25050 axis-stop alarms

Troubleshooting Matrix

Symptom Likely constraint First action
Memory full on first archive load after commissioning MD18060 default too low for archive Run Procedure C — raise MD18350 and MD18230
Memory full reappears after several days of production Multiple residual archives on MMC Run Procedure A (NCK RESET) twice, then reload only the current archive
Memory full when adding PLC FB/DB PLC work memory partition Run Procedure E (PLC RESET) and recompact the S7 project
MD18060 does not grow after MD18350/MD18230 increase MMC physical capacity binding Run Procedure D — upgrade MMC card
CardWare reports write verify mismatch Counterfeit MMC Discard card, source Siemens OEM replacement only
Memory full only during PLC upload from PG PLC load memory / work memory split Check PLC firmware build supports the requested block count; reduce DB instance count

Common Pitfalls and Field Cautions

Do not interpret "S3 position 1" as a PLC RESET. Position 1 is the NCK general RESET. Position 2 is the PLC general RESET. Mixing these will leave the wrong subsystem uninitialized and produce confusing alarm combinations on the next boot.

Do not use SD-to-MMC adapters. The pinout, voltage class, and FAT formatting of consumer SD cards are not compatible with the 840D NCU MMC socket. Only Siemens-validated 3.3 V MMC cards may be used in NCU 561/571/572/710/720/730.

Do not assume MD18060 directly editable. Editing MD18060 in the standard MD editor will be rejected or silently ignored. Always modify the upstream pair MD18350 and MD18230, save, NC RESET, and re-read MD18060.

Do not skip the bit-for-bit MMC image. Even when the working NC and PLC archives have been exported, the OEM-specific INI files, license keys, and CF card sector layout will not be captured by the HMI archive tools. A CardWare image is the only complete backup.

Battery state matters. If the NCU battery is weak or removed, volatile NC data (zero offsets, settable frames, tool offsets not stored to flash) is lost during any RESET. Replace the NCU backup battery before any of the above procedures on machines more than five years old or stored without mains.

Capacity Planning Recommendations

For new commissioning or post-upgrade work, size MD18060 with the following margin to avoid repeat service calls:

  • Current compressed archive size × 1.5 = minimum MD18060 target.
  • If future NCK options (e.g., 5-axis transformation, contour handwheel, synchronous actions pack) may be licensed, add 4096 KB to MD18060 target.
  • If the machine uses large OEM tool magazines ( > 240 tool places), add 2048 KB for the tool list.
  • Always verify MD18060 post-modification on the next power-up, not the same boot, because some NCK firmware revisions apply partition changes only at cold restart.

What does the "NC memory full" alarm mean on a SINUMERIK 840D?

It indicates the SRAM partition reserved for NCK user data (MD18060 effective ceiling) cannot accommodate the archive being loaded, the PLC work memory partition is full when adding PLC blocks, or the physical MMC card is at its capacity ceiling. Identify which constraint is binding via the MD display before selecting the recovery procedure.

How do I perform an NCK general RESET on the 840D NCU?

Power down the NCU, set the rotary start-up switch S3 on the NCU front panel to position 1, restore 24 V power, wait for the status line to read "Start-up successful", power down again, and return S3 to position 0. This erases SRAM and resets all machine data to defaults.

Why can't I edit MD18060 directly to increase NC memory?

MD18060 is a derived value that reflects the partition headroom allocated by upstream parameters. To grow MD18060, raise MD18350 and MD18230 by equal increments (typically 256 to 1024 units each), save, perform an NC RESET, and re-read MD18060 — it will automatically expand to consume the freed pool.

How can I increase PLC memory on an 840D when adding blocks fails?

PLC memory is governed separately from NC MD18060. Clear the PLC via SIMATIC Manager "PLC → Clear/Reset → Reset Memory" or use NCU switch S3 position 2 for PLC general RESET. Recompact the S7 project to remove unused DBs before re-downloading. If the project size exceeds the PLC firmware build ceiling, a PLC firmware update or NCU hardware replacement is required.

What MMC card capacity does an 840D NCU support and how do I upgrade it?

Older NCU 561/571/572 support up to 32 MB MMC, NCU 710/720 up to 128 MB, and NCU 730/730.2 up to 256 MB. To upgrade, image the existing card with CardWare on a Siemens Field PG or compatible laptop with an MMC converter, write the image to the larger validated MMC, verify the image, then install the new card. The NCK auto-detects the larger partition on next boot.

Back to blog