1. Retrofit Context and Requirements
A vertical turning lathe (VTL) with two independent tool posts and four NC axes is a common retrofit candidate when the original CNC becomes obsolete or unsupportable. Each tool post on a dual-turret VTL is conventionally operated as a quasi-independent machine: an NC alarm, program stop, or operator action on one post must not interrupt production on the other post. This independence requirement drives the controller architecture decision more than any other factor.
The two viable Siemens controller families for this application are:
- SINUMERIK 840D sl – a single NCU hosting multiple channels and mode groups, paired with a SINAMICS S120 drive line-up.
- Two SINUMERIK 802D sl controllers – each handling one tool post, each with its own drive cluster.
Both architectures satisfy the independence requirement. They differ in spares strategy, cabinet footprint, drive topology complexity, and HMI ergonomics. The remainder of this document specifies the 840D sl multi-channel architecture in detail, contrasts it with the dual-802D alternative, and provides commissioning and verification steps an integrator can apply directly to a 4-axis VTL retrofit.
2. Architecture Options at a Glance
2.1 Option A – SINUMERIK 840D sl with two channels
A single SINUMERIK 840D sl NCU (e.g. NCU 720.3 or 730.3) hosts two NCK channels, each acting as a logically separate NC. Each channel is bound to its own mode group, MCP, and HMI focus. The SINAMICS S120 drive line-up is shared via DRIVE-CLiQ; axes are assigned to channels through machine data.
2.2 Option B – Two SINUMERIK 802D sl controllers
Each tool post receives its own 802D sl controller and its own drive cluster (typically SINAMICS V60 or S120 Combi). The two controllers are completely independent; cross-post coordination is implemented over discrete I/O or a small PROFINET link. Cabinet size and panel wiring roughly double relative to Option A.
3. Channel and Mode Group Fundamentals
Three Siemens-specific terms govern multi-toolpost operation on an 840D sl. Their distinction is the most common source of configuration errors on retrofits.
3.1 Channel (NCK channel)
A channel is an independent program execution context inside the NCK. It owns its own:
- Part program counter and interpreter state
- Active G-code group state (modal functions)
- Tool table activation
- Channel-specific machine data ($MC_…)
- Channel-specific setting data ($SC_…)
A reset, M30, or NC alarm in one channel does not affect the program counter or modal state of another channel unless a cross-channel write ($NC…-variables to a different channel) is in use. Channel assignment of axes is set in:
; AXCONF_MACHAX_NAME_TAB / AXCONF_MACHAX_CHANAX_NAME_TAB
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[0] = "X1"
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[1] = "Z1"
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[2] = "SP1"
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[3] = "X2"
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[4] = "Z2"
MD10010 $MN_AXCONF_MACHAX_CHANAX_NAME_TAB[0,0] = "X1"
MD10010 $MN_AXCONF_MACHAX_CHANAX_NAME_TAB[0,1] = "Z1"
MD10010 $MN_AXCONF_MACHAX_CHANAX_NAME_TAB[0,2] = "SP1"
MD10010 $MN_AXCONF_MACHAX_CHANAX_NAME_TAB[1,0] = "X2"
MD10010 $MN_AXCONF_MACHAX_CHANAX_NAME_TAB[1,1] = "Z2"
Channel-to-axis binding is one of the first items verified at commissioning: any axis declared in MD10000 but not referenced in MD10010 is visible to no channel, and any axis name referenced in MD10010 without a matching MD10000 entry raises alarm 20080 "Axis name %1 not defined".
3.2 Mode group
A mode group is the unit to which an operating mode (AUTO, JOG, MDI, REPOS, REF) is bound. Two channels assigned to different mode groups can execute in different modes simultaneously: e.g. channel 1 running AUTO while channel 2 is being jogged for setup. Two channels assigned to the same mode group share a mode – they cannot be in AUTO and JOG at the same time.
For a true dual-toolpost retrofit where each post is operated by its own operator, each channel should be in its own mode group. The number of mode groups is set by:
MD12711 $MN_MM_MODE_GROUP_NAME_TAB[0] = "TP1"
MD12711 $MN_MM_MODE_GROUP_NAME_TAB[1] = "TP2"
MD12985 $MN_NUM_MODE_GROUP_NAMES = 2
Channel-to-mode-group assignment is the next binding step:
MD10060 $MC_CHAN_NAME[0] = "CHAN_TOOLPOST1"
MD10060 $MC_CHAN_NAME[1] = "CHAN_TOOLPOST2"
MD12970 $MN_MM_NUM_CHAN_NAMES = 2
MD12701 $MN_MM_CHAN_NAME_TAB[0] = "CHAN_TOOLPOST1"
MD12701 $MN_MM_CHAN_NAME_TAB[1] = "CHAN_TOOLPOST2"
; Channel-assigned mode group index:
MD12711 (channel-side override) - via $MC_CHAN_MODE_GROUP
Verify the binding after each NCK power-on by reading /Channel/Configuration/name in the HMI diagnostic area or by issuing $AC_MODE_GROUPNO from the part program.
3.3 Cross-channel synchronization
When both posts must remain coordinated (e.g. synchronized turning of a long workpiece), channels exchange wait markers and synchronized actions. Wait markers are set and tested from the part program:
; Channel 1 program (Toolpost 1)
N20 SETM(1,2) ; set marker 1 in channel 2
N30 WAITM(1,2) ; wait for marker 1 in channel 2
N40 G1 X100 F0.2
; Channel 2 program (Toolpost 2)
N20 G1 X100 F0.2
N30 SETM(1,2) ; release channel 1
N40 WAITM(2,2)
Synchronized actions (IDS = … DO …) fire on real-time conditions across channels when higher-frequency coupling is required; they are not strictly necessary for a simple independent-post VTL but should be reserved for synchronized turning or transfer operations.
4. SINAMICS S120 Drive Line-Up and Axis Sharing
The drive cluster on a 4-axis VTL retrofit typically consists of:
- One Line Module (Active Line Module or Smart Line Module) sized for the sum of motor ratings.
- Two Motor Modules for the two tool-post feed axes (X1/Z1, X2/Z2) – each motor module is a double-axis module where Z and X share a DC bus on the same physical unit.
- One Motor Module (or two, if each post has its own spindle) for spindle drives.
- One or more NX10 / NX15 modules for distributed I/O and additional axes if cabinet separation is required.
All drive objects are exposed on DRIVE-CLiQ as Servo DO types and are visible to the NCU as logical axes. Channel assignment is purely a function of MD10010; no drive-side change is required when moving an axis between channels.
For a typical VTL configuration with two independent feed groups, the drive-side assignment is:
| Drive Object | Motor Module Slot | Logical Axis | Channel |
|---|---|---|---|
| Servo DO #1 | Slot 2 / Port 1 | X1 | Channel 1 (Toolpost 1) |
| Servo DO #2 | Slot 2 / Port 2 | Z1 | Channel 1 (Toolpost 1) |
| Servo DO #3 | Slot 3 / Port 1 | X2 | Channel 2 (Toolpost 2) |
| Servo DO #4 | Slot 3 / Port 2 | Z2 | Channel 2 (Toolpost 2) |
| Servo DO #5 | Slot 4 / Port 1 | SP1 (main spindle) | Channel 1 or shared |
5. MCP and HMI Distribution
5.1 MCP assignment
Each mode group requires its own MCP focus. On an 840D sl retrofit with two operator stations – one per post – use two MCP 483C IE panels (or MCP 310C for compact pendants). Each MCP is connected to PROFINET and bound to a mode group:
; In PLC (PLC 317 inside the NCU) – assign MCP PN device to a mode group
; Use the MCP/MG coupling FB or HMI sl configuration:
; HMI sl > System > MCP/MG coupling:
; MCP1 (192.168.1.10) -> Mode Group 1
; MCP2 (192.168.1.11) -> Mode Group 2
If only one MCP exists, the operator must select the active mode group via the MCP channel-select key. For a true independent-post retrofit, two physical MCPs are recommended.
5.2 HMI assignment
SINUMERIK Operate runs on a PCU 50.5 (or PC-based). Two TCUs (Thin Client Units) may be connected to one PCU. Each TCU is bound to a mode group through HMI sl configuration:
; HMI sl configuration file (or via Commissioning > HMI > TCU assignment)
; tcu1 -> mg1.tp1
; tcu2 -> mg2.tp2
Once bound, each operator station presents the program, tool table, and alarm list of only its assigned channel. Cross-channel visibility is read-only.
6. Machine Data Reference (Excerpt)
The following MD excerpt is sufficient to bring up a 2-channel, 2-mode-group, 4-axis configuration. All MDs require an NCK reset or, where indicated, an NCK POWER ON.
| MD | Symbol | Value | Activation | Purpose |
|---|---|---|---|---|
| MD10000 | AXCONF_MACHAX_NAME_TAB | X1, Z1, SP1, X2, Z2 | Power On | Axis name list visible to NCK |
| MD10010 | AXCONF_MACHAX_CHANAX_NAME_TAB | (channel,channel-axis)-pairs | Power On | Bind logical axes to channels |
| MD12701 | MM_CHAN_NAME_TAB | CHAN_TOOLPOST1, CHAN_TOOLPOST2 | Power On | Channel names |
| MD12970 | MM_NUM_CHAN_NAMES | 2 | Power On | Number of channels |
| MD12711 | MM_MODE_GROUP_NAME_TAB | TP1, TP2 | Power On | Mode group names |
| MD12985 | NUM_MODE_GROUP_NAMES | 2 | Power On | Mode group count |
| MD20150 | GCODE_DEFAULT_VALUES[7] | 2 | Reset | Default G group on reset |
| MD27880 | PART_COUNTER | 1 (each channel) | Reset | Channel-local part counter |
| MD30350 | SIMU_AX_VDI_OUTPUT | 0 | Power On | Disable sim-axis VDI handshakes |
For the PLC side, MCP/MG coupling is set in the HMI configuration and assigned through the PLC interface DB19 (operator-panel interface) for each mode group.
7. Failure Isolation Analysis
The independence requirement maps cleanly onto the following fault matrix:
| Fault Source | Channel 1 (TP1) Impact | Channel 2 (TP2) Impact |
|---|---|---|
| Channel 1 NC alarm (program syntax, modal error) | Stops | Continues |
| Channel 2 NC alarm | Continues | Stops |
| X1 axis encoder fault (drive-side) | Stops | Continues (only X1 lost) |
| Z1 motor module fault | Stops | Continues (TP2 axes on separate module) |
| Motor Module shared between X1/X2 (anti-pattern) | Stops | Stops |
| DRIVE-CLiQ ring break | Stops | Stops (whole ring down) |
| PL / PLC stop (latch open, emergency stop) | Stops | Stops |
| NCK software watchdog | Stops | Stops (whole NCK halts) |
| PROFINET MCP1 loss (one physical MCP unplugged) | TP1 inoperable from MCP1 | Continues |
| HMI sl crash on TCU1 | TP1 visibility lost | Continues (TCU2 independent) |
8. Channel Architecture Topology (SVG)
9. Commissioning Procedure
- Pre-power checklist. Verify cabinet PE bonding, DRIVE-CLiQ wiring (use only Siemens-approved cables, max 70 m per segment), and PROFINET device discovery. Confirm the NCU and PCU firmware match the SINUMERIK 840D sl release notes for the chosen software version (e.g. 4.95 SPx or 6.x as deployed in your region).
- NCK first power-up with default MD. Clear all NC and drive MD to factory defaults. Bring the NCK to RUN state. Resolve any topology errors reported by alarm 25000 / 25201 before proceeding.
-
Define channels and mode groups. Apply the MD excerpt in Section 6. Issue NCK Power On. Verify with
$AC_CHANNOfrom each operator panel that the channel focus follows the MCP. -
Configure axes to channels. Populate
MD10000andMD10010. Power-on. Use HMI Commissioning > Axes to confirm each axis displays under the correct channel. - Assign MCPs and TCUs. Configure MCP/MG coupling in HMI sl. Test mode-group switching with both MCPs. Verify that pressing the channel-select key on MCP1 swaps the visible channel without affecting channel 2 state.
-
Drive commissioning per axis. For each axis, run the SINAMICS automatic controller optimization with the mechanical axis coupled. Record the result files into the NCU CompactFlash card under
/siemens/sinumerik/…. - Independence test 1 – NC alarm isolation. From channel 1, deliberately trigger an NC alarm (e.g. program a non-existent tool). Confirm channel 2 keeps running and operator can jog X2/Z2.
- Independence test 2 – drive fault isolation. With the machine in safe state, simulate an encoder fault on X1 (e.g. unplug encoder cable). Confirm only channel 1 halts; channel 2 continues and reports no alarm.
-
Cross-channel synchronization test. Execute the
SETM/WAITMpair from Section 3.3 in both channels and verify timing on the oscilloscope trace of X1/Z1 vs X2/Z2. - Operator acceptance test. Run a complete part on each post independently. Record cycle time, alarm log, and tool-change sequence. Sign off against the customer acceptance protocol.
10. Comparison: 840D Multi-Channel vs Dual 802D
| Criterion | 840D sl, 2 channels, 1 drive line-up | Two 802D sl, separate drives |
|---|---|---|
| Axes supported per control | Up to 30 (NCU 730.3) – 4 is well below limit | Up to 5–6 per 802D – 2 axes + spindle per control fits |
| Channels | 2 logical NCs in one NCK | 1 NCK per 802D |
| Drive cluster | One SINAMICS S120 line-up, shared DRIVE-CLiQ ring | Two SINAMICS V60 / S120 Combi clusters, independent |
| Cabinet footprint | Smaller (one NCU, one line-up) | Larger (two NCKs, two line-ups) |
| Spares commonality with other 840D machines | Excellent if customer standardizes on 840D sl | 802D spares are separate |
| Cross-post synchronization | Native: wait markers, synchronized actions | Discrete I/O or small PN link – extra design |
| Single point of failure (NCK) | NCK software fault halts both posts | Each post fully isolated |
| PLC programming | One PLC 317 with channel-aware segments | Two independent PLC projects |
| HMI | Two TCUs against one PCU; clean focus switching | Two independent HMIs, no shared focus |
| Commissioning effort | Higher initial (mode group + channel design) | Lower initial – two parallel 802D projects |
| Reuse of legacy MCPs / handwheels | Requires MCP 483C IE or MCP 310C | 802D MCP directly, simpler wiring |
| Field service training | Higher (multi-channel diagnostics) | Lower (each 802D is a stand-alone product) |
11. Recommended Architecture
For a VTL retrofit where:
- Spare-part commonality across the fleet is a stated goal,
- The cabinet footprint is constrained,
- The customer service team is already trained on 840D sl, and
- The two tool posts occasionally need to be coordinated (e.g. on long shafts or when transferring a workpiece),
the single 840D sl with two channels and two mode groups is the recommended architecture. It satisfies the independence requirement through the channel/mode-group separation, supports synchronized turning through native SETM/WAITM and synchronized actions, and consolidates the spare-part inventory to the 840D sl family.
The dual-802D architecture is preferred when:
- The two posts are operated by separate shops with separate maintenance contracts,
- Maximum electrical isolation is required (one post may be operated with the other fully de-energized for extended periods),
- Cabinet space is not a constraint, and
- The customer already stocks 802D spares.
12. Spare-Parts and Lifecycle Considerations
Both controller families are subject to Siemens product lifecycle announcements. Before retrofit commitment, confirm the active product status on the official Siemens support portal:
- Siemens Industry Online Support – product lifecycle and announcement search
- SINUMERIK 840D sl manuals – operating, programming, commissioning manuals
- SINAMICS S120 function manuals – drive configuration and diagnostics
For 802D sl, verify that the deployed firmware version is still within the active service window. Older 802D (non-sl) variants are in the legacy phase and should be replaced rather than retrofitted for production machines.
13. Practical Commissioning Checklist
| # | Item | Pass / Fail | Notes |
|---|---|---|---|
| 1 | NCK reports no topology alarms after first Power On | ||
| 2 | Two channels visible in HMI Commissioning > Channels | ||
| 3 | Two mode groups visible in HMI Commissioning > Mode Groups | ||
| 4 | X1, Z1, SP1 bound to channel 1; X2, Z2 bound to channel 2 | ||
| 5 | MCP1 → mode group 1, MCP2 → mode group 2 | ||
| 6 | TCU1 → mode group 1, TCU2 → mode group 2 | ||
| 7 | Channel 1 NC alarm does not stop channel 2 | ||
| 8 | Channel 2 NC alarm does not stop channel 1 | ||
| 9 | X1 encoder fault does not stop channel 2 | ||
| 10 |
SETM/WAITM synchronization works under load |
||
| 11 | Emergency stop drops all drives safely, no single-axis latch fail | ||
| 12 | Operator acceptance run on both posts signed off |
14. Troubleshooting Matrix
| Symptom | Likely Root Cause | Resolution |
|---|---|---|
| Alarm 20080 "Axis name not defined" |
MD10000 missing entry |
Add axis to MD10000, Power On |
| Axis visible in both channels |
MD10010 bound to wrong channel |
Re-bind to correct channel, Power On |
| MCP key press has no effect on second post | Both channels in same mode group | Add second mode group, reassign channels |
| Channel 1 RESET affects channel 2 program counter | Cross-channel write via $NC_… variables | Audit program for shared state, refactor to local |
| Channel 1 alarm stops channel 2 | Drive-side fault shared between axes | Re-assign axes to separate Motor Modules |
| SETM/WAITM deadlocks on first cycle | Mismatch in marker number or direction | Verify SETM(m, ch) sets marker m in channel ch |
| DRIVE-CLiQ alarm 25000 at startup | Topology mismatch after NCK replacement | Accept topology via SINAMICS commissioning tool |
| HMI shows only one channel after Power On |
MD12970 mismatch with configured channels |
Increase MD12970, Power On |
| MCP "Channel advance" key swaps to wrong mode group | MCP/MG coupling incorrectly configured | Re-bind MCP PN device in HMI configuration |
15. Quick Parameter Reference
; === Channel definition (NCK global) ===
MD12970 $MN_MM_NUM_CHAN_NAMES = 2
MD12701 $MN_MM_CHAN_NAME_TAB[0] = "CHAN_TOOLPOST1"
MD12701 $MN_MM_CHAN_NAME_TAB[1] = "CHAN_TOOLPOST2"
; === Mode group definition (NCK global) ===
MD12985 $MN_NUM_MODE_GROUP_NAMES = 2
MD12711 $MN_MM_MODE_GROUP_NAME_TAB[0] = "TP1"
MD12711 $MN_MM_MODE_GROUP_NAME_TAB[1] = "TP2"
; === Axis catalog (NCK global) ===
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[0] = "X1"
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[1] = "Z1"
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[2] = "SP1"
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[3] = "X2"
MD10000 $MN_AXCONF_MACHAX_NAME_TAB[4] = "Z2"
; === Axis-to-channel binding (channel axis index) ===
MD10010 $MN_AXCONF_MACHAX_CHANAX_NAME_TAB[0,0] = "X1"
MD10010 $MN_AXCONF_MACHAX_CHANAX_NAME_TAB[0,1] = "Z1"
MD10010 $MN_AXCONF_MACHAX_CHANAX_NAME_TAB[0,2] = "SP1"
MD10010 $MN_AXCONF_MACHAX_CHANAX_NAME_TAB[1,0] = "X2"
MD10010 $MN_AXCONF_MACHAX_CHANAX_NAME_TAB[1,1] = "Z2"
; === Channel-to-mode-group binding (HMI Commissioning screen) ===
; Channel 1 -> Mode Group 1 (TP1)
; Channel 2 -> Mode Group 2 (TP2)
; === MCP/MG coupling (HMI sl configuration) ===
; MCP1 (192.168.1.10) -> Mode Group 1
; MCP2 (192.168.1.11) -> Mode Group 2
Can a single SINUMERIK 840D control two independent tool posts so that an alarm on one does not stop the other?
Yes. Configure two NCK channels and assign each to its own mode group. With channel 1 mapped to X1/Z1/SP1 and channel 2 mapped to X2/Z2, an NC alarm, reset, or program stop in one channel does not affect the program counter, modal state, or mode of the other channel. Place each post's axes on separate SINAMICS Motor Modules so a single drive fault cannot stop both posts.
Do two 802D controllers need two separate drive clusters?
Yes, in practice. Each 802D sl binds to its own SINAMICS V60 or S120 Combi drive cluster over a dedicated interface. Sharing a single SINAMICS S120 line-up between two 802D units is not a standard configuration and would require additional commissioning effort and a custom PROFINET topology. For a retrofit where drive consolidation is a goal, the 840D sl multi-channel architecture is the cleaner choice.
How many mode groups do I need on a dual-toolpost VTL?
Use two mode groups. One mode group can host only one operating mode (AUTO, JOG, MDI, REF, REPOS) at a time across all its assigned channels. With a single mode group, you cannot run AUTO on toolpost 1 while the operator jogs toolpost 2 for setup. Two mode groups, one per post, remove that restriction.
How do I synchronize the two posts when needed?
Use wait markers and synchronized actions. From the part program, SETM(m, ch) sets marker m in channel ch, and WAITM(m, ch) waits for that marker. For tighter coupling (synchronized turning, transfer between posts), use synchronized actions (IDS = … DO …) that fire on real-time conditions across channels.
What is the most common commissioning mistake on this retrofit?
Binding both channels to the same mode group. The two posts then share an operating mode and behave like a single NC with two channels — the independence goal is lost. Always verify mode-group separation in HMI Commissioning > Mode Group and confirm via $AC_MODE_GROUPNO at each operator station before the first acceptance run.