Alarm 2000 on SINUMERIK 828D: PLC Sign‑of‑Life Monitoring
Alarm 2000 on a SINUMERIK 828D indicates that the NCK stopped receiving the PLC’s cyclic “sign‑of‑life” heartbeat within the configured timeout, so the control blocks NC start and transitions to a safe stop until the condition is cleared .
### What this alarm means the “sign‑of‑life” is a counter on the NC/PLC interface that the PLC increments every 10 ms; the NCK checks that this counter keeps changing within the window defined by MD10100 $MN_PLC_CYCLIC_TIMEOUT (typically 100 ms) [1][2]. If the counter doesn’t advance in time—because the PLC is stopped, stuck in a loop, or severely delayed—the NCK raises Alarm 2000 and disables NC start for the affected channel while setting interface signals and shown the alarm on screen.
### Typical reactionsOn Alarm 2000, the system shows local alarm reaction, sets “NC not ready,” “Channel not ready,” blocks NC start, and stops with alarm; this is a deliberate safety response to loss of PLC cyclic activity . The alarm list can be viewed via Menu Select > Diagnosis > Alarm Messages to confirm presence and sequence of related events .
### Frequent root causes
– PLC stop due to commissioning switch, programming tool “Stop,” or a PLC alarm, all of which explicitly halt scan and thus the heartbeat .
-User PLC code trapped in a loop or extremely long cycle time preventing the 10 ms time‑alarm routine from incrementing the counter, often leaving no ISTACK entry if it’s a busy‑loop rather than a STOP .
– Excessive first OB1 cycle at power‑on or delayed PLC run‑up; related startup supervision is MD10120 $MN_PLC_RUNNINGUP_TIMEOUT for Alarm 2001, which can accompany or precede 2000 in some cases .
### Field diagnosis workflow
As an engineer, start at the HMI to capture context, then verify PLC and MDs before diving into code or hardware .
– At the HMI, open Diagnosis > Alarm Messages and note timestamps for 2000 and any adjacent alarms (e.g., 2001, power, or drive messages) to reconstruct the chain of events .
– Check whether the PLC is in RUN or STOP and whether a commissioning switch or programming tool action forced STOP; Alarm 2000 is also raised by PLC STOP conditions .
– Verify MD10100 $MN_PLC_CYCLIC_TIMEOUT is reasonable (reference 100 ms) and hasn’t been tightened beyond system capability; record current value for the service report .
– If 2001 is present at cold start, review MD10120 $MN_PLC_RUNNINGUP_TIMEOUT (default ≈ 1 s) to ensure the initial OB1 cycle fits within startup supervision, then power‑cycle to test .
– Analyze PLC ISTACK for STOP causes; if the system is hung in a loop rather than stopped, the ISTACK may be empty—then review time‑critical user code around time‑alarm and interface counter handling .
– Correlate with drive and power alarms (e.g., undervoltage 5V/24V or fan/temperature) that could indirectly cause PLC interruptions or watchdog hits during transients .
### Deep checks in PLC program
Focus on the 10 ms time‑alarm routine and the interface heartbeat logic that increments the counter, ensuring it always executes quickly and unconditionally . Remove or guard any long blocking loops, communication waits, or lengthy diagnostics inside time‑critical OBs that could defer the increment beyond the timeout .
### Parameter and timing considerations
Set MD10100 $MN_PLC_CYCLIC_TIMEOUT to a value that covers worst‑case PLC jitter while retaining a tight safety window; Siemens documentation cites 100 ms as the reference for 828D [1][3]. For startup behavior, ensure MD10120 $MN_PLC_RUNNINGUP_TIMEOUT is long enough for the first PLC cycle on the specific machine to avoid Alarm 2001 “PLC has not started up” and subsequent 2000 escalations during boot .
### Corrective actions
– If PLC is STOP: clear the root cause (commissioning switch, programming tool STOP, or PLC alarm), then transition PLC to RUN and check that the sign‑of‑life resumes; finally power OFF‑ON if required by workflow .
– If code loop or overload: refactor logic to avoid blocking loops, move heavy tasks out of high‑rate time alarms, and ensure the heartbeat increment is executed reliably each 10 ms cycle before other work.
– If parameters too tight: restore MD10100 to recommended baseline (≈100 ms) and validate under load; only relax if justified by measured cycle characteristics and safety review .
– After fixes, cycle power and confirm NC becomes ready, NC start is enabled, and no repeat of 2000/2001 appears in Diagnosis logs .
### Preventive recommendations
Keep PLC timing‑critical routines lean and deterministic, especially the path that updates the NC/PLC interface counter tied to the 10 ms time alarm . During commissioning or option changes, re‑verify MD10100 and MD10120 against measured PLC cycle times and machine behaviors to ensure robust margins in all modes.
### Useful references
Siemens Diagnostics Manuals for 828D detail Alarm 2000 behavior, reactions, and machine data MD10100/MD10120 defaults and usage . Companion references and OEM summaries reiterate that Alarm 2000 reflects missing sign‑of‑life, triggered by PLC STOP, loops, or timing misconfigurations, and typically clears after correcting the cause and cycling power.
