Siemens 810T PLC Stop Error 6032: Memory Reload Troubleshooting

David Krause13 min read
PLC HardwareSiemensTroubleshooting
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 Summary

A Hardinge CHNC lathe equipped with a Siemens SINUMERIK 810T control reports a persistent PLC error after the on-board lithium battery has discharged and the machine has been recommissioned. Even after a successful reload of the parameter file (CN1PAR.16) and the PLC program file (CN1PLC.14) the control remains in a PLC Stop state and refuses to start the user program.

Field-observed symptoms in this failure mode include:

  • Banner error: ORD 1 PLC Stop displayed at every control power-up.
  • PLC alarm screen: 6032 PLC: User Mem range (PLC0002).
  • NC alarm screen: empty - no NC-side alarms are raised.
  • No E-stop message, no axis drive faults, no encoder faults.
  • The alarm can be cleared with the alarm acknowledge key and RESET but does not reappear until the next cold start - the PLC simply never runs.
  • The HMI permits program editing and the tool/magazine screens appear normal, which confirms that NC memory and the operator panel are healthy.

Reference: SINUMERIK 810 / 820 GA3 Installation Lists (PDF).

Important: A "PLC Stop" condition on a SINUMERIK 810/820 family control is functionally identical to taking the machine out of production. While the alarm can be silenced, the PLC never executes a single scan cycle, which means all logic-driven interlocks, lube, spindle enable, axis release, and tool-change sequences are inactive. Do not attempt manual machine movements under these conditions.

SINUMERIK 810T System Overview

The SINUMERIK 810T is the turning-variant of the early 810 series (suffixed T for Turning; M is Milling, G is Grinding). It pairs an NC kernel running on an Intel 8086-class processor with a SIMATIC S5-compatible PLC that executes user logic authored in STEP 5 (statement list, ladder, or CSF). The PLC and the NC share a common memory area but are otherwise independent: the PLC is responsible for all hard-wired I/O (limit switches, contactors, hydraulics, lube, chuck, turret, spindle gear changes), while the NC handles interpolators, axis drives, and part-program decoding.

Two files dominate the cold-start boot sequence:

File Purpose Storage
CN1PAR (e.g. .16) Machine parameters, axis MDs, spindle MDs, tool-table seeds, PLC machine data (PD-MD), and the user data bits exposed via PLC comm > user data > service. Battery-backed SRAM on the CPU board.
CN1PLC (e.g. .14) The compiled STEP 5 PLC user program (machine logic, interlocks, M-code decoding, axis enable ladder). Battery-backed SRAM (or EPROM-loaded image copied to SRAM at boot).

The trailing decimal in the file extension is the file generation index, not the software version. CN1PAR.16 indicates the sixteenth saved parameter set; CN1PLC.14 indicates the fourteenth saved PLC program. Both files must be of the same vintage (matching machine-tool commissioning state) or the PLC will reject the image.

Understanding Error 6032 and PLC0002

The error string 6032 PLC: User Mem range (PLC0002) belongs to the family of PLC self-test diagnostics emitted by the 810/820 PLC firmware during initialisation. The mapping is:

Alarm number Class Meaning
6000 - 6023 User PLC alarms These are user-defined alarm texts that the machine builder writes into the PLC program. They do not, by themselves, indicate a firmware fault.
6031 - 6039 PLC firmware self-test Reported by the 810/820 PLC kernel at boot when a memory organisation or configuration inconsistency is detected.
6032 PLC firmware self-test PLC user memory range error. The PLC kernel found an inconsistency between the memory layout it was told to expect (via PD-MD 0002) and the actual memory image loaded from CN1PLC.

The bracketed identifier PLC0002 is the diagnostic pin-point: it is the kernel's way of telling you which machine data word disagreed with the program image. PLC0002 therefore maps directly onto PLC Machine Data word 0002, which in the SINUMERIK 810T documentation is referred to as PD-MD 0002.

PD-MD 0002: PLC Memory Organisation

PD-MD 0002 is the single most important machine data word that defines how the PLC kernel organises its user memory. Among the parameters it controls are:

  • Start address of the user program block area in the PLC address space.
  • Number of data blocks (DB/DX) that the STEP 5 image expects to find.
  • Size of the I/O image table (number of bytes of PII and PIQ reserved for the user program).
  • Page / segment layout for the PB (program blocks), FB (function blocks), and SB (sequence blocks) referenced by the program.

If CN1PLC.14 was assembled against one PD-MD 0002 layout and the control is now powered up with a different value, the PLC loader will refuse to bind the program to memory and raise 6032 PLC: User Mem range. The two typical ways this happens are:

  1. The CN1PAR file was reloaded from a backup taken on a different machine, a different commissioning, or after NC Initial > Format User Mem (which zeros PD-MD but does not refresh them from the PLC file).
  2. The PLC program was rebuilt or re-compiled on a PG (programming device) and re-saved to a backup tape/floppy whose parameter file was not regenerated to match.
Why the alarm clears after RESET but never runs: The PLC kernel acknowledges the boot-time alarm so the HMI is usable for diagnostics, but the user program never receives RUN control because the memory organisation check failed at initialisation. A subsequent power-cycle reproduces the same 6032 alarm.

CN1PAR vs CN1PLC File Roles

It is important to understand that CN1PAR alone will not produce a running machine, and CN1PLC alone will not produce a sensible machine either. The control expects a matched pair that originated from the same commissioning:

Action CN1PAR only CN1PLC only Matched pair
Control boots Yes Yes Yes
HMI usable Yes Yes Yes
PLC RUN No (default project, all M-codes undefined) No (PLC fails memory check) Yes (assuming PD-MD 0002 match)
Machine operable No No Yes

In the field case under discussion, the operator has correctly loaded both files, but the PLC still fails the memory-organisation check. The most probable root cause is one of the following:

  1. The CN1PAR file as restored has PD-MD 0002 set to a value inconsistent with the STEP 5 program in CN1PLC.
  2. The CN1PAR file was corrupted during the battery-flat period (SRAM data retention was lost, and the backup tape/diskette is from a different machine or different commissioning).
  3. The PLC program in CN1PLC was re-assembled against a different hardware platform (e.g. a different I/O card stack) than the one currently fitted to the lathe.

Battery Failure Recovery Sequence

The SINUMERIK 810T uses a 3.6 V lithium backup battery (typical part reference: a soldered or socketed ER6C-class primary cell, or the Siemens-branded equivalent of the era) on the CPU module. When the battery discharges while mains is removed, both CN1PAR and CN1PLC volatile copies are lost. The on-disk or on-tape backup is the only recovery source.

Before reloading any file, perform the following checks:

  1. Replace the backup battery on the CPU module. With mains removed, measure the battery voltage at the test points; it must be > 3.4 V under no load and > 3.2 V under a 1 mA load. A marginal battery will allow the next cold start to silently re-corrupt the freshly loaded files.
  2. Inspect the 3.5" floppy or tape backup medium for media degradation. Older floppies shed oxide; archive tapes stretch.
  3. Verify that the file generation index numbers on the backup labels match the machine commissioning record (or, if you have no commissioning record, match each other - CN1PAR.16 and CN1PLC.14 in the field case).

Step-by-Step: Correct Reload Procedure

The following procedure is engineered to address a 6032 PLC0002 stop condition on a SINUMERIK 810T after battery-induced memory loss. Read all of the prerequisites before starting; an interrupted reload can leave the control in a worse state than the initial fault.

Prerequisites

  • Verified good backup of CN1PAR and CN1PLC on a known-good medium.
  • Functional backup battery installed and tested.
  • Access to the Service key (the small key switch on the operator panel, or the software service key sequence if fitted).
  • RS-232 cable (V.24) to the 810T PG port for alternative loading if floppy transfer fails.

Procedure

  1. Initial reset. With mains OFF, hold the Service key down and power on. The control enters the service menu.
  2. Clear all communications buffers to avoid stale parameter slots contaminating the reload: Clear Comm Initial, Clear NC Comm, Clear PLC Comm.
  3. Format the user memory via NC Initial > Format User Mem. This is destructive: it clears everything. Ensure your backup is good before issuing.
  4. Reload CN1PAR via the standard parameter loader. After load, navigate to PLC comm > user data > service and re-enter the data bits per the commissioning sheet. Do not skip this step - the data bits (e.g. PLC stop enable flags, M-code decode enable, axis enable interlocks) are stored in the user-data area that CN1PAR does not automatically rehydrate.
  5. Reload CN1PLC via the PLC loader (or, on 810T, via the Service Key > PLC Initial > PLC Clear path followed by program download).
  6. Inspect PD-MD 0002. Before powering down, navigate to the PD-MD display (typically Service > Display MD > PLC MD) and read out the current value of PD-MD 0002. Compare it character-for-character with the value in the commissioning sheet or in the source listing of CN1PLC.
  7. If PD-MD 0002 disagrees with the PLC source, edit it through the service screen and write the corrected value back. Re-cycle mains to confirm.

If the value still disagrees

  1. Reload CN1PLC again, this time forcing a full clear: Service > PLC Initial > PLC Clear > Yes, then load.
  2. If the disagreement persists, the CN1PAR backup itself is from a different commissioning than the PLC program. You will need either (a) the original CN1PAR that was archived alongside this PLC program, or (b) the STEP 5 source plus a PG so you can rebuild a matching CN1PAR.

PLC Programming Considerations (STEP 5)

If a STEP 5 source archive exists, open it in STEP 5 (any release from S5-DOS up to S7-S5 converters works) and verify the block headers:

  • OB 1 (organisation block) must call FB 1 or equivalent in the correct order expected by the 810T runtime.
  • PB 0 - PB n program blocks should match the I/O card stack physically installed in the lathe. Mismatched PB counts (e.g. PB referenced in OB but not loaded) cause runtime errors that are separate from the 6032 boot-time error.
  • DB / DX data blocks should be loaded in the order expected by the FBs; missing DBs trigger different 6xxx alarms but may also mask the 6032 if FB initialisation reads them.
  • Check the block checksum values in the cross-reference listing against the on-line block list (Service > Display > PLC Blocks). A mismatch indicates EPROM-to-SRAM transfer corruption, not a memory organisation issue.
Field tip: If you do not have the STEP 5 source, the next-best diagnostic is to read the EPROM on the PLC memory submodule (if fitted) and compare its image to the loaded CN1PLC. On a Hardinge CHNC, the PLC memory submodule is typically on the left-hand card cage, under a labelled access cover.

Verification and Commissioning

After the reload and PD-MD correction, perform the following cold-start checks in order. Each must pass before proceeding to the next:

  1. Power-up with no E-stop. Confirm that ORD 1 PLC Stop does not appear on the banner. Confirm that 6032 PLC: User Mem range does not appear in the PLC alarm screen.
  2. NC alarm screen must be empty. Any 2xxx NC alarm at this stage is a separate fault; address before continuing.
  3. PLC status page should display RUN, not STOP. The status can be found under Service > PLC Status or via the diagnostic-page toggle.
  4. Reference all axes. Each axis must complete its reference run; if the PLC is not running, axis enable is missing and the reference command will be rejected with NC alarm 2xyz.
  5. Test M-functions individually. Start with M00, M01, M03, M04, M05, M08, M09, M30. Watch the corresponding PLC outputs via the diagnostic page. M00 and M01 must pause program execution; M03 / M04 must start spindle rotation in the correct direction.
  6. Test tool changer (turret) with a single T-code command from MDI mode. The Hardinge CHNC uses a servo-indexed turret, which requires both NC axis enable and PLC ready-to-relax interlocks; if either is missing, the turret will index but not clamp.
  7. Run a dry program (spindle on, rapid traverse, single tool touch off) at 10% rapid override, with E-stop at the ready.

Extended Diagnostics and Related Errors

The following faults may surface during a battery-reload recovery on a SINUMERIK 810T and are commonly confused with the 6032 condition:

Alarm Meaning Distinction from 6032
6031 PLC: User Mem range (PLC0001) Different PD-MD disagreement (PD-MD 0001, typically I/O image size). Same family, different MD; same remedy path.
6000 - 6023 User-defined alarms generated by the PLC program itself. Normal in operation; only suspicious at first cold start if the loaded PLC is unknown.
1xxx NC alarms NC-side faults (encoder, drive, etc.). Out of scope for PLC stop; address separately.
BTR interrupted / Siemens reader error (RS 232 C) Transfer error during parameter or PLC load over the V.24 serial port. Per SINUMERIK 810/820 Installation Lists, indicates a transfer protocol mismatch or cable fault - retry on a known-good null-modem cable at 9600 baud 8N1.

The ORD 1 prefix on the banner line identifies the origin as the first user-defined alarm slot (OR = Order / Ordinal). On a Hardinge CHNC, ORD 1 is the machine builder's PLC Stop flag. The fact that it is the only banner message is strong evidence that the NC kernel, HMI, and operator panel are all healthy and that the fault is isolated to the PLC's ability to bind its user memory.

Flag interaction: Per the SINUMERIK 810/820 GA3 installation reference, the "PLC does not enter STOP on PLC error" flag should be checked during commissioning. If this flag is set incorrectly, transient PLC runtime errors (e.g. divide-by-zero, illegal FB call) will be silently swallowed and may mask downstream faults during commissioning.

Frequently Asked Questions

What does Siemens 810T error 6032 PLC: User Mem range (PLC0002) mean?

It is the PLC kernel's self-test indicating that the PLC Machine Data word PD-MD 0002 - which defines the user memory organisation - disagrees with the memory layout expected by the loaded PLC program (CN1PLC). The PLC refuses to bind the program and remains in STOP, surfacing the user-defined ORD 1 alarm as the banner.

Why does the 6032 alarm clear after RESET but never go away at the next cold start?

Alarm acknowledgement silences the HMI display but does not retry the PLC memory-organisation check. Because the underlying PD-MD disagreement is unchanged, the next cold-start sequence reproduces the 6032 alarm and the PLC never enters RUN.

Do I need both CN1PAR.16 and CN1PLC.14 to recover the machine?

Yes. CN1PAR holds machine parameters and PD-MD; CN1PLC holds the STEP 5 program. Both must be from the same commissioning or the PLC will fail the memory organisation check. After loading CN1PAR you must also re-enter the user data bits via PLC comm > user data > service, as CN1PAR does not auto-restore them.

Should I replace the backup battery before reloading the files?

Yes, always. A marginal 3.6 V lithium cell will allow the next power-loss event to silently re-corrupt the freshly loaded SRAM. Test the cell at > 3.4 V no-load and > 3.2 V under 1 mA load before proceeding.

How do I fix the PD-MD 0002 mismatch if I do not have the commissioning sheet?

Read the value through Service > Display MD > PLC MD, then compare it to the block layout referenced by the STEP 5 source of CN1PLC. If the source is unavailable, read the EPROM on the PLC memory submodule and disassemble it to determine the expected layout, then write PD-MD 0002 to match.

Back to blog