Adding a New Axis to Siemens Sinumerik 840D NCU 572.5 CNC

David Krause17 min read
Motion ControlSiemensTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

1. Overview: Why a New Axis Is Not a Plug-and-Play Operation

The Siemens SINUMERIK 840D sl with NCU 572.5 is a modular CNC platform where adding a spindle, a linear axis, a rotary table, or a tool changer axis means modifying four tightly coupled domains simultaneously:

  1. Hardware – drive bus topology, SINAMICS power modules, motor modules, motors, encoders, NX expansion module (if the basic line module is at capacity), and the 24 V / 600 V DC link distribution.
  2. Drive configuration – STARTER / SIMOTION SCOUT or the integrated Setup & Commissioning inside HMI, with PROFIdrive telegrams and PROFIsafe slot allocation.
  3. NCK machine data (MD) – channel/axis MDs (MD20050, MD20060, MD20070, MD30130, MD30350, MD31020, MD32000…MD32990, MD38000…MD38600) plus the drives-DB generated from the drive configuration.
  4. PLC program – PLC 317-2DP that lives inside the NCU, with axis interface DB31/DB32 (and DBnn for further axes), FC18, FC19, FC24, FC25, FC26 axis-handling blocks, plus the safety logic (SPL) and HMI softkey / MCP wiring.

Skipping any one of these layers results in alarms such as 26017 (axis type not configured), 26001 (no hardware), 201410 (drive error), 201414 (telegram failure), or the famous 8080/8081 PLC stop. The remainder of this document walks through the procedure in the order a commissioning engineer should perform it on the shop floor.

Safety first. Adding an axis means re-validating the entire safety chain (PROFIsafe, SLS, SOS, SS1, SS2, STO). A Safe Stop category 1 violation while the machine is in production can destroy the spindle, the workpiece, and injure personnel. Plan a full risk assessment per EN ISO 12100 and EN 60204-1 before powering up.

2. Pre-Engineering Checks Before You Touch the Cabinet

Before any machine data is touched, collect the following information and place it in a function specification (Siemens calls this the “FBS” / Anlagen-Funktionsbeschreibung). Anything missing here will surface as a costly rework later.

Mandatory pre-engineering data set
Domain Data point Why it matters
Mechanical Lead screw pitch P [mm/rev] or rotary axis ratio [deg/rev] Drives MD31030, MD31050
Mechanical Gear ratios (load gear / motor gear) i Drives MD31060 / MD31070
Mechanical Maximum axis force / torque, mass, load inertia Axis MD dynamic limits, controller loop Kp / Kv
Mechanical End stops, travel limits, software limit switches MD36100, MD36110, MD36120, MD36130
Electrical Motor order number (MLFB, e.g. 1FK7060-2AF71-...) Drives motor record, encoder configuration
Electrical Encoder type (resolver, sin/cos 1 Vpp, EnDat 2.1/2.2, DRIVE-CLiQ) MD30240, MD30242
Electrical Brake present, holding brake control time MD36610, MD36620
Drive Available PROFIBUS addresses / PROFINET slots on the existing line Axis hardware address MD30130 / MD13050
Software Number of axes / channels already licensed in the CF card Option bits, see MD18000 $MN_AXCONF_TOTAL / $MN_CHAN_AXCONF
Software PLC version, NCK software version (HMI Embedded, Sinutrain) Compatibility of MD / FB libraries
Safety Safety Integrated functions required (STO, SS1, SS2, SOS, SLS, SLP, SDI) Number of PROFIsafe slots, F-DI, F-DO budget

Verify the NCU 572.5 firmware / NCK software release. The 840D sl line moved from NCK System 2.6 through 4.7 to 4.95 SP3, and the HMI from SW 4.5 / 4.7 / 4.8 / 4.91 / 4.95. Telegram and FB syntax differ; in particular, FB40001+ libraries (Easy Archive, Easy Extend) are only available on System 4.5 SP2 and above. Capture the existing cardano.cfg, active.cfg, and the full *.arc series-archive from CF card before any change — if you break the configuration you can always return to the as-delivered state.

3. Hardware Architecture of the NCU 572.5 Drive Line

The NCU 572.5 (6FC5371-0AA30-0AA0 or its variants) is delivered with a base power line and either an internal I/O (NCU on-board) or external I/O via NX10.3 / NX15.3. The drive bus is a differential PROFIBUS DP (MPI/DP-X122) running PROFIdrive V3 profile, clock 12 Mbaud typical, isolation 1.5 kV. Modern replacements use PROFINET IRT on X150 P1/P2 with CBE30-2 / CBE40-2 communication boards, switching telegram type 6 / 116 / 125 / 136 to PROFINET equivalents.

3.1 SINAMICS S120 line-up for the new axis

Recommended SINAMICS S120 components
Component MLFB example Purpose
Active Line Module (ALM) 6SL3130-7TE25-5AA3 (55 kW) Regenerative DC link supply; required if braking energy is large
Smart Line Module (SLM) 6SL3130-6AE21-0AB1 Diode/IGBT supply; lower cost, no regen
Basic Line Module (BLM) 6SL3130-1TE22-0AA0 Uncontrolled diode bridge; least expensive
Single Motor Module 6SL3120-1TE23-0AA3 (30 A) Drives one servo motor directly
Double Motor Module 6SL3120-2TE21-8AA3 (2 × 9 A) Drives two smaller axes from one slot
NX10.3 / NX15.3 6SL3040-1NC00-0AA0 / -1NA00-0AA0 Expansion module when the NCU has no free DRIVE-CLiQ port
DRIVE-CLiQ cable 6FX2002-1DC00-.... Encoder / drive interconnection; mandatory for SINAMICS S120
Motor 1FK7 / 1FT7 / 1PH8 / 1FN3 Match torque, speed, holding brake, encoder
Sensor Module (SMC/SME) 6SL3055-0AA00-5BA3 / -5AA0 Connects non-DRIVE-CLiQ encoders to the drive

3.2 Wiring topology (logical)

For each new axis, the cabling is essentially:

  1. Three-phase 400 V (or 480 V UL) feed into the Line Module.
  2. DC link bus between Line Module and Motor Module(s) (24 V ribbon cable on top of the modules, internal).
  3. Motor power cable (MOTION-CONNECT) from the Motor Module to the motor.
  4. DRIVE-CLiQ chain: NCU → Line Module → Motor Module → Sensor Module (if used) → motor encoder.
  5. PROFIBUS DP / PROFINET from the NCU X122 / X150 to each Motor Module's CU320-2 control unit (every second module shares a CU when double modules are used).
  6. PROFIsafe channel to the F-DI / F-DO that releases the Safe Stop.

Torque and sizing formulas (single-phase and three-phase interpretations are shown because machine tool datasheets are sometimes ambiguous):

  • Single-phase apparent power: kVA = V · I / 1000 (example: 230 V, 16 A → 3.68 kVA)
  • Three-phase apparent power: kVA = √3 · V_LL · I_line / 1000 (example: 400 V, 30 A → 20.78 kVA)
  • DC link capacitor pre-charge energy: E = 0.5 · C · U_dc² (verify against the line module datasheet for the kJ limit)

If the existing line module is at 80 % nominal current, an additional axis must trigger a line module upgrade. A 22 kW spindle typically needs a 36 kW ALM (rule of thumb: sum of all motor module rated currents × 1.0, then derate per site altitude / ambient).

4. Drive Bus Configuration (PROFIdrive Telegrams)

Two parallel addressing schemes exist on the 840D sl:

  • Logical drive numbers (1…31) used in NCK MD (MD30110, MD30120, MD30130, MD30220). These are the axis-to-drive mapping.
  • PROFIBUS slave addresses / PROFINET device names (set on the CU320-2 DIP switches or via STARTER). These are the physical addresses.

The mapping is stored in the SDB container generated by SIMATIC Manager / TIA Portal when you insert the drives from the “SINAMICS S120 CU320-2 DP/PN” GSD file. Always use the most current GSD: GSDML-V2.31-Siemens-Sinamics-S120-20191025.xml or newer. Outdated GSD files are the number one source of 201414 (telegram configuration error) on retrofits.

4.1 Telegram choice for the new axis

Common PROFIdrive telegrams for feed axes
Telegram # Use Data size
1 Speed setpoint, 16-bit 4 PZD
2 Speed setpoint, 32-bit 6 PZD
3 Speed + 1 encoder, 16-bit 6 PZD
4 Speed + 2 encoders, 32-bit 14 PZD
5 Speed + DSC + encoder, 32-bit 10 PZD
6 Speed + DSC + 2 encoders, 32-bit (default feed axis) 14 PZD
105/106 Speed + torque, with two additive torque setpoints 12 PZD
116/136 Speed + position + torque + 2 encoders, Siemens extended 16 PZD
201/202/203 Vendor-specific, free mapping via telegram extension variable
370/371/999 Safety Integrated F-telegrams (PROFIsafe) 6 PZD (telegram 30 baseline)

For a standard feed axis on the 840D sl, leave the SINAMICS S120 standard telegram 6 assigned. Spindles use telegram 136 or 116 with the second encoder (spindle encoder) bit set in MD30220.

5. NCK Machine Data Configuration

All NCK MD changes are performed through the HMI → Startup → Machine Data or by loading a .ini from the CF card. Once you save with NCK reset, the new values are persistent. Below is a representative configuration for a 7th axis (call it AX7) on a 6-axis lathe or mill.

5.1 Global channel/axis options

; Global: declare the new axis as machine axis number 7
$MN_AXCONF_TOTAL = 7          ; was 6
$MN_CHAN_AXCONF = [ ... , 7 ] ; add 7 to the channel

5.2 Axis channel assignment

; Channel 1 gets the new axis
$MC_AXCONF_CHANAX_NAME_TAB[6] = "AX7"
$MC_AXCONF_CHANAX_DEFAULT_NAME[6] = "AX7"
$MC_GEOAX_ASSIGN_TAB = ( 1, 2, 3 )   ; unchanged, AX7 is auxiliary
$MC_AX_USAGE_ATTRIB[6] = 0x0001      ; 0x0001 = auxiliary axis

5.3 Axis machine data (machine axis AX7 = index 6)

; ----- Identification -----
$MA_AXCONF_NAME_TAB[6]           = "AX7"
$MA_AXCONF_LOGIC_NR[6]           = 7

; ----- Axis type -----
$MA_AXIS_TYPE[6]                 = 1     ; 1 = linear, 2 = rotary, 3 = spindle

; ----- Drive assignment -----
$MA_DRIVE_AX_RATIO_NUMERA[6]     = 1
$MA_DRIVE_AX_RATIO_DENOM[6]      = 1
$MA_DRIVE_AX_RATIO[6]            = 1.0

$MN_DRIVE_AX_USED[6]             = 7     ; logical drive number
$MN_DRIVE_LOGIC_NR[6]            = 7
$MA_CTRLOUT_MODULE_NR[6]         = 1     ; setpoint slot
$MA_CTRLOUT_TYPE[6]              = 1     ; PROFIdrive standard telegram
$MA_CTRLOUT_LOG_ADDR[6]          = 4100  ; depends on PLC; offset base + (drive-1)*16

$MA_ENC1_MODULE_NR[6]            = 2     ; actual value slot
$MA_ENC1_TYPE[6]                  = 1     ; incremental sin/cos
$MA_ENC1_LOG_ADDR[6]              = 4108

; ----- Mechanical data -----
$MA_LEADSCREW_PITCH[6]           = 10.0  ; mm/rev
$MA_AXIS_DENOM[6]                = 10.0
$MA_AXIS_NUMER[6]                = 1.0

; ----- Encoder scaling -----
$MA_ENC_SEGMENT_NR[6]            = 1
$MA_ENC_RESOL[6]                  = 2048  ; lines per rev on motor
$MA_ENC_ABS_TURN_ENABLE[6]        = 0

; ----- Speed / acceleration limits -----
$MA_MAX_AX_VELO[6]               = 5000.0  ; mm/min
$MA_MAX_AX_ACCEL[6]               = 1.0     ; m/s²
$MA_MAX_AX_JERK[6]                = 10.0    ; m/s³

; ----- Software limits -----
$MA_POS_LIMIT_MINUS[6]            = -500.0
$MA_POS_LIMIT_PLUS[6]             = 1000.0

; ----- Reference / homing -----
$MA_REFP_CAM_DIR_IS_MINUS[6]      = 1
$MA_REFP_VELO_POS[6]              = 500.0
$MA_REFP_VELO_SEARCH_CAM[6]       = 2000.0
$MA_REFP_MOVE_DIST[6]             = 2.0
$MA_REFP_SEQ_ENA[6]               = 1

; ----- Monitoring -----
$MA_POSCTRL_GAIN[6]               = 16.667  ; Kv in (m/min)/mm
$MA_STANDSTILL_POS_TOL[6]         = 0.2     ; mm
$MA_STANDSTILL_VELO_TOL[6]        = 1.0     ; mm/min
$MA_ABSOFF_ENABLE[6]              = 1       ; absolute encoder handling

; ----- Compensation (if needed) -----
$MA_SSC_IS_ENABLE[6]              = 0       ; friction comp, axis-specific
$MA_CEC_ENABLE[6]                 = 0       ; sag/angularity comp
$MA_QEC_ENABLE[6]                 = 0       ; quadrant error comp

5.4 Drive-DB (DO) regeneration

Every PROFIdrive axis slot requires a DO in the drive-DB. The SDB is regenerated automatically when the GSD is re-loaded into STEP 7 / TIA Portal. The DO entries are referenced by:

  • MD30110 $MA_CTRLOUT_MODULE_NR
  • MD30120 $MA_CTRLOUT_TYPE
  • MD30130 $MA_CTRLOUT_LOG_ADDR
  • MD30220 $MA_ENC_MODULE_NR / $MA_ENC_TYPE / $MA_ENC_LOG_ADDR

If the DO does not match, the controller raises alarm 201414 <axis> drive 007 “telegram mismatch” or 26017 "axis 7 has no drive assignment" on the next NCK reset.

6. PLC Program Modifications (PLC 317-2DP Inside the NCU)

Adding an axis in the NCK alone is insufficient. The integrated PLC must know the axis exists, must release the controller enable, must process the NCK->PLC interface, and must signal the safety chain. The standard 840D toolbox library is included with the “Toolbox 840D sl” archive from Siemens and provides the following FBs / DBs.

6.1 Axis interface DBs (DB31, DB32, …)

Each axis is exposed to the PLC in a fixed DB number:

Axis interface DB layout
DB Direction Bit Signal
DB31.DBB0 NCK → PLC 0..7 Axis status word, byte 0 (e.g. exact stop, traverse command, PLC control)
DB31.DBB4 PLC → NCK 0..7 Axis control word, byte 0 (e.g. controller enable, pulse enable, feed stop)
DB31.DBB6 PLC → NCK 0..7 Axis control word, byte 2 (axis-specific signals, e.g. clamp, Gant)
DB31.DBB8 PLC → NCK 0..7 Axis control word, byte 4 (M-functions, gear stages)
DB31.DBD6 / 10 / 14 / 18 NCK → PLC DWORD Position setpoint, position actual, following error, actual velocity
DB31.DBX4.7 PLC → NCK 1 bit Pulse enable (V_s); missing this = alarm 2000/2001
DB31.DBX4.6 PLC → NCK 1 bit Controller enable (Reglerfreigabe)
DB31.DBX1.5 NCK → PLC 1 bit Position reached (exact stop fine)
DB31.DBX1.6 NCK → PLC 1 bit Traverse request active

Adding axis 7 means creating an instance in DB37 (axis 1=DB31, axis 2=DB32, … axis 7=DB37). The instance data block is automatically generated by the toolbox FB15/FB16/FC18 chain. After the symbol table is updated, the “NCK Interface” view in the toolbox editor fills in the offsets.

6.2 Calling the axis handler FCs

CALL  FC  18   // Axis enabling / reset / cancel
      Axis      := AX7_IDB                    // DB37
      Enable    := I_StartEnable_AX7
      Reset     := I_Reset_AX7
      Error     := O_FAULT_AX7
      Ready     := O_READY_AX7

CALL  FC  19   // Brake / clamp control
      Axis      := AX7_IDB
      BrakeOpen := O_BrakeOpen_AX7

CALL  FC  24    // Spindle / axis "ready" check
      Axis      := AX7_IDB

6.3 Softkey wiring to the HMI

If the new axis needs operator control (e.g. a manual jog menu), the MCP buttons must be re-mapped in FC 19/FC 25 of the toolbox. Add the new axis identifier in the HMI startup screen “Axis selection” configuration. The keys are mapped to DB10.DBB36..….

6.4 Safety logic (SPL)

Inside the safety program (SPL = Safe Programmable Logic, generated with the S7 Distributed Safety editor on TIA Portal or classic STEP 7 + F-library), add the new axis to the safety logic. Minimum requirement: a separate PROFIsafe slot for the new drive’s STO. Typical wiring:

// SPL block for AX7 STO
F-Channel  := SLP_Input.ProfisafeCh_AX7_StO;
F-Output   := SLP_Output.DriveStop_AX7;
F-Ton      := 200ms;     // STO delay (SS1 time)
F-StopCat  := 1;         // SS1, controlled stop -> STO

After editing, regenerate the safety signature and log the new CRC in the safety acceptance test report per EN ISO 13849-1 / EN 62061.

7. Mechanical Integration, Encoder & Brake Wiring

  1. Encoder: Mount according to the Festo / Heidenhain installation drawing. Use a torque arm or coupling; a 0.05 mm offset on a sin/cos encoder can introduce 50 µm periodic error.
  2. Brake: Connect the 24 V holding brake through the Motor Module's X5 brake connector. Verify the polarity (brown = +, blue = −) and add a flyback diode (1N4007) externally if the motor does not integrate one.
  3. Limit switches: Hard limits in series into the F-DI module. Software limits in MD36100 / MD36110 as a second barrier.
  4. Drive end stop force / torque clamp: Do not rely on MD for the mechanical safety; always include a hard stop at ±10 mm beyond the software limit.

8. HMI & Operator Panel Configuration

  • Add the new axis to the Axis Monitor and Service Axes screens in easyscreen or in the SINUMERIK Operate configuration menu (Setup → Axis List).
  • Update the Tool List / magazine if the new axis is a tool-changing axis.
  • Re-export the alarm and message texts if the new axis has any axis-specific alarms (the standard 840D sl already has them at 300000+ range).

9. Commissioning Procedure (Step-by-Step)

  1. Back up the CF card image and the PLC project (full archive via the HMI → Commissioning → Series start-up). Save the binary separately.
  2. Mechanical fit & electrical wiring with the cabinet off; verify the PE/ground and the 24 V aux supplies.
  3. Power up Line Module only (no motor module). Check 600 V DC link voltage within 60 s; an SLM/BLM typically needs 5…20 s for pre-charge.
  4. Connect the DRIVE-CLiQ chain and run Commissioning → Drive system → Automatic configuration in STARTER. Confirm the topology.
  5. Configure telegram 6 in STARTER for the new drive; download and save the project in the drive.
  6. NCK MD changes as per Section 5. Save with NCK Reset.
  7. PLC program changes as per Section 6. Compile, download, perform a warm restart (OB100) to load the axis DB instances.
  8. Run the axis without drive enable by setting DB31.DBX4.7 = 0 (pulse enable) and DB31.DBX4.6 = 0 (controller enable). Verify that NCK reports the axis in the “available axes” list.
  9. Enable the controller and jog the axis in JOG / INC mode with low override (5 %).
  10. Run the reference-point homing sequence; verify DB31.DBX1.4 = 1 (referenced) afterwards.
  11. Run a G-code test program (e.g. G01 AX7=100 F500) under feed hold and single block. Cross-check position, following error and Kv.
  12. Sign off the safety acceptance test per the safety matrix.

10. Verification Checklist

Commissioning sign-off matrix
# Check Pass criterion How to verify
1 Axis visible in channel AX7 appears in <Axis+> HMI list HMI → Setup → Axis list
2 Drive ready No alarm 201410/201414 Diagnostic → Alarms
3 Referenced DB31.DBX1.4 = 1 (axis 7) PLC online monitor
4 JOG mode move Position actual = setpoint ± 0.01 mm HMI Axis Monitor
5 Following error Static < 1 % of Kv tolerance Service → Trace → Following error
6 Software limits Axis stops with no overrun Drive MD36200 / MD36210
7 Hardware limits Hard limit triggers STO via F-DI Manual trip of limit
8 STO reaction time < 200 ms typical for SS1 SPL test
9 Brake test Axis holds after power-off with Fdyn = 1.5 Mechanical stop test
10 Data backup .arc saved on external media HMI → Commissioning → Series start-up

11. Common Faults & Diagnostic Map

Typical alarms when adding a new axis
Alarm Likely cause Action
201410 <axis> drive 006 Wrong drive slot in MD / Telegram mismatch Verify MD30110/30120/30130 vs. STARTER topology
201414 Telegram assignment fault (PZD size) Re-load GSD, set telegram 6, NCK reset
26017 Axis 7 not configured in $MC_AXCONF_CHANAX Add the axis to channel list
8080 / 8081 PLC stop — DB37 missing or invalid Recompile, re-download PLC project
2000 / 2001 / 2002 Pulse / controller / drive enable missing Set DB31.DBX4.6 and DB31.DBX4.7 in PLC
3000 emergency stop F-DI or SPL signal missing Check emergency stop wiring and SPL signature
21612 <axis> enable reset Drive enable transition Cycle OFF1/ON
25000 <axis> encoder 1 Encoder cable / DRIVE-CLiQ failure Check SMC LED state; replace cable if red
21617 / 21618 Following error monitor tripped Increase MD36020, MD36030 or check mech
17001 / 17020 Tool-changer / magazine data error Update magazine configuration if new axis is a tool changer
Tip: When a single new axis does not move at all, 80 % of the cases come from a missing pulse enable on the new DB number. Always verify with the PLC watch table that DB37.DBX4.7 (or whatever DB is generated) is set to TRUE when the user presses the “Reset” button on the MCP.

12. Documentation & Re-Audit Trail

  • Save the final series start-up archive on a network share. The .arc file contains NCK, PLC, drive and HMI project.
  • Print the safety acceptance test report and the modified machine data list and sign them off.
  • Update the CE technical file: Schmersal / SICK / Pilz safety architect, the new axis block diagram and the operating manual.
  • Train operators on the new axis functionality, including new error messages and softkeys.

FAQ

How many axes does a Siemens 840D NCU 572.5 support by default?

The NCU 572.5 is sold with 6 axes / 5 spindles / 2 channels in its base configuration, but the firmware allows up to 31 axes (option-dependent). The maximum is determined by option bits and the actual SDB/DO configuration. Each additional axis must be licensed and reflected in $MN_AXCONF_TOTAL.

Do I need a new license for the additional axis on the 840D sl?

Yes. The axis count option is enforced at NCK start-up. Without the correct license key, the NCK raises alarm “license missing axis” and refuses to release the new axis. The license is stored on the CF card and bound to the NCU serial number.

Which PROFIdrive telegram should I use for a feed axis?

For a linear or rotary feed axis with one motor encoder and one direct measuring system, use standard telegram 6 (speed setpoint 32-bit, DSC, two encoders, 14 PZD). For spindles, use telegram 136 or 116 with the second encoder (spindle C-axis) bit set in MD30220.

Why does the new axis show “axis not configured” (alarm 26017) after NCK reset?

The channel has not been told that the new machine axis exists. The MD $MC_AXCONF_CHANAX_NAME_TAB and $MC_AXCONF_MACHAX_USED must be updated to include the new axis index. The most common error is forgetting to append the new index to the channel list before the NCK reset.

Can I add the new axis without changing the PLC program?

No. The integrated PLC 317-2DP needs the new axis interface DB (DB37 for axis 7), the FC18/FC19/FC24/FC25 instances, the safety SPL logic for the new drive's STO, and the HMI softkey mapping. Skipping this triggers PLC STOP (alarm 8080) or drive enable alarms 2000/2001.

What is the difference between using DRIVE-CLiQ and DRIVE-CLiQ2 for the new motor module?

DRIVE-CLiQ2 (also called DRIVE-CLiQ+) doubles the data rate to 100 Mbit/s and supports up to 4 motor modules on a single chain without using NX. It is the recommended topology on new SINAMICS S120 builds. Functionally it is downward compatible, but the encoder interface and firmware ≥ 4.5 are required.

Back to blog