1. Problem Definition: Alarm 510115 "Reference Points Not Executed"
SINUMERIK 840D operator panels raise NCK alarm 510115 ("Reference points not executed") the moment an NC START, M/A part-program selection, or referencing-dependent cycle is requested while at least one machine axis still reports the un-referenced state. The alarm belongs to the 5xxxxx NCK group and acts as a controller-wide interlock. It does not by itself identify which physical axis failed; it only confirms that one or more axes returned an axis-level alarm during their reference-point-approach sequence. Clearing the alarm requires either completing the reference-point approach for every axis in the affected channel, or confirming via machine data that the controller is permitted to start without a referenced state.
2. Alarm Architecture and Cascading
The SINUMERIK 840D raises alarms in a strict hierarchy. Understanding which level is reporting is essential because the operator clears them in a specific order. The block range identifies the source and dictates the right acknowledgement path.
| Alarm Range | Source | Purpose | Clear Method |
|---|---|---|---|
| 0xxxxx | PLC | PLC-side diagnostics, mostly from the S7 program | PLC acknowledgement / Reset |
| 2xxxxx | Axis / Spindle | Per-axis alarms raised by NCK for each individual machine axis | Cancel key or axis-specific clear |
| 4xxxxx | HMI | Operator interface messages | Acknowledge on HMI |
| 5xxxxx | NCK general | Channel / NCK group alarms covering multiple axes | Resolve underlying cause; clear cascaded axis alarms first |
| 6xxxxx | Drive (SINAMICS) | Drive-side faults | Acknowledge on drive / drive fault reset |
| 7xxxxx / 8xxxxx | NC / HMI system | System-internal | NC RESET or power cycle |
Alarm 510115 is a 5xxxxx NCK alarm. It is the cascading alarm that follows from a 2xxxxx axis-level alarm such as 20005 ("AXIS X1 reference point approach aborted"). Resolving 510115 is therefore a two-step process: identify the underlying axis alarm in the alarm history, fix that root cause, then clear 510115 by acknowledging the channel.
3. Pre-Check: Operating Mode, Channel State and Enable Signals
Before touching any machine data, confirm that the basic control conditions are present. Reference-point approach can only succeed if the following are true at the time the operator commands motion:
- The control is in JOG mode (REF mode on older SINUMERIK versions). In AUTO or MDA the controller will not accept the manual reference-point command.
- The correct channel (CH1 / CH2) is active. On dual-channel machines verify that the alarm belongs to the channel that will run the part program.
- The axis to be referenced has been selected with the AXIS key. Press
AXISthenX(or the axis identifier) on the operator panel. - The measuring system is correct. With absolute encoders the system is referenced automatically after power-on; if the encoder is incremental, manual referencing is mandatory.
- Feed override and rapid-traverse override are both above 0%. With rapid-traverse override 0% the axis will not move during the cam-search stage.
- The drive enable chain is closed. Verify PLC interface signal DB31, ... DBX2.1 ("Controller enable") and DB31, ... DBX2.2 ("Pulse enable").
- The drive reports no error state. Open the SINAMICS diagnostics view and confirm the absence of Fxxxxx drive faults.
- No axis collision, hardware limit switch, or mechanical block is preventing motion.
4. Reference-Point Approach Sequence
The reference-point approach in the SINUMERIK 840D executes a deterministic four-stage sequence. Each stage has its own machine data, signal expectations and failure mode. Reviewing the sequence clarifies exactly which stage fails when an axis-level alarm appears.
- Stage 1 - Cam search: The axis moves in the configured reference direction at the velocity defined by MD34020 $MA_REFP_VELO_SEARCH_CAM. The NCK expects to see DB31, ... DBX12.7 ("Reference-point approach deceleration") flip to TRUE from the cam switch. If the signal does not appear within MD34030 $MA_REFP_MAX_CAM_DIST millimetres, alarm 20002 is raised.
- Stage 2 - Cam exit / marker search: Once the cam is reached, the NCK continues moving at the reduced velocity MD34040 $MA_REFP_VELO_SEARCH_MARKER and waits for the encoder zero mark. The maximum travel from cam arrival to zero mark is MD34050 $MA_REFP_MAX_MARKER_DIST. Exceeding it produces alarm 20003 (zero marker missing).
- Stage 3 - Stop on marker and shift: On a valid zero mark the axis stops. The shift MD34070 $MA_REFP_POS_SHIFT and the movement distance MD34080 $MA_REFP_MOVE_DIST position the axis precisely at the reference point. Failure to complete this stage raises alarm 20004 (plausibility error).
- Stage 4 - Set position: The axis position is set to MD34100 $MA_REFP_SET_POS. DB31, ... DBX60.4 becomes TRUE. Alarm 510115 is cleared once all axes required by MD11350 are referenced.
Alarm 20005 ("AXIS X1 reference point approach aborted") is raised when the operator cancels the movement, the controller enable is removed during the sequence, or a STOP condition interrupts the approach. It does not necessarily indicate a hardware fault; it indicates that the sequence did not finish. The velocity profile is summarised below:
5. Hardware Diagnosis: Reference Cam, Encoder and Mechanics
When the reference-point approach keeps failing on the same physical axis, treat the alarm as a hardware problem until proven otherwise. Walk through the signal chain from sensor to NCK.
5.1 Reference Cam
- Inspect the proximity switch for damage, oil contamination, loose connector, and correct mounting. The flag must fully enter the sensing face with at least 1 mm overlap on each side.
- Measure the 24 V signal at the PLC input when the cam flag is inside the switch. A high signal must appear on DB31, ... DBX12.7 within the HMI diagnostics (Diagnosis > Service axis > DB31 / DB61).
- Check MD34000 $MA_REFP_CAM_IS_ACTIVE: it must be 1 when a cam is used. Setting it to 0 forces a "no cam" sequence (only valid if the axis is referenced with a different method).
- Verify the cam flag length. If the flag is too short and the axis passes the cam between two position-controller cycles, the signal may be missed. Increase the flag length or reduce MD34020.
5.2 Encoder and Zero Mark
- Open the SINAMICS drive trace and capture the encoder zero mark while manually moving the axis slowly across the reference position. Confirm a single pulse per spindle revolution (rotary) or per grid (linear scale).
- For absolute encoders, check the encoder status. If the absolute value has been lost (DRIVE-CLiQ interruption, low battery on battery-backed encoders), the system can fall back to the "encoder not referenced" state.
- Check MD34200 $MA_ENC_REFP_MODE for the active measuring system. Setting 0 = with cam (default), 1 = without cam (only with distance-coded reference marks), 2 / 3 = alternative modes.
- Check the encoder cable for shield connection, kinks, and correct pin-out. DRIVE-CLiQ cables must be locked; a partially-mated cable produces intermittent encoder errors.
5.3 Mechanics and Drive
- Confirm that the axis can be moved freely with the hand wheel or jog keys in the negative direction (away from the reference cam). If the axis will not move, the controller enable chain is open or the axis is on a hardware limit.
- Check the actual position lag in the service axis screen. Excessive lag during acceleration indicates mechanical binding.
- Read the SINAMICS alarm buffer. Drive faults such as F07900 (motor blocked) or F31110 (encoder communication error) take precedence over NCK-level alarms and must be cleared first.
6. Machine Data Configuration
If the reference-point sequence completes on the operator panel but alarm 510115 re-appears on the next NC START, the issue is almost always machine data. The 840D has several machine-data parameters that govern referencing and the interlock with NC START. Use the table below as the canonical checklist during commissioning.
| Machine Data | Designator | Default | Purpose |
|---|---|---|---|
| MD11350 $MN_REFP_SYNC_START_MASK | Referencing interlock mask | 0 | Bit-mask of axes that must be referenced before NC START is allowed. A non-zero value is mandatory to make 510115 a hard interlock. |
| MD20700 $MC_REFP_NC_START_LOCK | NC START lock | 1 | 0 = NC START allowed without referenced axes; 1 = blocked. If this has been changed to 0 by mistake, 510115 will not be triggered even though the axes are un-referenced. |
| MD34102 $MA_REFP_SYNC_START | Synchronous start | 0 | 1 = wait for "all axes referenced" before next motion. Used for synchronous machining. |
| MD34200 $MA_ENC_REFP_MODE | Referencing mode | 0 | 0 = with cam; 1 = without cam; 2 / 3 = distance-coded. |
| MD34010 $MA_REFP_CAM_MARKER_DIST | Cam-to-marker distance | 0 | Distance between cam and the first valid zero mark. Used to check plausibility. |
| MD34020 $MA_REFP_VELO_SEARCH_CAM | Cam search velocity | 5000 mm/min | Rapid-traverse velocity for the cam-search stage. |
| MD34030 $MA_REFP_MAX_CAM_DIST | Maximum cam distance | 10000 mm | If the cam is not found within this distance, alarm 20002 is raised. |
| MD34040 $MA_REFP_VELO_SEARCH_MARKER | Marker search velocity | 300 mm/min | Reduced velocity for zero-mark search. |
| MD34050 $MA_REFP_MAX_MARKER_DIST | Maximum marker distance | 20 mm | If the marker is not detected within this distance after cam exit, alarm 20003 is raised. |
| MD34060 $MA_REFP_MOVE_DIST | Pre-zero movement | 0 mm | Optional travel before the actual reference position. |
| MD34070 $MA_REFP_POS_SHIFT | Reference-point shift | 0 mm | Mechanical offset applied to the zero mark. |
| MD34080 $MA_REFP_MOVE_DIST_CORR | Movement correction | 0 mm | Signed correction of the shift. |
| MD34100 $MA_REFP_SET_POS | Reference position value | 0 mm | Display value shown after the reference-point approach. |
| MD34110 $MA_REFP_CYCLE_NR | Cycle number | 1 | Number of the referencing cycle (1 = standard; 2 = passive; 3 / 4 = reserved). |
| MD34210 $MA_ENC_REFP_STATE | Referencing state | 0 | Display parameter; 0 = not referenced, 1 = referenced, 2 / 3 = absolute-encoder states. |
| MD30200 $MA_NUM_ENCS | Number of encoders | 1 | 2 enables encoder selection. If wrong, the system references the wrong channel. |
| MD36400 $MA_CONTOUR_TOL | Contour tolerance | 1.0 mm | Following-error tolerance during motion. Too small a value aborts the approach with 20005. |
6.1 Interpreting the Most Common Offender: MD20700 and MD11350
For alarm 510115 to act as an NC START interlock, MD20700 must be 1 AND the axis in question must be present in MD11350's bit mask. The typical configuration is:
MD11350 $MN_REFP_SYNC_START_MASK = 0x0F ; Axis 1-4 must be referenced
MD20700 $MC_REFP_NC_START_LOCK = 1 ; Block NC START
If MD11350 is 0 the system will not block NC START at all, regardless of the reference state. Some machines intentionally configure MD11350 to exclude non-critical axes (e.g., a tailstock that is always parked). Verify the mask matches the actual machine layout before commissioning. For each bit position (axis 1 = bit 0, axis 2 = bit 1, ... axis 32 = bit 31), a 1 forces the referencing requirement, a 0 disables it for that axis.
7. PLC Interface Verification
The PLC bridges the field wiring to the NCK. Each machine axis has its own DB31 - DB61 interface block with the following relevant signals.
| DB Slot | Bit | Signal | Direction | Purpose |
|---|---|---|---|---|
| DB31 - DB61 | DBX12.7 | Reference-point approach deceleration | PLC -> NCK | From the reference cam. Indicates that the cam flag is inside the sensor. |
| DB31 - DB61 | DBX12.6 | Reference-point switch (alternative) | PLC -> NCK | Alternative cam signal for distance-coded referencing. |
| DB31 - DB61 | DBX60.4 | Referenced / synchronized | NCK -> PLC | TRUE when the axis is referenced. Use this to confirm post-approach state. |
| DB31 - DB61 | DBX60.5 | Position restored (absolute encoders) | NCK -> PLC | TRUE when an absolute encoder value has been restored from the backup. |
| DB31 - DB61 | DBX1.4 | Drive ready | NCK -> PLC | TRUE when the drive reports ready for motion. |
| DB31 - DB61 | DBX2.1 | Controller enable | PLC -> NCK | TRUE to enable closed-loop control. Drops during referencing failures. |
| DB31 - DB61 | DBX2.2 | Pulse enable | PLC -> NCK | TRUE to enable drive pulses. |
| DB31 - DB61 | DBX21.7 | Pulse enable (drive -> PLC) | Drive -> PLC | Status feedback from the drive. |
| DB31 - DB61 | DBX21.0 | Drive enable (drive -> PLC) | Drive -> PLC | Status feedback from the drive. |
7.1 PLC Ladder Snippet for a Reference Cam
The classic two-cam implementation uses the cam signal to drive both the NCK interface bit and a status bit the operator panel can read. The following example (STEP 7 / TIA Portal ladder representation) is a field-proven pattern:
Network 1: Reference-cam signal conditioning (axis X1)
I 100.0 // Raw proximity-switch input, axis X1
---| |---. .---------------( Q DB31.DBX12.7 )---.
M 50.0 // Debounce (one-shot from cyclic OB)
I 100.1 // Hardware limit-switch inverted
---|/|---+
(Q M 50.1 // "Cam_active" operator feedback)
If the operator sees the cam flag pass the switch on the diagnosis screen without DBX12.7 toggling, the PLC logic - not the switch - is the failure point. Always check the coil of DBX12.7 with the PLC monitor before condemning the field device.
8. Axis Alarm 20005 Specific Diagnosis
Alarm 20005 ("AXIS X1 reference point approach aborted") is the immediate parent of 510115 in the typical "stuck-on" case. The alarm is raised when the reference-point approach is interrupted before the sequence completes. The interruption can come from the HMI, the PLC, or the NCK itself.
| Trigger | Mechanism | Verification |
|---|---|---|
| Operator pressed CANCEL or RESET | HMI sends a halt to NCK | Ask the operator; check alarm log timestamps. |
| NCK detected a position-control error during motion | Following-error exceeded tolerance | Check MD36400 $MA_CONTOUR_TOL, drive trace for following-error spikes. |
| Controller enable was removed mid-sequence | PLC or EMERGENCY STOP circuit | Check DBX2.1 and the safety relay chain. |
| Drive reported a fault during the approach | SINAMICS alarm | Open drive diagnostics and clear Fxxxxx faults first. |
| The reference cam signal flickered | Mechanical switch bounce, contamination | Watch DBX12.7 with the diagnostic trace while jogging slowly through the cam. |
| Encoder zero mark missing | Encoder, cable, MD34200 wrong | Trigger the drive trace on the zero-mark signal. |
| Axis collided with a hardware limit | Limit switch opened the enable chain | Check the hardware-limit indicator on the HMI. |
| Rapid override at 0% | Operator pulled the override knob to 0 | Check the rapid-override rotary position. |
The user's report ("I tried to get the reference point of the X axis again but the error still appears") is a strong indicator of either a transient hardware condition that returns under motion (cam, encoder) or a configuration error (MD34200, MD11350). It is rarely an operator error and should be treated as a root-cause investigation rather than a re-try loop.
9. Step-by-Step Recovery Procedure
- Switch to JOG mode on the SINUMERIK Operate panel. Verify the active mode badge in the status line.
- Select the axis reported in the underlying axis alarm (e.g.
Xfor X1). Confirm with AXIS + axis letter. - Open the Diagnosis > Alarm Log and read the underlying 2xxxxx alarm. Do not clear 510115 until the 2xxxxx alarm is resolved.
- Open the Service axis screen. Note DBX12.7 (cam), DBX60.4 (referenced), and the actual position.
- Press the reference-point-direction key (typically + for axis with reference at + end, - for - end). Watch the axis move toward the cam.
- If the axis moves but the cam signal never appears (DBX12.7 stays FALSE), inspect the cam hardware and PLC program.
- If the cam signal appears and the axis decelerates but the zero mark is not detected, capture a SINAMICS trace of the encoder signals. Check MD34050.
- If the sequence completes, DBX60.4 becomes TRUE and the actual position reads MD34100. Repeat for every axis in MD11350.
- Once all axes report DBX60.4 = TRUE, clear the alarm buffer with CANCEL. Press NC START to confirm 510115 does not return.
- If 510115 persists with no axis alarm, check MD20700 and MD11350 (see §6.1).
- If the alarm still persists, perform an NCK restart:
MENU SELECT > Commissioning > NCK > Reset (po)to reload machine data and clear residual state.
10. Verification and Functional Test
After resolving the alarm, run the following functional test before handing the machine back to production:
- Power-cycle the control. The alarm must NOT re-appear on power-on if the encoder is incremental (a manual re-reference is expected and is not a fault).
- Move every axis in JOG away from the reference cam, then re-reference. Confirm DBX60.4 becomes TRUE on each axis.
- Execute a part-program containing all axes (e.g., a test program with rapid linear moves in all directions). The NC START must succeed without alarm 510115.
- Repeat the referencing 10 times in succession. A flaky cam or encoder will produce intermittent failures within those 10 cycles.
- Open the SINAMICS diagnostics and confirm no Fxxxxx faults have been logged during the test.
- Check the saved service snapshot. On SINUMERIK Operate use
Diagnosis > Service display > Saveto archive the parameter snapshot before returning the machine to production. - Compare the MD11350 bit mask against the axis list in the commissioning report. A wrong mask re-introduces the interlock on the wrong axes.
11. Related Alarms and Escalation
The 510115 group alarm can mask several axis-level alarms. The following table maps the most common siblings and what they indicate. When escalating, capture the alarm log with timestamps, the active SINAMICS trace at the moment of the failure, the service-axis DB31 - DB61 image, and the current MD values for the affected axis.
| Alarm | Meaning | Likely Root Cause |
|---|---|---|
| 20000 | Axis X1 timeout on reference-point approach | Reference cam distance MD34030 too short. |
| 20001 | No reference cam present | MD34000 = 0 but a cam is wired, or MD34000 = 1 but no cam. |
| 20002 | Reference cam not reached | Axis started on wrong side of cam, or MD34030 too short. |
| 20003 | Encoder zero marker missing | Encoder, cable, MD34050 too short. |
| 20004 | Plausibility error | Cam-to-marker distance MD34010 wrong; encoder count wrong. |
| 20005 | Approach aborted | Reset, EMERGENCY STOP, controller enable removed. |
| 20006 | No zero marker within MD34050 | Distance too short for the actual mechanics. |
| 20070 | Axis must be referenced (NCK internal) | MD20700 = 1, axis not referenced. |
| 21612 | Enable reset during motion | Controller enable dropped during approach. |
| 27000 | Axis X1 not referenced | Top-level "not referenced" alarm in 2xxxxx family. |
| F07900 (SINAMICS) | Motor blocked | Mechanical jam, drive sizing issue. |
| F31110 / F31111 / F31112 (SINAMICS) | Encoder signal error | Encoder cable, shielding, encoder hardware. |
Refer to the official Siemens Industry Online Support portal and the SINUMERIK 840D sl Alarms Documentation for the complete alarm list and parameter definitions. The SINUMERIK 840D sl product page provides access to commissioning manuals, function manuals (Axes and Spindles), and parameter manuals.
12. Prevention and Recurrence Mitigation
- Periodically clean the reference-cam proximity switches. Oil mist and chips are the most common field cause of intermittent referencing failures on turning and milling centres.
- Tighten the DRIVE-CLiQ connectors on motors and absolute encoders to the specified torque during scheduled maintenance. Vibrations from milling and turning operations loosen them over time.
- Replace the backup batteries of absolute encoders during scheduled maintenance windows. Low-battery conditions can prevent the absolute value from being restored, sending the axis back to the un-referenced state and triggering 510115 on the next NC START.
- Document MD11350 in the machine commissioning report. A wrong mask is one of the most common commissioning errors after a retrofit.
- Save the machine-data snapshot after each commissioning to allow fast rollback if an MD is later found to be incorrect.
- Train operators to differentiate a transient 510115 (one axis, easy fix) from a chronic 510115 (multiple axes, machine-data or PLC fault).
- Enable the SINAMICS trace recorder on the encoder signals of axes that reference infrequently. The trace will reveal encoder zero-mark degradation weeks before it triggers an alarm.
- On retrofit or controller-replacement projects, validate MD34200 against the connected encoder type before the first referencing attempt. A wrong mode silently fails with 20004 instead of 20003.
Frequently Asked Questions
Why does alarm 510115 persist after I re-reference the X axis?
Alarm 510115 is a channel-level alarm that clears automatically only after every axis listed in MD11350 $MN_REFP_SYNC_START_MASK has DB31/DB61.DBX60.4 = TRUE. If another axis (Y, Z, B, ...) still has DBX60.4 = FALSE, 510115 will remain even when X1 reports referenced. Verify the mask against the actual axis list of your machine.
What is the relationship between alarms 510115 and 20005?
510115 is the cascading NCK-level alarm produced by the un-referenced state. 20005 ("AXIS X1 reference point approach aborted") is the axis-level alarm that produced that state. Clear the underlying axis alarm (or all of them, if multiple) and 510115 will disappear on the next alarm-clear or NC RESET.
Which machine data controls whether NC START requires the axes to be referenced?
MD20700 $MC_REFP_NC_START_LOCK = 1 enables the interlock. MD11350 $MN_REFP_SYNC_START_MASK defines which axes participate. Both must be set correctly for the interlock to behave as expected; a common commissioning mistake is leaving MD11350 at the default 0, which disables the interlock even with MD20700 = 1.
Can I temporarily bypass alarm 510115 to run a part program?
Setting MD20700 = 0 disables the NC START lock, allowing the program to run on un-referenced axes. This is unsafe on most machines because the absolute position of each axis is unknown; absolute moves and tool offsets will be wrong. Use this only on machine tools where the axes use absolute encoders with a restored position, and restore MD20700 = 1 before returning to production.
How do I identify which axis is failing without clearing the alarms?
Open Diagnosis > Alarm Log. The 5xxxxx alarm 510115 is shown together with the 2xxxxx axis alarms that triggered it. On SINUMERIK Operate the alarm detail window lists the affected axis in plain text. You can also inspect DB31.DBX60.4 for each axis in the service-axis screen; the axis with DBX60.4 = FALSE is the failing one. MD34210 $MA_ENC_REFP_STATE = 0 confirms the un-referenced state for the axis.