Troubleshooting Sinumerik 820T Alarms 6004, 6007, 6008, 6009, 6021, 6052 on Startup
When a Siemens SINUMERIK 820T controller refuses to enable axis motion immediately after a parameter (TEA1, TEA2, PCP) load, the cause is almost always a mismatch between the loaded PLC program (the PCA file / PLC user program) and the actual I/O configuration of the machine. The symptom is a cluster of 6xxx-range alarms — in this case 6004, 6007, 6008, 6009, 6021, 6052 — that the operator has correctly traced back to the PCA file's alarm texts. This article walks through root-cause analysis, the diagnostic menu path, the structure of the 6xxx alarm range, and the field-proven procedure to clear the alarms and unlock axis motion.
1. System Overview: SINUMERIK 820T Hardware and Software Architecture
The SINUMERIK 820T is a turn (lathe) variant of the SINUMERIK 820 family, released in the late 1980s/early 1990s for 2-axis CNC lathes. It shares the 800-series architecture:
- NCK (Numerical Control Kernel): stored in TEA1 and TEA2 EPROM modules. These contain the NCK firmware, machine data defaults, and fixed PLC runtime.
- PLC (Programmable Logic Controller): the PCP file (sometimes referenced as PCA) contains the user PLC program and the user alarm text table. It is loaded into battery-backed RAM or written to EPROM depending on the hardware revision.
- Operator panel: monochrome CRT with the Diagnostics menu used to inspect NC and PLC alarm states.
The 6xxx alarm numbers in this controller are not Siemens NC kernel alarms. They are user-defined PLC alarms, and the displayed text is taken directly from the PCA / PCP alarm text table. This is why a user with the PCA file can read the meaning of N6021, N6052, etc., but the Siemens documentation will not list these alarm numbers — they are machine-builder specific.
2. Problem Description: Cluster of 6xxx Alarms After Parameter Load
Reported symptoms from the field case:
- TEA1, TEA2, and PCP files were successfully loaded into the controller.
- Controller powers up normally; the NC is in operating-display state.
- Pressing a direction key or executing any motion block produces no axis motion.
- The alarm line shows (in this case):
6004 6007 6008 6009 6021 6052with a leadingNprefix that designates a PLC alarm. - Cross-referencing the PCA alarm text file:
- N6021 = "hydraulic oil level minimum" (oil tank is full — false alarm).
- N6052 = "chip conveyor motor does not burn" (machine has no chip conveyor — false alarm).
N on each alarm is the SINUMERIK 820T prefix that distinguishes a PLC user alarm from a native NC alarm (which has no N prefix). Seeing several N6xxx alarms together almost always means the PLC program is reporting multiple "machine not ready" conditions simultaneously.3. Root Cause Analysis
When several 6xxx alarms appear at once and at least one of them refers to a peripheral that does not exist on the machine (e.g., chip conveyor on a lathe with no conveyor), the root cause is one of the following:
3.1 Wrong PCP / PCA File Loaded
The most common cause. The machine builder ships a family of PCP files (one per machine variant, e.g., with/without chip conveyor, with/without tailstock, with/without hydraulics). The file that was loaded does not correspond to the actual hardware configuration of this specific lathe.
3.2 PLC Program Out of Sync with Hardware Modification
The machine has been modified (conveyor removed, oil sensor bypassed, guard switch added) but the PCP file was not regenerated. The PLC is now reading inputs that float or that are tied to the wrong I/O addresses.
3.3 Parameter Block Mismatch
TEA1/TEA2 loaded correctly, but the user-machine-data block references PLC interface bits that the active PCP does not provide. The PLC's "machine ready" flag never sets, which the NC interprets as a not-ready condition — the NC then refuses to release the axis enable and refuses to accept motion commands.
3.4 Backup Battery Lost During Transit
If the PCP file lives in battery-backed SRAM and the battery was disconnected during transport, the PLC program may have been wiped while the TEA modules survived. The NC boots, but the PLC area is empty or corrupt. Result: the PLC default-stuck inputs all read as "not ready", generating a cascade of 6xxx alarms.
4. Why a 6xxx Alarm Cascade Locks the Axes
The SINUMERIK 820T PLC must continuously assert the Machine Ready (sometimes labeled BTSS / Anlage bereit) flag to the NCK. This flag is the AND-combination of dozens of individual ready signals (hydraulics OK, lube OK, guard closed, spindle stopped, etc.). When any of these signals is missing, the PLC drops the Machine Ready bit.
The NCK responds by:
- Switching to Not Ready state.
- Disabling feed enable (
DB-FF) and axis enable (DB-AE). - Ignoring all motion commands from the part program and from jog mode.
- Displaying the active PLC alarms (each one whose condition is true).
This explains why the operator sees the axes frozen simultaneously with a stack of N6xxx alarms: the alarms are not the cause, they are the symptom of the dropped Machine Ready bit.
5. Diagnostic Menu Procedure on the 820T
Use the on-board Diagnostics menu to identify the exact PLC flags that are blocking the Machine Ready. The path is:
- Press the Diagnostics key on the operator panel (or navigate via the menu key: Menu → Diagnostics).
- Select NC Alarm — this shows NCK-side alarms (will typically be empty or show "3020 Axis enable missing").
- Select PLC Alarm — this lists the active 6xxx alarms with their current status (ON / OFF).
- Select PLC Status — this is the most useful screen. It shows the state of the PLC interface to the NCK, including:
- Machine Ready (input byte from PLC to NCK)
- Feed enable, axis enable, spindle enable
- Emergency stop status
- Reference point status
- Select I/O Status (sometimes labeled PLC I/O) — shows the actual state of every digital input. Use this to confirm whether the hydraulics-low switch is actually closed, whether the chip-converter-overload contact exists, etc.
6. Specific Alarm Meanings in the Reported Cluster
Based on the PCA file supplied with the machine and standard 820T PLC conventions, the cluster maps to the following input conditions:
| Alarm | Typical PCA Text | PLC Input Watched | Real Status on This Machine |
|---|---|---|---|
| N6004 | Emergency stop / guard door | E-stop loop, guard interlock | Guard OK; likely a different flag in this PCA |
| N6007 | Lubrication fault / oil level | Lube pressure switch or oil level | Verify lube pump and float switch |
| N6008 | Hydraulic pressure low | Pressure switch on hydraulic pack | Verify hydraulic pressure and switch |
| N6009 | Axis enable missing (PLC→NCK) | Feed / axis enable flag | Consequence of all other alarms |
| N6021 | Hydraulic oil level minimum | Float switch in oil reservoir | Oil is full — false alarm or bad float switch |
| N6052 | Chip conveyor motor overload | Conveyor overload contact | No conveyor on this machine — false alarm from wrong PCP |
7. Step-by-Step Resolution Procedure
- Verify the battery-backed SRAM state. Power down, open the controller, check the lithium battery on the CPU board. If the battery is dead or absent, replace it before reloading. Re-attempt the load with the same TEA1/TEA2/PCP files and observe whether the cluster of alarms persists.
-
Confirm the PCP file identity. Match the PCP filename/CRC against the machine builder's manifest. The file should have a version label such as
PCP_820T_Lathe_NoConveyor_V3.binfor a lathe without a chip conveyor. If the loaded file is..._WithConveyor_V3.bin, that is the source of N6052. - Open the PCA alarm text table on a PC. For each of 6004, 6007, 6008, 6009, 6021, 6052, write down the corresponding input bit. Cross-check with the I/O Status screen.
- Use PLC I/O Status to read each input physically. For N6021, force-trigger the float switch manually (lift the float). For N6052, the input should not exist on this machine — note the I/O address that the PLC is reading; it will be either floating (unwired) or shorted to 0V.
-
Decide between two paths:
- Path A — load the correct PCP. If a matching PCP exists for the as-built machine configuration, load it. The alarms will clear after a PLC reset.
- Path B — edit the active PCP to suppress the false alarms. Use the S5 PG (or PG 675/685/710) and the STEP 5 programming software to open the PCP, locate the network that sets the flag for N6052, and either remove that network or hard-wire the associated input to "1". The same applies to N6021 if the oil level sensor has been removed.
- Edit the PLC program safely. Connect the programming device to the 820T serial port, transfer the PCP to the PG, edit, and transfer back. Use the PG's COMPARE function before and after to verify no unintended changes.
-
Clear the PLC alarm stack. On the 820T, the equivalent of the modern MC_Reset / MC_Power cycle is performed by:
- Selecting the controller to a mode other than AUTO (typically JOG or MDA).
- Pressing the Reset key on the operator panel — this clears the latched PLC alarms.
- Pressing CNC Stop, then CNC Start — this re-initializes the NCK and re-evaluates the Machine Ready flag.
-
Verify the Machine Ready flag is set. Return to Menu → Diagnostics → PLC Status and confirm the Machine Ready bit is now
1and that none of the 6xxx alarms remain active. -
Test axis motion in JOG. Select JOG mode, choose axis X, and press the
+key. The X axis should move at the configured JOG rapid rate. Repeat for Z. - Run a spindle test. Enter M03 S500 in MDI; the spindle should rotate. If the spindle enable also depends on the same Machine Ready flag (it usually does), it will now come up.
-
Reference all axes. Perform the reference-point traverse (typically
+Xthen+Zon a lathe). This sets the NCK's position register and is required before any part program can run.
8. PLC Edit Snippet: Suppressing a False Conveyor Alarm (STEP 5, AWL)
The following STEP 5 statement-list fragment shows the typical network that raises the N6052 alarm. It is included as a reference for engineers who must edit the PCP on-site. Do not deploy this without verifying the input addressing on the actual 820T CPU.
NETWORK 47 // CHIP CONVEYOR OVERLOAD (N6052)
U E 32.0 // Conveyor overload contact (NC)
UN M 200.7 // "Machine has conveyor" configuration bit
= A 28.7 // Alarm flag for N6052
// AFTER EDIT (machine has no conveyor — alarm suppressed):
NETWORK 47 // CHIP CONVEYOR OVERLOAD (N6052) - DISABLED
U M 200.7 // "Machine has conveyor" configuration bit
= A 28.7 // Alarm flag for N6052 - always 0
// NOTE: when M200.7 = 0, the alarm flag is forced OFF
The same pattern applies to N6021 if the oil-level float switch has been removed. Replace the read of the float-switch input with a constant U M 200.6 "Oil level sensor fitted" bit so the alarm can be turned on and off via a single configuration flag in the future.
9. Commissioning Checklist After PCP Load
| Step | Action | Pass Criterion |
|---|---|---|
| 1 | Verify battery-backed RAM contents (TEA1, TEA2, PCP) | All three files match builder manifest |
| 2 | Power up, observe boot sequence | NCK ready, no PLC STOP LED |
| 3 | Open Diagnostics → PLC Alarm | No active N6xxx alarms |
| 4 | Open Diagnostics → PLC Status | Machine Ready = 1, Feed Enable = 1 |
| 5 | Reference X and Z in JOG | Both axes reach reference point, NCK position register set |
| 6 | MDI: G0 X100 Z50
|
Rapid traverse executes, no alarms |
| 7 | MDI: M03 S500
|
Spindle rotates, no alarms |
| 8 | Run a short test program | Cycle runs to completion |
| 9 | Backup the working parameter set | PCP and machine data archived to PG/PC |
10. Verification: How to Confirm the Fix
- The PLC Alarm screen in Diagnostics must be empty (no
N6xxxentries shown in the active list). - The PLC Status screen must show:
Machine Ready = 1Feed Enable = 1Axis Enable X = 1Axis Enable Z = 1Emergency Stop = 0
- JOG motion on X and Z must respond to direction keys.
- The mode group must accept the
REFreference command and complete the reference traverse. - MDI commands (
G0,G1,M03,M05,M08,M09) must all complete without raising any N6xxx alarm.
11. Troubleshooting Matrix for the 6xxx Cluster
| Symptom | Most Likely Cause | First Check | Fix |
|---|---|---|---|
| N6052 on machine with no chip conveyor | Wrong PCP variant loaded | PCP filename vs. machine manifest | Load correct PCP; or edit network 47 to disable alarm |
| N6021 with full oil tank | Stuck float switch, or wrong PCP variant | Lift float manually and watch I/O Status | Replace float switch, or rewire input to a "fitted" flag |
| N6004, N6007, N6008 cluster at first power-up | Battery-backed PLC RAM wiped | Battery voltage on CPU board | Replace battery, reload PCP |
| N6009 with all other alarms cleared | PLC Machine Ready flag wiring | PLC Status → Machine Ready bit | Trace ladder network that AND-combines the ready signals |
| All alarms clear in JOG, return in AUTO | Part program references an option not present | MDI test of the same G-code line | Identify the missing option, modify program or enable option |
| Alarms clear after Reset but return on power cycle | PCP not saved to EPROM, only to RAM | Memory configuration in PG | Save the corrected PCP to EPROM module |
12. Edge Cases and Field-Proven Caveats
- 820T vs 820M/820G: The 6xxx range is the user PLC area for all 800-series controllers, but the meaning of each number is machine-builder specific. Do not assume a number means the same thing on two different machines.
- Battery replacement sequence: On the 820T, replace the lithium battery with mains power applied. Removing the battery while the mains is off wipes the user PLC if the PCP is RAM-resident.
- EPROM vs RAM: Some 820T variants socket a 27C256 EPROM for the PCP. If the machine was upgraded from EPROM to RAM at some point, the EPROM may still be in place but unused — verify by reading the EPROM and comparing to the RAM contents.
- Software limit-switch confusion: A separate alarm (the 1xxx range on 820T) handles software limit switches. Do not conflate the 1xxx and 6xxx ranges; the 6xxx range is the PLC-only user alarm area.
- Emergency stop affects more than alarms: When the E-stop loop is open, the NCK drops the Machine Ready and opens the contactor that powers the drives. After an E-stop, you must close the E-stop, then press Reset, then CNC Start to re-energize the contactor. Skipping CNC Start is a common mistake on first commissioning.
- Reference not complete: On a lathe, both X and Z must be referenced before any part program will run. The reference is one-way only on most 820T lathes — pressing the wrong direction key at reference point will raise a different alarm, not a 6xxx alarm.
- PG connection: Use the serial (TTY 20 mA) port on the 820T, not the V.24. The connector pinout and current-loop signaling are not interchangeable with a standard RS-232 PG without a Siemens-specific adapter cable.
13. Reference: Where the Alarm Texts Live
The 820T's PCA / PCP file contains the alarm-text table in a fixed binary layout. Each entry is a 32-character ASCII text string indexed by the alarm number minus 6000. The table is loaded at PLC cold-restart and is held in the same memory as the PLC program. To read or modify it:
- Connect a PG to the 820T via the TTY port.
- Use STEP 5's PCP Transfer function to upload the active PCP from the controller to the PG.
- Open the PCP in the Documentation editor of STEP 5 and navigate to the alarm text block (typically at the end of the file, address FB 0 / DB 0 in some variants).
- Edit the texts as required. Note: the alarm numbers are hard-coded in the PLC program logic; only the text and the trigger condition can be edited in the table.
- Transfer the modified PCP back to the controller and perform a PLC cold restart.
For broader Siemens motion-control context (and the modern S7-1200 / TIA Portal equivalent of the alarm-clearing procedure used on the 820T), see the official TIA Portal documentation for the List of ErrorIDs and ErrorInfos for S7-1200 Motion Control technology objects. The principle of acknowledging a motion alarm with a reset command and a positive-direction command is directly analogous to the Reset + CNC Start + JOG + sequence used on the 820T.
14. Summary
A cluster of N6xxx alarms on a SINUMERIK 820T that appears immediately after a parameter load is, in the vast majority of field cases, not a hardware failure. It is a PLC program mismatch: the loaded PCP references inputs that the machine does not have, or that are wired to a different I/O address, or that the PLC is reading as the inverse of the actual machine state. The cure is either to load the PCP variant that matches the as-built machine, or to edit the active PCP to mask the false alarms via a configuration bit. Once the Machine Ready flag returns to 1, the axes will accept motion commands immediately, and the N6xxx alarms can be cleared with the operator-panel Reset key followed by CNC Start. Always archive the working parameter set to PG or PC after a successful commissioning — the next battery failure will thank you.
What do the alarm numbers 6004, 6007, 6008, 6009, 6021, and 6052 mean on a SINUMERIK 820T?
On the 820T, the 6xxx range is the user PLC alarm area. The numbers themselves are machine-builder specific and their meaning is defined in the PCP / PCA alarm text table. In the reported case, N6021 corresponds to a hydraulic-oil-low level message and N6052 corresponds to a chip-conveyor-motor overload message, both read directly from the PCA file.
Why do the 6xxx alarms lock all axis motion on the 820T?
When any PLC user alarm is active, the PLC drops the Machine Ready flag it sends to the NCK. The NCK responds by clearing feed enable and axis enable, which is why none of the axes will jog or run a part program. The alarms are the symptom, the dropped Machine Ready bit is the cause.
How do I clear the N6xxx alarms and restore motion?
Resolve the underlying ready-condition (correct the PCP, fix the wiring, or replace the sensor), then on the operator panel: select JOG or MDA, press Reset to clear the latched PLC alarm stack, then press CNC Stop followed by CNC Start. After that, the Machine Ready flag will return to 1 and the axes will accept motion commands.
The N6052 chip-conveyor alarm appears but my lathe has no chip conveyor. What is wrong?
Almost certainly the wrong PCP variant was loaded — the loaded file is the version intended for a lathe fitted with a chip conveyor. Either load the matching no-conveyor PCP from the machine builder, or edit network 47 (or equivalent) of the active PCP to force the alarm flag OFF. Verify with the I/O Status screen before and after the edit.
How can I tell which PCP variant should be loaded for my specific machine?
Cross-reference the PCP filename and CRC against the machine builder's commissioning manifest. The manifest lists the PCP part number and version for each as-built configuration (with/without chip conveyor, with/without tailstock, with/without hydraulics, etc.). If the manifest is missing, open the active PCP in STEP 5 and read the configuration bits at the top of the program — they should describe the same options that are physically fitted to the machine.