Alarm Definition and Format
Alarm 27001 on SINUMERIK 840D is reported as:
27001 Axis %1 error in cross-check code %2 values NCK %3 drive %4
Decoded for the reported incident:
- Axis %1 = X1 (the failing axis identifier)
- Cross-check code %2 = 44 (the parameter group whose cross-check failed)
- NCK %3 = 920 (value computed/expected by the NCK side)
- Drive %4 = 5544 (value computed/expected by the SINAMICS drive side)
The alarm is raised by the Safety Integrated (SI) software when the cyclic cross-check between the two-channel safety logic in the NCK and the drive-side safety channel detects a divergence that exceeds the configured tolerance. Because the safety functions (Safe Stop 1 / SS1, Safe Stop 2 / SS2, Safely-Limited Speed / SLS, Safe Operating Stop / SOS, Safe Brake Control / SBC) are executed redundantly in NCK and drive, the controller is not allowed to continue until the two views of the world agree.
Root Cause of Cross-Check Code 44
Cross-check code 44 falls within the family of position/sensor-data cross-check IDs. Code 44 indicates that the safe actual position values derived independently by NCK and drive from the same encoder do not agree. The two raw operands seen by the safety software are:
| Side | Value | Interpretation |
|---|---|---|
| NCK | 920 | NCK-evaluated safe position increment (raw counts modulo the safe encoder resolution) |
| Drive | 5544 | Drive-evaluated safe position increment for the same scan cycle |
A difference of 4624 increments is far outside any tolerance window. Typical root-cause families are:
- Lost NCK safety data after buffer failure. The 840D retains SI-relevant machine data in SRAM backed by a buffer battery. When the battery discharges, NCK-side SI machine data, drive parameter setpoints stored in the NC, and the safe position reference can be lost. The drive-side non-volatile mirror may still hold the last commissioned values.
- Mechanical movement with the controller de-energized. If the axis was physically moved (by hand, by service, or by an external drive) while the encoder lost its supply or its buffered reference, the absolute position reference drifts. When power returns, the drive reads its current encoder counts, while the NCK still holds the last-known frame, producing a wide delta.
- Inconsistent SAFE_ENC_* parameter pairs. If SAFE_ENC_RESOL, SAFE_ENC_GEAR_PITCH, SAFE_ENC_GEAR_DENOM, or SAFE_ENC_GEAR_NUMERA were edited on one side only (NCK without drive reload, or vice versa), the safety software applies different scaling and the cross-check fails.
- Drive replacement / project load mismatch. After loading a drive archive that does not match the NCK archive, the safety parameter image diverges.
840D Powerline vs. Solution Line Behaviour
The failure mode differs slightly between the two hardware generations:
| Aspect | 840D Powerline (PL) | 840D Solution Line (SL) |
|---|---|---|
| HMI entry to SI data | Startup → NC → Safety → Axis Data (vertical softkey tree on classic HMI) | Startup → Commissioning → Safety → Axis Data (operator panel tree on sinuTrain / PCU) |
| SI Service screen | Diagnostics → SI Service (softkey on PL Drives area) | Diagnostics → SI Service (also reachable via the alarms application → softkey SI) |
| Drives load behavior | Drives parameter setpoints are written into the NC archive; restoring NC archive alone normally re-aligns NCK and drive SI data | Drive SI parameters live on the drive CF card; an explicit drive load (Startup → Drives) may be required to re-synchronize |
| Password level for SI | Manufacturer or Service-level safety password required | Manufacturer-level safety password required; Service-level allows limited inspection only |
| Cross-check granularity | Coarser grouping of safety MDs | Finer separation; more granular cross-check code numbers |
For the case at hand, the user explicitly identified the controller as Powerline. The article therefore emphasizes the PL procedure; a parallel SL procedure is shown where it differs.
SI Service Screen and Password Levels
The SI Service screen is the single diagnostic surface that shows which parameter is failing the cross-check and what the two values are. It is reached via:
- HMI softkey Diagnostics.
- Vertical softkey SI Service (PL) or SI (SL).
Inside SI Service you will see, for each axis:
- Current cross-check status (OK / mismatch)
- The failing parameter identifier (the same code that appears as
code 44in alarm 27001) - The NCK value and the drive value, side by side
- Softkey to Copy drive data → NCK and vice versa
Access is gated by the safety password hierarchy:
| Level | Password (Siemens default / typical) | Allows |
|---|---|---|
| Manufacturer | SUNRISE (Siemens service) | Full SI commissioning, MD changes, copy operations |
| Service | CUSTOMER (set during installation) | SI MD edits within customer scope; cross-check reset; SI Service viewing |
| User | USER (operator) | No SI MD edits; only safe acknowledgment |
Safety-Relevant Parameter Set (Axis-Level)
The cross-check code 44 failure sits inside the encoder/sensor parameter group. The full family that must be verified is:
| Parameter | Meaning | Typical range / example |
|---|---|---|
| SAFE_ENC_RESOL | Safe encoder resolution in increments per revolution | 2048, 4096, 8192, 67108864 (SINCOS) |
| SAFE_ENC_GEAR_NUMERA | Load-side gear numerator (motor revolutions) | 1 |
| SAFE_ENC_GEAR_DENOM | Load-side gear denominator (load revolutions) | 1 |
| SAFE_ENC_GEAR_PITCH | Lead screw pitch / linear factor in mm or ° | 10.000 (mm/rev) |
| SAFE_ENC_IS_LINEAR | Linear encoder flag | 0 = rotary, 1 = linear |
| SAFE_ENC_MOD_TYPE | Modulo type for rotary axes | 0 = off, 1 = 360° |
| SAFE_ENC_INC_REV | Increments per revolution (rotary encoders) | 2048 ... |
| SAFE_POS_TOL | Cross-check tolerance for position (increments) | site-specific, default typically a few counts |
The values seen by NCK and drive must be identical to the bit. If the battery discharged, NCK defaults may be loaded; the drive retains the last commissioned values from non-volatile storage. The mismatch is therefore a data integrity problem, not a hardware problem in 90 % of post-battery failures.
Determining Whether Position Has Drifted
Before changing any safety parameter, confirm whether the absolute reference has actually shifted. Procedure:
- Bring the axis to a known mechanical reference (e.g., reference end of stroke, calibrated gauge block, or the marked home position).
- Read the current actual position in the NCK via the Axis display:
Actual position (machine) = $AA_IM[X1]. - Read the drive-side actual position via the SI Service screen or, on SL, via
r0479[0]in the drive trace. - Compare the two modulo the configured SAFE_ENC_RESOL.
If the two values differ by a multiple of the safe encoder resolution, the position was mechanically moved during power-off and the NCK reference must be re-referenced before the safety functions are commissioned.
Step-by-Step Recovery Procedure (840D Powerline)
- Establish safe state. Confirm STOP A is active; the drive must be in STO. No movement commands must be issued during the procedure.
- Open SI Service. HMI → Diagnostics → SI Service. Verify that code 44 is the failing cross-check identifier and that NCK and drive values match the alarm (920 vs 5544).
- Log the current drive values. Screenshot or printout of the SI Service screen for each axis. This becomes the known-good baseline.
- Re-load NC archive. Insert the latest commissioning NC archive and start up. On PL, this restores the NCK-side SI machine data and the drive parameter setpoints in one operation.
- Trigger the drive parameter reload on SL only. If the controller is SL, additionally perform Startup → Drives → Load to push the NCK SI image down to the SINAMICS drive.
-
Compare SAFE_ENC_* parameters. Under Startup → NC → Safety → Axis Data, confirm each SAFE_ENC_* value matches the drive-side SI Service readout. Pay particular attention to:
SAFE_ENC_RESOL (NCK) == (Drive) SAFE_ENC_GEAR_PITCH (NCK) == (Drive) SAFE_ENC_GEAR_DENOM (NCK) == (Drive) SAFE_ENC_GEAR_NUMERA (NCK) == (Drive)
- Use the SI Service Copy drive → NCK function only after confirming the drive values are correct. Do not copy NCK → drive unless the NC archive is the authoritative source.
- Re-reference the axis. Drive the axis to a known mechanical reference and perform Reference point approach with the standard NC reference routine. For absolute encoders, the safe position is re-derived from the absolute reference.
- Run the SI acceptance test. Mandatory after any safety data change. See the verification section below.
- Safe acknowledgment. Clear the alarm with the standard safe-acknowledge sequence: select the alarm → press the SI Acknowledge softkey (PL: Diagnostics → SI Service → Acknowledge; SL: same path). Operator-level password is sufficient for this step.
Re-Commissioning When the NC Archive Is Missing
If no NC archive exists (battery dead and no backup), the safe encoder parameters must be re-entered manually. For X1 on a typical 840D PL:
- Identify the encoder part number and read SAFE_ENC_RESOL from the encoder data sheet (e.g.,
2048for a typical Heidenhain ERN 1387). - Compute gear ratio from the mechanical drawing:
SAFE_ENC_GEAR_NUMERA / SAFE_ENC_GEAR_DENOM = motor_rev / load_rev. - Measure the lead screw pitch:
SAFE_ENC_GEAR_PITCH = lead [mm/rev]. - Enter all values under Startup → NC → Safety → Axis Data at Service-level password.
- Push to the drive via the SI Service softkey on PL, or via Startup → Drives → SI → Copy on SL.
- Save the new NC archive immediately.
Verification and Acceptance Test
After the fix, run an SI acceptance test before returning the machine to production:
- Cross-check idle. Power up; observe SI Service screen for all axes. Every cross-check code must report OK with no alarm pending.
- Safe Stop 1 (SS1) test. Command SS1 via the test input (PL: Diagnostics → Safety → Test stops; SL: Commissioning → Safety → Test). Verify drive decelerates along the configured OFF3 ramp and STO engages at the configured delay.
- Safe Operating Stop (SOS) test. With axis stationary and SOS active, attempt to push the axis by hand → drive must resist within the SOS window (default ±0.5 mm).
- Safely-Limited Speed (SLS) test. Override the feedrate; the drive must clamp at the configured SLS limit and trigger STOP A on violation.
- Safe acknowledgment. Verify that the operator-level acknowledgment clears the alarm and that a second fault requires a full re-test, not just a re-acknowledge.
- Document and archive. Save the SI acceptance protocol as PDF, attach to the machine log book, and update the safety parameter list in the machine documentation.
Functional tests alone are not sufficient. The acceptance test is a regulatory requirement under Siemens SINUMERIK Safety Integrated and is auditable per EN ISO 13849-1 PL d / SIL 2 expectations.
Related Alarms and Cross-Reference
| Alarm | Meaning | Relation to 27001/44 |
|---|---|---|
| 27000 | Axis %1 stop category %2 cross-check error | Parent alarm; 27001 is the parameter-level instance |
| 27001 | Axis %1 cross-check code %2 NCK %3 drive %4 | Subject of this article |
| 27002 | Axis %1 cross-check failed - STOP F | STOP F triggered by persistent cross-check failure |
| 27003 | Axis %1 calibration difference NCK %2 drive %3 | Often co-occurs; same root cause (mechanical drift) |
| 27004 | Axis %1 stop category %2 SI error | Fatal SI error requiring full re-commissioning |
| 27005 | Axis %1 PROFIsafe telegram failure | Communication-level SI fault; distinct from code 44 |
| F01611 | SINAMICS SI defect; channel mismatch | Drive-side equivalent of cross-check failure |
| F30611 | SINAMICS SI defect functional | Drive-side functional SI fault |
Codes 27001 / 27002 / 27003 often appear together after a battery event. Treat them as a single recovery package, not as three independent issues.
Preventive Measures
- Replace the buffer battery on the NCU and the SINAMICS Control Unit at the manufacturer interval (typically 3 years for NCU, 5 years for SINAMICS CU) and log the swap in the maintenance schedule.
- Maintain a current commissioning archive and a separate SI parameter archive. The SI archive must include the SAFE_ENC_* block explicitly.
- Add an inspection step to lock out any external mechanical motion (axes left free to rotate on decoupled gearboxes) during extended shutdown.
- For machines shipped without absolute encoders, document the manual reference procedure as part of every cold-start.
What does the value pair (920 vs 5544) in 27001 code 44 represent?
The two numbers are the raw safe-position increments computed independently by the NCK side (920) and the SINAMICS drive side (5544) for the same scan. Cross-check code 44 belongs to the position/sensor parameter group. A delta of 4624 counts is far beyond any tolerance and confirms a real safety data divergence, typically caused by NCK-side SI data loss or mechanical drift during a power-off window.
Do I have to clear the alarm with the safety password or with the standard NC password?
Alarms 2700x are cleared via the SI Service safe-acknowledge softkey. The acknowledgment itself requires only the operator-level password. However, any editing of the SAFE_ENC_* parameters or any use of the Copy drive → NCK function requires the Service-level safety password (PL) or the Manufacturer-level safety password (SL).
If my machine is 840D Powerline and not Solution Line, where do I find the safety data?
On 840D PL navigate to Startup → NC → Safety → Axis Data. The SAFE_ENC_RESOL, SAFE_ENC_GEAR_PITCH, SAFE_ENC_GEAR_DENOM, and SAFE_ENC_GEAR_NUMERA fields live under that tree. The SI Service diagnostic screen is reached via Diagnostics → SI Service.
Will loading a fresh NC archive automatically fix cross-check code 44?
Yes in the typical post-battery case: an NC archive contains the SAFE_ENC_* values, and on 840D Powerline the NC restore also writes the SI parameter image into the SINAMICS drive. On 840D Solution Line you may need to additionally perform Startup → Drives → Load to push the safety parameters to the drive.
Can I simply increase SAFE_POS_TOL to suppress alarm 27001 code 44?
No. Relaxing the tolerance to hide a real position divergence defeats the safety function and violates the SI commissioning contract. The tolerance must remain small enough to detect an actual fault within the required response time; the divergence must be corrected at its root (battery backup, encoder parameters, reference procedure).