Resolving SINUMERIK 810D Alarm 3000 E-Stop via Diagnostic Buffer
The SINUMERIK 810D with a CCU3 (Compact Control Unit) and PCU20 (Panel Control Unit 20) is a compact CNC platform widely deployed on milling and turning machines. When the controller refuses to exit E-stop and alarm 3000 remains active even after the external E-stop circuit has been verified, the root cause is almost always inside the NCK (Numerical Control Kernel) or its interface data blocks, not the safety wiring. This reference covers the diagnostic approach: reading the NCK/PLC diagnostic buffer, interpreting alarm 3000, tracing DB10.DBX56.1, and isolating whether DB8.DBX45.0 is forcing the E-stop request from user PLC logic.
1. System Architecture Overview
The 810D CCU3 combines the NCK, PLC (S7-compatible CPU315-type), and PROFIBUS-DP drive link on a single backplane module. The PCU20 is a separate industrial PC that runs the HMI software (HMI Advanced or ShopMill/ShopTurn) and exchanges data with the CCU3 over Industrial Ethernet.
| Component | Function | Failure mode affecting E-stop |
|---|---|---|
| CCU3 | NCK + PLC + drive bus master | PLC user program, NCK internal monitors, drive communication loss |
| PCU20 | HMI, alarm display, file services | HMI-side E-stop request via DB10 |
| MPI/DP port | PG/PC connection (X122) | Required for STEP 7 / PLC diagnostics upload |
| Drive bus (PROFIBUS-DP) | SIMODRIVE 611 / SINAMICS S120 link | Drive fault escalates to NCK E-stop (alarm 3000 family) |
The PLC program stored in the CCU3 is an S7-300 compatible project. STEP 7 V5.5 (or compatible SIMATIC Manager) connects via MPI/PROFIBUS to read the diagnostic buffer and online program.
2. E-Stop Signal Path in the 810D
On the 810D, the E-stop chain crosses both the PLC and the NCK. The PLC monitors hard-wired E-stop contacts (typically on DB10.DBX56.0) and forwards the state to the NCK. The NCK independently monitors axes, drives, and internal safety conditions and can also request E-stop (DB10.DBX56.1). When either side asserts E-stop, the controller clears pulse enable and brings all axes to a controlled stop.
2.1 DB10 Interface Signal Mapping (NCK ↔ PLC)
| Signal | Direction | Meaning |
|---|---|---|
| DB10.DBX56.0 | PLC → NCK | E-stop request from PLC (hard-wired chain) |
| DB10.DBX56.1 | NCK → PLC | NCK requests E-stop (drive fault, axis monitor, etc.) |
| DB10.DBX56.2 | HMI → NCK | E-stop from HMI |
| DB10.DBX56.3 | — | Reserved / E-stop acknowledge |
| DB10.DBX57.0 | PLC → NCK | Feedrate enable override / pulse enable acknowledge |
2.2 Why DB10.DBX56.1 Matters
In the machine described in the source, DB10.DBX56.1 is OR'd with the E-stop circuit and writes back into DB8.DBX56.1 if TRUE. This means a TRUE on DB10.DBX56.1 (NCK requesting E-stop) will hold the machine in E-stop regardless of the external circuit being released. The user has already verified that the hard-wired chain is healthy and that the I/R (infeed/regenerative) unit can be forced to enable — but the OR'd input remains TRUE.
3. Alarm 3000: Definition and Family
Alarm 3000 on the SINUMERIK 810D is part of the NCK alarm group and is generically titled "Emergency stop". The NCK raises 3000 when it executes an internal E-stop routine. The alarm is a show alarm and is normally logged in the NCK diagnostic buffer with a timestamp, an axis reference (if applicable), and a clearance criterion.
| Alarm | Meaning | Likely root cause |
|---|---|---|
| 3000 | E-stop (generic NCK) | Internal NCK monitor, drive fault, PLC signal loss |
| 3001 | E-stop reset acknowledgment missing | DB10.DBX56.x chain still asserted |
| 3002 | E-stop time-out | Axes did not stop within window |
| 3003 | Axis-specific E-stop | Standstill monitor tripped on a specific axis |
The reported symptom — "all alarms appear cleared in the buffer, but 3000 is still active" — typically means one of the following:
- The PLC has acknowledged 3000 via the alarm clear bit, but the underlying NCK condition has not been resolved, so the NCK immediately re-raises it.
- The 3000 alarm is being raised and cleared in the same NCK cycle (a race between the PLC user program's reset logic and the NCK monitor), so it never persists in the buffer but remains "active" in the alarm line display.
- The diagnostic buffer is being read on the PCU20 HMI side, which shows the HMI alarm list — not the NCK's own log. The HMI list can mask NCK-only events.
4. Reading the NCK Diagnostic Buffer
Reading the diagnostic buffer correctly is the single most important diagnostic step. The 810D provides two distinct buffers:
- NCK diagnostic buffer (alarms 0–9999 logged by the NCK).
- PLC diagnostic buffer (S7-compatible CPU diagnostic events).
4.1 Reading the NCK Buffer from the HMI
- Navigate to Diagnosis → NC/PLC Variables or Alarm Log on the PCU20.
- Open Alarm History (historically stored on the CompactFlash card).
- Filter by alarm number
3000and time stamp matching the E-stop event. - Read the Clear info column — this tells you which condition must be fulfilled before the alarm self-clears.
4.2 Reading the PLC Diagnostic Buffer via STEP 7
For PLC-side events (which includes the DB10/DB8 logic chain), connect STEP 7 to the MPI/PROFIBUS port of the CCU3 and use the PLC diagnostic buffer. For S7-300 class controllers (which the 810D CCU3 PLC implements), the same diagnostic-buffer procedure documented for the SIMATIC family applies — see the Reading out the diagnostics buffer of a CPU reference for the underlying principles and field semantics, which are identical between the standard S7-300 PLC and the 810D CCU3 embedded PLC.
- In SIMATIC Manager, go online with the target CPU.
- Select PLC → Diagnostics/Settings → Diagnostics Buffer.
- Scroll to the E-stop entry — note the time stamp.
- Open the corresponding NCK alarm (using NC/PLC Variables and the time stamp correlation) to find the originating axis or drive.
5. Tracing DB10.DBX56.1 and DB8.DBX45.0
The source identifies a specific chain: DB8.DBX45.0 drives DB10.DBX56.1, which then writes DB8.DBX56.1. This is suspicious because DB10.DBX56.1 is normally a read-only NCK-to-PLC signal. If the PLC program is writing to DB10.DBX56.1, it is overwriting an NCK output — which is a known mis-wiring pattern on older 810D retrofit projects.
5.1 Cross-Reference Table
| Bit | Expected direction | Symptom if forced |
|---|---|---|
| DB10.DBX56.1 | NCK → PLC (NCK writes, PLC reads) | If PLC writes here, the NCK's E-stop request path is short-circuited and the HMI will display NCK-side E-stop even when the NCK is healthy. |
| DB8.DBX45.0 | User-defined | Set by PLC user logic. Common sources: drive fault latch, axis enable interlock, handwheel conflict, software limit trip. |
| DB8.DBX56.1 | User-defined (echo) | Indicates PLC has accepted the NCK E-stop. Used by HMI display and operator reset logic. |
5.2 Online Monitoring Procedure
- Open the PLC program online in STEP 7.
- Open Monitor/Modify on DB10 and DB8.
- Force
DB8.DBX45.0 = 0temporarily (use a force table, not a one-shot modify). - Observe whether
DB10.DBX56.1drops to 0 within one PLC scan (typically 10–20 ms). - If DB10.DBX56.1 drops, the user logic in DB8.DBX45.0 is the source. Trace DB8.DBX45.0 upstream to find the original condition (drive fault bit, axis monitor, etc.).
- If DB10.DBX56.1 remains TRUE with DB8.DBX45.0 forced low, the NCK is genuinely requesting E-stop — proceed to Section 6.
6. NCK-Side E-Stop Root Causes
If the PLC chain is healthy and DB10.DBX56.1 is being written by the NCK itself, the root cause lies inside the NCK's safety monitors. The most common categories are:
| Category | Specific cause | Diagnostic signal |
|---|---|---|
| Drive fault | SIMODRIVE 611 / SINAMICS S120 module fault on PROFIBUS | Alarm 3000 with axis reference; alarm 201* / 202* in NCK buffer |
| Axis monitor | Standstill monitor, contour monitoring, encoder loss | Axis-specific alarm (25xx range); check MD36000–MD36900 |
| Pulse enable missing | DB10.DBX57.x handshake not closing | Drive shows n=0; NCK logs 3000 with "no pulse enable" clear info |
| Setpoint/actual divergence | Following error exceeds MD36020 | Alarm 25050 or 25080; E-stop escalates to 3000 |
| Hardware fault | CCU3 internal fault, PCU20 communication loss | NCK buffer shows 2000 range; cyclic I/O error alarm |
6.1 Machine Data to Verify
Open the machine data list on the HMI or via STEP 7 and confirm:
| MD | Meaning | Default | Field check |
|---|---|---|---|
| MD36620 | Servo disable time | 200 ms | If too low, drive disable triggers spurious E-stop |
| MD36020 | Position control loop dead-time compensation | 0 | Mis-tuning causes following-error alarms |
| MD11450 | System error E-stop reaction | 1 | Defines whether NCK enters E-stop on a system error |
| MD20150 | Default G-Code settings | — | Programs with G0 rapid traverse may trigger contour monitoring |
7. Step-by-Step Troubleshooting Procedure
Apply the following sequence in order. Do not skip ahead — each step rules out a category of fault.
Step 1 — Verify External E-Stop Circuit
- Confirm hard-wired E-stop loop continuity with a multimeter at the safety relay terminals.
- Monitor DB10.DBX56.0 in STEP 7 online. It should follow the hard-wired contact 1:1.
Step 2 — Read the NCK Diagnostic Buffer
- Open Diagnosis → Service Log → NC Log on the PCU20.
- Filter to the moment of E-stop.
- Note the alarm number and any axis reference.
Step 3 — Read the PLC Diagnostic Buffer
- Connect STEP 7 over MPI/DP.
- Open the CPU diagnostic buffer.
- Cross-reference the PLC timestamps with the NCK timestamps.
Step 4 — Trace DB10.DBX56.1
- Monitor DB10.DBX56.1 online.
- If TRUE with DB8.DBX45.0 FALSE, the NCK is the source.
- If TRUE with DB8.DBX45.0 TRUE, the PLC user logic is the source — trace DB8.DBX45.0 upstream.
Step 5 — Inspect the Drive Bus
- Open Diagnosis → Bus Diagnostics on the HMI.
- Verify all SIMODRIVE/SINAMICS nodes are online and showing no fault.
- A single missing slave can pull DB10.DBX56.1 high.
Step 6 — Verify Pulse Enable Handshake
- Check DB10.DBX57.x bits per the machine data definition.
- Confirm all axes are in "pulse enable" state in the axis status screen.
Step 7 — Cold Restart (NCK Reset)
- Only after steps 1–6 are exhausted, attempt an NCK reset: Commissioning → NCK Reset.
- Clear alarm log. Power-cycle the CCU3.
- If alarm 3000 returns immediately, the fault is a stored MD condition or a hardware fault.
8. Verification and Commissioning
After the root cause has been corrected, verify the full E-stop chain end-to-end before returning the machine to production.
8.1 Verification Checklist
- All hard-wired E-stop buttons release and re-engage correctly.
- DB10.DBX56.0 follows the hard-wired chain.
- DB10.DBX56.1 is FALSE in the steady state.
- DB8.DBX45.0 source condition is documented and traceable.
- All axes acknowledge "pulse enable" in the axis status screen.
- NCK diagnostic buffer shows the E-stop entry has a valid clear criterion.
- PLC diagnostic buffer shows the matching PLC timestamp with no I/O faults.
- A controlled E-stop test (press each physical E-stop button once, acknowledge) passes without spurious alarm 3000.
8.2 Acceptance Test
Run a full M30 cycle with a low feedrate override. Monitor DB10.DBX56.0 and DB10.DBX56.1 continuously. Any unexpected assertion during normal operation indicates residual fault. Record the test in the machine maintenance log with timestamps and operator initials.
9. Common Field Pitfalls
| Pitfall | Symptom | Mitigation |
|---|---|---|
| Forcing I/R enable without isolating E-stop chain | Controller appears ready, then trips immediately | Always clear all DB10.DBX56.x bits before forcing drives |
| Reading HMI alarm list instead of NCK buffer | Alarm 3000 "missing" from log | Use STEP 7 / PLC diagnostic buffer for NCK events |
| Modifying DB10 bits in user logic | NCK side masks real faults | Never write to read-only NCK → PLC interface bits |
| Skipping PROFIBUS diagnostics | Random alarm 3000 events | Always check bus topology and termination resistors |
| Confusing PLC DB8.DBX56.1 with DB10.DBX56.1 | Reset logic fails because PLC echo never clears | Map every DB10/DB8 bit in a comment table in the PLC source |
10. Summary
An 810D machine that holds in E-stop with alarm 3000 active and a healthy external chain is almost always the result of one of two conditions: a PLC user logic bug writing into DB10.DBX56.1 (or into the source of DB8.DBX45.0), or an NCK-internal monitor that has raised 3000 and has not yet seen its clear criterion satisfied. The diagnostic buffer — read on the correct side (NCK for kernel events, PLC for I/O events) — is the definitive source of truth. Cross-referencing the PLC timestamp with the NCK timestamp, then tracing DB10.DBX56.1 and DB8.DBX45.0, isolates the chain in under ten minutes of online monitoring.
FAQ
Why does alarm 3000 stay active even though the diagnostic buffer appears empty?
Alarm 3000 can be raised and cleared within a single NCK cycle if the PLC user program toggles the acknowledge bit. The HMI alarm list (which is event-based) misses it, but the NCK keeps the alarm flag asserted until its clear criterion is met. Read the NCK log, not the HMI alarm list.
Can the PLC write to DB10.DBX56.1 to clear the E-stop?
No. DB10.DBX56.1 is an NCK-to-PLC interface signal written by the NCK. The PLC should read it, never write to it. Writing to it does not clear the NCK's E-stop; it only masks the symptom and can corrupt downstream logic.
How do I read the diagnostic buffer of the 810D CCU3 PLC?
Connect STEP 7 (V5.5 or compatible) to the CCU3 MPI/PROFIBUS port and use PLC → Diagnostics/Settings → Diagnostics Buffer. The procedure and semantics are identical to a standard S7-300 CPU, as documented in the Reading out the diagnostics buffer of a CPU reference.
What does DB8.DBX45.0 represent on the 810D?
DB8 is a user-defined data block in most 810D PLC projects; its meaning is project-specific. Common usages include drive fault latches, axis enable interlocks, and software-limit trips. Trace its upstream network in the STEP 7 program to identify the original condition.
Is it safe to force I/R enable while diagnosing the E-stop?
Forcing I/R (infeed/regenerative) enable bypasses one stage of safety and can energize DC link capacitors on the drive bus. Only force it with the spindle motor contactor open, axes mechanically braked, and personnel clear. Never treat a forced enable as proof that the E-stop chain is healthy.