Siemens Alarms 700000 and 700016: PLC Safety PLC-Level Diagnostics
Learn how to configure, diagnose, and resolve Siemens PLC safety alarms 700000 and 700016 on Sinumerik controls using MD14516 and interface bits.
PLC-Level Safety: Diagnosing Siemens Alarms 700000 and 700016
Operating CNC machinery carries inherent physical risks. During initial machine integration or routine maintenance, loose, broken, or improperly grounded wiring at the I/O interface on the back of the PPU can lead to lost signals from physical devices like the turret encoder. When the system loses this encoder signal, it immediately assumes an unsafe state, prompting the PLC to halt the machine because it cannot verify the mechanical position safely. Similarly, if an operator attempts to move the spindle while the chuck is unclamped (managed by the SBR56 subroutine), the PLC forcefully halts the active routine to prevent a catastrophic workpiece ejection or a scrapped part.
To manage these crucial safety interlocks, Siemens Sinumerik controllers utilize a structured block of PLC user alarms. Siemens Alarm 700000 and Alarm 700016 serve as the primary defensive flags for OEM/user-configured PLC safety conditions. By mapping these alarms to the physical interface and setting exact control-level reactions, manufacturers protect both the operator and the mechanical structure from high-speed collisions and hardware damage.
Technical Summary
| Specification Item | Technical Value / Mapping |
|---|---|
| Control Command Addresses | DB1600.DBX0.0 (Alarm 700000), DB1600.DBX2.0 (Alarm 700016) |
| Functional Modality | PLC User Alarms / PLC Safety |
| Critical Configuration Parameters | MD14516 $MN_USER_DATA_PLC_ALARM (Bits 0-7), MD14510[16], MD10100 $MN_PLC_CYCLIC_TIMEOUT |
| HMI Variable Interface | Double-word block range DB1600.DBD1000 to DB1600.DBD1508 |
| Hardware Compatibility Limits | 32,000 LadderSteps on PPU2xx.3 module; up to 100,000 LadderSteps on PPU2xx.4 module |
| Main Constraint / Requirement | Extended PLC user alarms (701000-701999) require compatibility mode deactivated and special data block DB9913 in the PLC project. |
Quick Read: Safety Alarm Core Rules
- Edge-Triggered Activation: Siemens safety alarms 700000 and 700016 are initiated on a strict 0-to-1 signal edge transition on their respective interface bits.
- Parameter-Driven Reactions: Machine reactions such as feed disable, read-in disable, or emergency stops are set directly in the bit-coded
MD14516parameter. - Hardware Capacity Restrictions: Expanding Siemens PLC capabilities to 100,000 LadderSteps requires a physical upgrade from a PPU2xx.3 module to a PPU2xx.4 module.
- Dynamic Data Injection: Real-time numerical data can be dynamically passed into the HMI alarm text using double words spanning from
DB1600.DBD1000toDB1600.DBD1508. - Extended Block Prerequisites: Running extended user alarms in the 701000 to 701999 range demands deactivating compatibility mode and adding
DB9913.
Basic Concepts of Siemens PLC Safety Alarms
Siemens Sinumerik PLC user alarms are generated through direct bit manipulation in the NC/PLC interface data blocks rather than through standard G-code syntax. Each user alarm corresponds to a specific activation bit in the DB1600 data block, allowing the integrated PLC to communicate safety states instantly. For instance, Alarm 700000 is activated by triggering a 0-to-1 edge on the address DB1600.DBX0.0. Alarm 700016 is similarly mapped to the activation address DB1600.DBX2.0.
To provide operators with immediate diagnostic feedback, Siemens includes a 64-bit variable interface utilizing double words ranging from DB1600.DBD1000 to DB1600.DBD1508. This interface allows dynamic numerical data such as decimal (%d), hex (%x), or floating-point (%f) values to be passed directly into HMI alarm texts. This integration eliminates the need for hardcoded status strings and enables the display of exact sensor values or axis positions at the moment of the fault.
Command and Address Structure
The safety alarm structure in Sinumerik controllers relies on mapping hardware inputs to the data block interface. When a physical safety limit is breached—such as a door safety switch opening or a hydraulic pump failing—the PLC ladder logic writes a high signal (logic 1) to the designated interface bit. This edge transition immediately alerts the NC kernel to execute the programmed response.
The physical responses and rules governing these alarms are tightly configured using specific machine data parameters. The system utilizes MD14516 $MN_USER_DATA_PLC_ALARM[x] to define how each individual alarm behaves. By modifying this parameter, maintenance teams can assign selective axis stops, total feed disables, or full emergency halts.
The controller also utilizes MD14510[16] to define turret constraints, specifying the maximum number of tool positions. To ensure that the communication between the NC and PLC remains active, the controller monitors the cyclic sign-of-life timeframe via the MD10100 $MN_PLC_CYCLIC_TIMEOUT parameter, which maintains a standard reference value of 100 ms.
Siemens Machine Data Parameters
| Parameter | Description / Bit-Coded Functions | Value Range / Standard |
|---|---|---|
MD14516 $MN_USER_DATA_PLC_ALARM[x] | Configures alarm responses and cancel criteria (where x is index 0-247). Bit 0 = NC start disabled; Bit 1 = Read-in disable; Bit 2 = Feed disable for all axes; Bit 3 = EMERGENCY STOP; Bit 4 = PLC STOP; Bit 6 = Interrupt with DB1600 DBX3000.0; Bit 7 = Delete at POWER ON. | Bit-coded (Bits 0–7) |
MD14510[16] | Defines the maximum number of tool positions permitted on the machine turret. | 2 to 64 |
MD10100 $MN_PLC_CYCLIC_TIMEOUT | Monitors the cyclic sign-of-life timeframe for NC-PLC synchronization. | Standard: 100 ms |
Brand Applications
Siemens
The practical programming effect of triggering PLC safety alarms like 700000 and 700016 is an immediate, hardware-level interruption of the machining cycle. This interruption is dictated entirely by the bit-coded reactions configured in the MD14516 machine data parameter, meaning a single alarm can be customized to selectively disable the feed, inhibit read-in, or trigger a full emergency stop. When Alarm 700016 initiates because the drives are not ready, it is almost always managed by the SBR33 subroutine which forces an emergency stop, completely paralyzing axis motion to avert a hard collision or massive mechanical failure.
Operators and programmers must constantly watch for environmental and logical conditions that force these safety interlocks. For example, if a turret motor overload occurs, or if an operator attempts to move the spindle while the chuck is unclamped (managed by SBR56), the PLC will forcefully halt the active routine to prevent a catastrophic workpiece ejection or a scrapped part. A highly common failure cause during initial setup and operation is loose, broken, or improperly grounded wiring at the I/O interface on the back of the PPU, which can lead to lost signals from physical devices like the turret encoder. When the system loses this encoder signal, it immediately assumes an unsafe state, prompting the PLC to halt the machine because it cannot verify the mechanical position safely.
For safe use, maintenance personnel must ensure that the user PLC program correctly maps dynamic variables into the alarm text so operators have immediate context. If a tool is not safely locked in the clamp or the safe door is opened during a cycle, the system relies on the pre-programmed bits in DB1600 to drop the NC ready relay and prevent motion.
Version and Series Comparison
Siemens controllers offer varying levels of ladder step capacity and software features depending on the specific hardware series and data block configurations. The table below outlines these technical variations.
| Siemens Variant / Configuration | Ladder Step & Alarm Range Capacity | Data Block & Software Requirements |
|---|---|---|
| Standard PLC User Alarms (700000 to 700999) | Supports up to 1000 unique, OEM-defined user alarms. | Mapped directly through standard DB1600 data block interface bits. No extra software deactivations required. |
| Extended PLC User Alarms (701000 to 701999) | Adds an additional 1000 high-range OEM/user safety alarms. | Requires compatibility mode to be deactivated and the specific data block DB9913 to be incorporated in the PLC project. |
| PPU2xx.3 Hardware Module | PLC capacity is limited to a maximum of 32,000 LadderSteps. | Standard hardware module; suitable for basic to intermediate PLC automation configurations. |
| PPU2xx.4 Hardware Module | Expands memory capacity to support up to 100,000 LadderSteps. | Upgraded physical hardware module; required for complex safety logic and multi-axis configurations. |
Technical Analysis
Siemens heavily distinguishes itself from other control brands through its highly structured, deeply integrated alarm architecture and error reporting. First, Siemens explicitly divides alarms by strict numerical blocks, reserving 400000-499999 for general PLC messages, 500000-599999 for channel-specific PLC alarms, and 700000-709999 entirely for OEM/User-configured PLC alarms, making diagnostic tracing exceptionally systematic. This is a stark departure from other manufacturers who manage logic via complex external PMC structures, where diagnostic tracing can require navigating dense ladder files, such as when troubleshooting PMC Alarms PC030, PC090, and PC097.
Second, Siemens features direct bit-level integration between the NC and PLC interfaces; activating a specific machine response is as precise as configuring a single parameter bit in MD14516 without rewriting complicated background ladder logic. Finally, Siemens allows the unique embedding of dynamic numerical variables via double-word blocks (e.g., passing DB1600.DBD1000 directly into Alarm 700000) directly into the HMI alarm text string. This allows the screen to output real-time decimal or hex data natively alongside the error text, granting operators concrete context regarding the specific axis, clamp, or sensor that faulted.
When diagnostic troubleshooting is underway, distinguishing between standard user alarms and core system faults is critical. While user-mapped bits in DB1600 trigger alarms like 700000, physical safety-loop drops can also be prompted by hardware system events. This differs from catastrophic hardware failures, such as a Siemens 2110 NCK hardware fault, which is generated by a physical NCK processor or card malfunction rather than configurable software logic.
Program Examples
The following part program example demonstrates how to interact with safety limits and program markers on a Siemens controller. The sequence uses G-code commands to coordinate tool operations and trigger safe cycle stops.
; Siemens Sinumerik safety and channel marker coordination example
N10 G90 G00 X100 Z50
N20 ; Trigger user-defined safety door alarm if state is violated
N30 SETAL(65000, "Safety Door Open")
N40 ; Set channel coordination wait marker 1
N50 SETM(1)
N60 G01 X50 F0.2
N70 ; Clear coordination marker 1 after axis movement
N80 CLEARM(1)
N90 ; Delay execution until precise marker states (99) are met on channels 3 and 5
N100 WAITM(99,3,5)
N110 M30
Dry Run Execution and Analysis
During a dry run execution, the control behaves as follows:
- N10: The machine moves the tool to rapid position X100 Z50 in absolute coordinates (G90).
- N30: The control executes the
SETAL(65000, "Safety Door Open")instruction. This command evaluates the safe door status; if the physical door interlock is open, the system immediately suspends execution, displays the specified text on the HMI screen, and acts according to its alarm priority. - N50: The program activates channel coordination marker 1 using
SETM(1). This signal is mapped to the multi-channel interface to communicate the channel's status. - N60: The X-axis executes a controlled feed movement to X50 at 0.2 mm/rev.
- N80: The
CLEARM(1)command is executed to clear the coordination marker, informing other channels that the critical interpolation block is complete. - N100: The machine processes
WAITM(99,3,5), entering a wait state that pauses execution until channel 3 and channel 5 both register marker 99, ensuring safe multi-axis timing.
Error Analysis
The table below displays common Siemens errors, tool-path alarms, and hardware faults that occur when programming or operating Sinumerik safety systems.
| Alarm Code | Trigger Condition | Operator Symptom & Machine Consequence | Root Cause & Practical Resolution |
|---|---|---|---|
| Siemens Alarm 700000 | A 0-to-1 signal edge transition on the data block interface bit DB1600.DBX0.0. | Machine cycle halts immediately; feed disable or emergency stop is engaged based on MD14516[0]. | Triggered by critical machine states such as low hydraulic pressure, safety door opening, or spindle overheat. Inspect physical switches and check fluid levels. |
| Siemens Alarm 700016 | A 0-to-1 signal edge transition on the data block interface bit DB1600.DBX2.0. | Axis motion is paralyzed immediately; full emergency stop is triggered via SBR33: EMG_STOP subroutine. | System detects that drives are not ready. Investigate power supply modules, drive bus connections, and hardware interlocks. |
| Siemens Alarm 700023 | Programmed tool position number exceeds the maximum turret positions set in machine data. | Program execution halts with a turret positioning error; spindle and turret rotation are disabled. | A tool number in the part program exceeds the limit defined in parameter MD14510[16] (value range 2 to 64). Correct the G-code or adjust turret configuration. |
| Siemens Alarm 6409 | Failure to program a tool "T" identifier when a multitool "MTL" location is called. | The control rejects the block, prompts reorganization of the correction block, and halts cycle. | A programming error where an active multitool location is invoked without declaring the specific tool identifier. Check the active tool sequence and add the missing T code. This is a common syntax error similar to other G-code faults like illegal depth rough cut faults. |
Application Note
A critical point of failure in Sinumerik safety loops is the integrity of the physical connection at the back of the operator panel. During initial machine integration or routine maintenance, loose, broken, or improperly grounded wiring at the I/O interface on the back of the PPU can lead to lost signals from devices like the turret encoder. When the system loses this encoder signal, it immediately assumes an unsafe state, prompting the PLC to halt the machine because it cannot verify the mechanical position safely. If an operator attempts to move the spindle while the chuck is unclamped (managed by the SBR56 subroutine), the PLC drops the NC ready relay in DB1600. This immediately interrupts the machining cycle, disabling feed rate override and preventing workpiece ejection or a scrapped part.
Related Command Network
SETAL: Used by the programmer to trigger user-defined cycle alarms in the range of 65000 to 69999 from within the G-code part program.WAITM: Delays program execution in the active channel until a specified synchronization marker is reached by other designated channels.WAITE: Coordinates channel synchronization by waiting for the end of a block or program execution in other channels.WAITMC: Pauses channel movement until the specified marker is reached, while allowing continuous path interpolation to remain active when possible.SETM: Sets a specific multi-channel wait marker in the active channel to coordinate safe interlocks with other independent program streams.CLEARM: Clears an active channel wait marker, signaling to coordinated channels that a safety-critical block has been successfully completed.
Conclusion
Proper configuration of PLC safety alarms is the core defense against catastrophic machine tool crashes. By systematically mapping physical interlocks to the edge-triggered DB1600 interface and tailoring axis deceleration curves via MD14516, maintenance engineers ensure that encoder failures or door breaches trigger controlled stops rather than mechanically destructive collisions.
Frequently Asked Questions (FAQ)
How do you test if MD14516 alarm reactions are functioning correctly without damaging the machine?
Testing should always be performed during a dry run with feedrate override turned down to zero. By forcing a 0-to-1 edge transition on DB1600.DBX0.0 using the PLC status chart, you can safely verify if the control registers the alarm and if the configured bits in MD14516—such as read-in disable or feed disable—prevent axis motion without needing to physically trigger a dangerous machine state.
What is the difference between standard user alarms and extended alarms in Siemens controls?
Standard user alarms span from 700000 to 700999 and are active by default via standard DB1600 mapping. Extended alarms span from 701000 to 701999 and are used for complex systems; they require you to deactivate compatibility mode in the machine parameters and incorporate the specific data block DB9913 into the PLC program structure.
Why does a turret encoder signal failure trigger Alarm 700000 instead of a standard NC alarm?
A turret encoder signal failure is processed first by the PLC I/O logic. When the PLC detects a lost feedback signal or invalid grey-code combinations from the encoder, it triggers a user safety interlock bit in the DB1600 block. This maps the issue directly to Alarm 700000 to inform the operator of the physical device failure before an actual NC axis movement is commanded.
Still not resolved?
Ask our AI assistant about this topic in natural language. Grounded in verified sources, no hallucinations.

- CNC CARE Co-Founder (May 2025 - Present)
- Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
- Reis CNC Service Engineer (2003 - 2005)
- Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)
With over 25 years of experience working in all areas of the CNC machine industry, I continue my activities as a co-founder of CNC CARE, where we offer brand-independent consulting, engineering, and original spare parts services.
Related Articles
Other articles on this topic
Siemens CYCLE800 G-Code: Swivel Planes & Tool Alignment
Master Siemens CYCLE800 for 3+2 axis machining. Learn plane swiveling, tool alignment, parameter setup, and how to troubleshoot Alarm 61190 and 61153.
Siemens CYCLE72 Contour Milling: Guide to Sinumerik Path Milling
Master Siemens CYCLE72 for contour milling on Sinumerik CNC controls. Learn parameter setup, avoid simulation alarm 61123, and prevent machine collisions.
Siemens CYCLE952 Contour Turning Cycle Programming Guide
Master Siemens CYCLE952 contour turning on Sinumerik CNC controls. Learn parameter lists, resolve Alarm 61051, and configure balance cutting.
Siemens SLOT1 and SLOT2 Slot Milling Cycles Programming Guide
Master slot milling on Siemens Sinumerik controls using SLOT1 and SLOT2 cycles. Learn parameter configurations, alarm 61000 prevention, and optimal tool paths.