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:
- 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.
- Drive configuration – STARTER / SIMOTION SCOUT or the integrated Setup & Commissioning inside HMI, with PROFIdrive telegrams and PROFIsafe slot allocation.
- 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.
- 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.
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.
| 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
| 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:
- Three-phase 400 V (or 480 V UL) feed into the Line Module.
- DC link bus between Line Module and Motor Module(s) (24 V ribbon cable on top of the modules, internal).
- Motor power cable (MOTION-CONNECT) from the Motor Module to the motor.
- DRIVE-CLiQ chain: NCU → Line Module → Motor Module → Sensor Module (if used) → motor encoder.
- 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).
- 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
| 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_NRMD30120 $MA_CTRLOUT_TYPEMD30130 $MA_CTRLOUT_LOG_ADDRMD30220 $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:
| 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
- 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.
-
Brake: Connect the 24 V holding brake through the Motor Module's
X5brake connector. Verify the polarity (brown = +, blue = −) and add a flyback diode (1N4007) externally if the motor does not integrate one. - Limit switches: Hard limits in series into the F-DI module. Software limits in MD36100 / MD36110 as a second barrier.
- 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
easyscreenor 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)
- Back up the CF card image and the PLC project (full archive via the HMI → Commissioning → Series start-up). Save the binary separately.
- Mechanical fit & electrical wiring with the cabinet off; verify the PE/ground and the 24 V aux supplies.
- 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.
- Connect the DRIVE-CLiQ chain and run Commissioning → Drive system → Automatic configuration in STARTER. Confirm the topology.
- Configure telegram 6 in STARTER for the new drive; download and save the project in the drive.
- NCK MD changes as per Section 5. Save with NCK Reset.
- PLC program changes as per Section 6. Compile, download, perform a warm restart (OB100) to load the axis DB instances.
-
Run the axis without drive enable by setting
DB31.DBX4.7 = 0(pulse enable) andDB31.DBX4.6 = 0(controller enable). Verify that NCK reports the axis in the “available axes” list. - Enable the controller and jog the axis in JOG / INC mode with low override (5 %).
-
Run the reference-point homing sequence; verify
DB31.DBX1.4 = 1(referenced) afterwards. -
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. - Sign off the safety acceptance test per the safety matrix.
10. Verification Checklist
| # | 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
| 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 |
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
.arcfile 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.