Problem Overview
On an NCU 710.2 SINUMERIK 840D sl controller (typically ordered under part prefix 6FC5371-0AA30-…), the SMC20 (Sensor Module Cabinet, Siemens part prefix 6FC9320-1WB) lights its status LED a steady red the moment the drive line-up is energised, and the HMI alarm line displays 26106 — Encoder 2 of axis 1: encoder not found. The reported configuration is a single-axis / dual-channel set-up where the SMC30 (6FC9320-1BG) reads a Heidenhain RU2000 incremental TTL rotary encoder and the SMC20 reads a Heidenhain LS370 linear encoder with 1 Vpp sin/cos interface plus reference track. One Double Motor Module rated 2 × 18 A (e.g. 6SL3120-2TE21-8AA0) or two Single Motor Modules rated 18 A (6SL3120-1TE21-8AA0) drive a 1FT/1FK servomotor through DRIVE-CLiQ.
Power cycling, X520 unplug, and cold-start attempts all fail to clear the alarm: the red LED stays on, MD-ENC list[1] (the second declared encoder of the first axis, conventionally the direct measuring system used for position-loop closure) remains unreachable, and the run-up is aborted before the axes can be referenced.
Field-experienced symptoms to look for at first contact:
- SMC20 status LED is solid red, not blinking red/orange. A blinking LED typically indicates SMC20 firmware boot state; a solid red is a run-time fault.
- No value appears in the service display of
$AA_IM[X] / $AA_ENC2_ACTIVE— the second encoder reading is frozen at its initial value. - Alarm 26106 is clearable from HMI but re-arms within one PLC cycle.
- SMC30 channel reads RU2000 correctly, confirming DRIVE-CLiQ wiring of the cable is good and isolating the fault to SMC20 or its 1 Vpp cable assembly.
Affected Hardware Configuration
Verify the configuration that produces this alarm signature. The combination NCU 710.2 + SMC20 + LS370 + 2 × 18 A Motor Module is a standard layout for a 3-axis grinder with one closed-loop linear axis (X) and one rotary axis (Z), but the same wiring mistake will reappear in any 840D sl cabinet:
| Component | Siemens / Heidenhain part prefix | Function |
|---|---|---|
| NCU 710.2B | 6FC5371-0AA30-2AA0 (or -2AB0) | Sinumerik One/840D sl NC kernel, integrated PLC317-2DP and PROFIBUS-DP master. |
| Motor Module 2 × 18 A | 6SL3120-2TE21-8AA0 | Booksize, internal air cooling, supplies two axis drives. |
| SMC30 | 6FC9320-1BG00 (or -1BG01) | TTL/HTL/SSI encoder interface; reads RU2000. |
| SMC20 | 6FC9320-1WB00 (or -1WB01 EnDat 2.2) | 1 Vpp sin/cos / EnDat 2.1 interface; reads LS370. |
| Heidenhain LS370 | ID 375127-xx (per signal period) | Photoelectric linear encoder, 1 Vpp, with reference track, signal period 20 µm (standard). |
| Heidenhain RU2000 | 0L-taper variants | Rotary TTL encoder, 2000 line count → 8 000 pulses/rev after quad. |
The complete scope of supply must be entered into the SDB Type 2000 file, otherwise alarm 26106 is a logical consequence of missing slave entries, not a hardware defect. NCK and drive objects reconcile their list of expected slaves against this SDB during run-up; a missing or transposed entry causes the encoder channel to be marked not alive immediately.
Alarm 26106 — Specification and Decoding
Alarm 26106 belongs to the "Encoder / drive object" family issued by the NCK and is described in the SINUMERIK 840D sl Diagnostics Manual (Siemens Industry Online Support). The expanded message format follows the standard NCK alarm template 2xxxx Axis %2, encoder %3, …. For this scenario the NCK substitutes axis identifier (AX1 = default first NC axis, here renamed as W by the customer's channel axis naming) and encoder 2 (the second declared encoder in $MA-ENC list[1]).
| Token | Meaning | Scenario value |
|---|---|---|
| Alarm number | 26106 | Clear with NCK RESET or with channel reset, then NCK warm restart so SMC20 firmware re-initialises. |
| %1 (drive) | Logical drive object | Drive object of axis 1 — confirm DRIVE-CLiQ cable reaches the SMC20 port expected by MD 30220. |
| %2 (axis) | Axis index | 1 → AX1 (W) of the first channel. |
| %3 (encoder) | Encoder index | 2 → MD 30220 / MD 30240 for index 1 (0-based) = the second entry in $MA_ENC. |
| %4 (online/ offline) | Online ↔ the encoder is registered on the bus; Offline ↔ it is not | Offline in this scenario. |
The alarm is raised once per NCK run-up and once per configuration change. Clearing the alarm by NCK-RESET always requires the underlying cause to be solved, otherwise the fault re-arms on the next power-up. See the SINUMERIK 840D sl Diagnostics Manual for the cross-reference list of alarm parameters.
SMC20 X520 Sense Jumper — Why Pin 1-14 and Pin 2-16 Fixes the LED
The SMC20 was designed around encoders that provide remote sense lines: dedicated low-current feedback pairs that allow the module to regulate its supply at the connector of the encoder, eliminating voltage drop on long cables. The Heidenhain LS370, like many photoelectric encoders, does not provide separate sense conductors; it only has its 1 Vpp signal pairs plus the +5 V/+12 V supply.
When the SMC20 is configured for the sense mode (or defaults to it on first run-up, depending on the loaded DSF file), and the encoder does not provide sense, the module reacts by detecting "sense voltage outside tolerance", which it translates to the encoder not being initialised. This is the situation that lights the red LED and produces alarm 26106.
The field-proven workaround found in this scenario is to jumper pins 1-14 and pins 2-16 at the SMC20 X520 connector. The action wires the SMC20 own logic supplies back to the sense inputs so that the module sees its own 5 V clean and concludes the encoder is within spec. The jumpering is done at the SMC20 female connector block (back-shell side) and does not require touching the LS370 cable assembly.
| Pin (X520) | 1 Vpp signal (standard) | Use after jumper |
|---|---|---|
| 1 | A+/cos+ | Linked to Pin 14 (5 V sense feedback) |
| 2 | B+/sin+ | Linked to Pin 16 (0 V sense feedback) |
| 4 | 5 V encoder supply (P5V) | Unchanged |
| 5 | Shield clamp | Unchanged |
| 9 | 5 V encoder supply return (P0V) | Unchanged |
| 14 | Sense +5 V | Linked to Pin 1 to feed back SMC20 local 5 V |
| 16 | Sense 0 V | Linked to Pin 2 to feed back SMC20 local 0 V |
After this mechanical fix, red-LED clear has to be confirmed on the HMI before configuration of $MA_ENCx continues. With many DSF versions the jumper is sufficient on its own; with stricter firmware (especially SMC20 firmware version ≥ 2.6.x as documented in the SMC20 firmware upgrade readme), the sense mode can also be switched via the DSF command or via MD parameter $NC_SENSOR_SENSE_MODE. Always confirm the active firmware variant against the SINUMERIK 840D sl Component Manager before deciding which side of the system to fix.
Root Cause Analysis — Three Independent Failure Paths
The forum thread identifies three independent machine-data scenarios that produce the same alarm 26106. Each is a configuration error, not a wire break; each is corrected in HMI/Startup area, not at the cabinet. A field engineer should attempt the data-side fix while the jumper is being installed — both fixes can be applied in parallel, and they reduce total diagnosis time.
| Cause | Symptom verification | Resolution |
|---|---|---|
| MD 30240 $MA_ENC_TYPE[1] = 0 by oversight | Encoder is supposed to be simulated, not physical. Alarm text will say "Encoder 2 of axis W configured as simulated but a physical hardware assignment exists". | If the encoder IS physical: set MD 30240 to the correct value (1 = incremental sin/cos, 4 = EnDat, 5 = SSI). If it IS supposed to be simulated: clear the wiring assignment in MD 30220 and remove the DSF, or supply a simulated value through MD 30230 / 30240 = 0. |
| MD 30220 $MA_ENC_MODULE_NR[1] wrong slot number | Alarm follows power-up immediately. Slot number does not match the DRIVE-CLiQ address of the SMC20. | Cross-check on HMI → Commissioning → Drive System → Topology. The SMC20 that physically terminates the LS370 cable must be the same hardware object the encoder chain points to. |
| MD 13050 $MN_DRIVE_LOGIC_ADDRESS values not in SDB Type 2000 / I/O slots mismatched | Alarm 26106 may coexist with 300906 / 300907 drive faults. Slot 1 ≠ slot 2 ordering (input/output asymmetry on PROFIsafe / standard slots). | Re-run HW Config in STEP 7 / TIA, recompile SDB, download to NCU. Confirm both input and output slot numbers match the SDB; the most common mistake is offset by 1 because of a leading diagnostic slot. |
The HMI Commissioning area offers a one-shot "Topology self-check" that compares MD 30220 / MD 13050 values against the live DRIVE-CLiQ topology. The command is commissioning → drive system → topology ↔ machine data comparison. Mismatch flags are blue (warning), red (fault), or green (match). All red flags must be cleared before NCK run-up.
Machine Data Configuration — Working Values
The following machine data are the ones to verify when commissioning an LS370 on SMC20. Adjust the indices for the second encoder (encoder 2 → index [1]) on the affected axis. Substitute real axis letter and encoder name where the HMI hides them behind channels.
| MD | Symbol | Description | LS370 / SMC20 example value |
|---|---|---|---|
| $MA_ENC_TYPE[1] | MD 30240 | Encoder type 0 = simulated, 1 = incremental, 4 = EnDat, 5 = SSI |
1 (incremental 1 Vpp with reference track) |
| $MA_ENC_MODULE_NR[1] | MD 30220 | Module number where the encoder is connected |
3 for SMC20 at DRIVE-CLiQ port 3 (verify against topology) |
| $MA_ENC_RESOL[1] | MD 31020 | Encoder resolution in increments per motor revolution or per signal period |
8000 for rotary, 4096 × per signal period for linear (with SMC20 12-bit interpolation) |
| $MN_DRIVE_LOGIC_ADDRESS[1] | MD 13050 | Logical PROFIBUS address slot |
3 (must exist in SDB Type 2000) |
| $MA_NUM_ENC | MD 30200 | Number of encoders for this axis (1 or 2) |
2 if encoder 2 is the LS370 load-side feedback |
| $MA_ENC_DENORM | MD 31050 | Encoder denominator for rotary/linear conversion (linear encoders use load-side distance units) |
1024 / 1000 = mm scale example |
| $MA_ENC_ZERO_MARK_MONITORING | MD 31110 | Reference-marker pulse monitoring |
2 for "On, with monitor, encoder raw reading not flipped" |
The effective linear resolution obtained with the LS370 on the SMC20 follows:
Δx_min = signal_period / interpolation_factor
Δx_min = 20 µm / 4096
Δx_min ≈ 4.88 nm
This is well below the LS370 mechanical accuracy class (±1 µm to ±3 µm depending on variant), so the SMC20 interpolation factor of 12-bit (= 4 096) is sufficient for most applications. Under no circumstances reduce the interpolation factor to widen signal noise tolerance; the resolution would drop below the system's positioning repeatability budget and degrade HMI servo-trace plots.
PROFIBUS Slot Configuration and Logical Address
Alarm 26106 also fires when the PROFIBUS configuration cannot reconcile the SMC20's slot address. The machine data expects an address in $MN_DRIVE_LOGIC_ADDRESS, and the SDB Type 2000 file delivered to the NCK must contain a matching record. Common root causes and validations:
- Re-open HW Config in STEP 7 / TIA Portal and verify each Motor Module entry. The PROFIsafe / standard slot ordering must match between the input and output areas — a slot offset of even 1 will be rejected at run-up.
- Compile and download the SDB to the NCU while NCK is in reset state. The SDB transfer requires a "boot up" acknowledgement from the PLC; on startup, press NCK RESET, wait 10 s, then PLC STOP → PLC RUN.
- In the HMI menu Commissioning > Drive System > Topology, compare logical addresses versus module numbers. Any exclamation mark next to a drive object means the SDB is missing the entry.
- If the system uses safety-integrated, check $MN_SAFE_SDP_BUS / $MN_SAFE_SDP_TIME_OUT values; an invalid SDP reference can also surface as 26106 in some firmware revisions, because the safe encoder is read through the same channel.
For customers running older SINUMERIK Operate installations, the HMI may require a softkey-coded "re-read SDB" toggle: Commissioning > Drive System > SD-Boot-Load > reload. This forces the NCK to re-process the configuration without re-compile.
Step-by-Step Diagnostic Procedure
- Capture the alarm context. On the HMI, save the current alarm log to a USB stick with Diagnosis > Alarm Log > Save. Note axis index, encoder index, drive object number, module number, and any concurrent alarms (e.g. 300906 or 300907).
- Power-down, wait, inspect. Open the main breaker, lock-out-tag-out, and wait for the DC-link LEDs on the Motor Module to extinguish (≤5 minutes). Unplug X520 from the SMC20 and inspect the cable for pin damage.
- Install the sense jumper at SMC20 X520. Jumper pins 1-14 and 2-16 on the SMC20 connector back-shell side. Use pre-assembled Siemens sense-link cable (which has the jumper inside the hood) if available, or hand-wire with ferrule crimps — both work, the pre-assembled variant is the EMC-cleaner choice.
- Inspect the LS370 cable. The LS370 supplied cable from Heidenhain is a 17-pin Sub-D with specific assignments: A+/A- on dedicated pairs, B+/B- on dedicated pairs, R+/R- on dedicated pairs, plus +5 V/+12 V supply. Confirm the cable has NOT been extended on the field side: SMC20 expects ≤ 30 m for non-Drives type cables; longer lengths increase signal attenuation and may need a Siemens K-encoder cable.
- Reconnect and power up. Restore power, wait for NCK boot. Observe SMC20 LED: it should turn green within 15 s, briefly orange during module discovery, then steady green.
- Verify machine data in parallel. During the same power-down, enter HMI → Commissioning → Machine Data, navigate to MD 30240, MD 30220, MD 13050 for encoder 2 of axis 1 (or the W axis). Verify values against the table above. Re-save after each change with the softkey "Save" (not "Set Active" only).
- Re-run topology self-check. After any MD change, NCK must be reset: use the "NCK RESET" softkey and wait for HMI prompt "Run-up completed". The Topology self-check command (MENU → Commissioning → Drive System → Topology → Compare Machine Data / Topology) must report green.
- Move the axis and verify measurements. Jog the W axis at slow feed (F 1000) over the LS370 reference marker; observe the position reading is consistent with $AA_IM and $AA_ENC2_ACTIVE. Run a compensation-cylinder reference; the LS370 must register one reference pulse per traverse past the track.
Verification and Commissioning Checks
After the resolution, the following 5 items must be true for the channel to be considered commissioned:
- Alarm buffer clean. Start HMI, log in as Service Engineer (service password may be required; check password list on the safe side of the cabinet door). Alarm log shows zero entries for 26106.
- SMC20 LED = green. Solid green at standstill. Briefly orange during profiling / NCK run-up cycles is normal; red = still wrong.
- Topology self-check = all green. HMI → Commissioning → Drive System → Topology ↔ Machine Data = green for encoder 2 of axis 1.
- Reference point approach successful. Run a G74 reference point approach (or equivalent NC function); the axis must reference to the LS370 reference track without triggering alarm 20001 or 21612.
- Servo-trace without anomaly. Open Diagnostics → Trace, plot $AA_IM (setpoint) and $AA_ENC2_ACTIVE (actual) on the same axis. The two curves must not diverge by more than the loop tolerance configured in MD 32200 default.
Field-Proven Caveats and Edge Cases
Four caveats deserve explicit mention based on real commissioning experience with the LS370 on SMC20.
Cable length and shielding: The SMC20's 1 Vpp receivers expect a cable with a 75 Ω nominal differential impedance for sin/cos pairs and a 100 Ω differential pair for EnDat (CFR pair). Heidenhain supply a calibrated cable specifically for SMC20 use. If the cable has been spliced or replaced with a generic shielded cable, common-mode spikes at the DRIVE-CLiQ HFC frequency (~ 2 MHz clock) can trigger the same 26106 alarm at first startup, with intermittent LED red/orange flips thereafter. Re-pull the cable as a Heidenhain OE-1 or Siemens K-cable assembly, no exceptions.
Firmware mismatch: The LS370 was first supported by SMC20 firmware 2.4 SP3. Earlier firmware releases confuse the LS370 reference marker with the original LS176C reference-marker format. Symptom: 26106 with intermittent 21612 "Reference mark not identified". Use Component Manager to verify SMC20 firmware ≥ 2.6.x with the LS370 family entry. Match NCK firmware ≥ 06.04.62 for safe co-existence.
Heidenhain signal normalisation: The 1 Vpp interface requires at least 0.6 V amplitude at the receiver input for reliable tracking. Long cable runs drop amplitude to 0.45 V. If the SMC20 red LED does not extinguish with the jumper fix and machine data is correct, scope A+/A- pair at the SMC20 connector while jacking the axis. Lower amplitude than 0.6 V means the cable itself must be re-laid.
Channel selection on SMC20 single-encoder variant: Some SMC20 part numbers only accept one encoder. If the customer wired an EnDat encoder plus a sin/cos encoder on the same X520 via a Y-splitter, the second encoder is silent. Verify with $NN_SENSOR_SYSTEM / $NN_SENSOR_CHANNEL_COUNT whether the firmware variant permits dual-channel operation. SMC20 part suffix -1WB00 = single channel; -1WB01 = dual channel.
Frequently Asked Questions
What does alarm 26106 mean on a SINUMERIK 840D sl with SMC20?
Alarm 26106 is raised by the NCK when it cannot find a physical encoder defined by MD 30220 / MD 30240 in the running drive topology. The message text reads "Encoder %3 of axis %2 not found", substituted from the channel axis name (e.g. "Encoder 2 of axis W not found"). It typically points to a configuration error in MD 30220, MD 30240, or MD 13050, or to a missing sense-line jumper at the SMC20 X520 connector when using a 1 Vpp sin/cos encoder without remote-sense conductors.
Why does the SMC20 LED stay solid red when an LS370 is wired?
A solid red LED on SMC20 indicates an active fault (not a boot state). The most common cause on first commissioning is missing sense-line feedback: Heidenhain LS370 does not provide remote sense pairs, so the SMC20 cannot confirm the encoder supply voltage is within ±5 %. Either install the jumper between pins 1-14 and 2-16 at the SMC20 X520 connector or set the SMC20 to sense-off in the relevant DSF block. Persistent red after these changes indicates a wiring short, open shield termination, or a wrong MD 30220 module number.
Which Siemens machine data control the second encoder of an axis?
The key parameters are MD 30240 $MA_ENC_TYPE[1] = 1 for incremental 1 Vpp with reference, MD 30220 $MA_ENC_MODULE_NR[1] for the SMC20 slot in the DRIVE-CLiQ topology, and MD 13050 $MN_DRIVE_LOGIC_ADDRESS[1] for the PROFIBUS logical address that must match SDB Type 2000. Additionally, MD 30200 $MA_NUM_ENC must be 2 for the axis to have a second encoder, and MD 31020 $MA_ENC_RESOL[1] must match the LS370 signal period (20 µm linear) × 4096 SMC20 interpolation factor.
Can the SMC20 read both an EnDat 2.1 and a 1 Vpp encoder simultaneously?
It depends on the SMC20 part number and firmware. Variant 6FC9320-1WB00 is a single-channel sensor module. Variant 6FC9320-1WB01 with firmware ≥ 2.6 SP5 supports dual-channel operation with EnDat 2.1 on X520 and 1 Vpp on X521 (when configured). The drive topology only allows one encoder chain per DRIVE-CLiQ port for a given axis; if the LS370 is the load-side feedback, it must occupy a unique SMC20 with its own DRIVE-CLiQ port.
Where do I check that the X520 sense jumper is wired correctly?
Power down, lock out, and verify with a multimeter on the SMC20 connector (X520 back-shell side). Pin 1–14 must show short (≤ 1 Ω); pin 2–16 must show short (≤ 1 Ω). All other pins must remain open when measured against 0 V (pin 9) and the shield (pin 5). Reverse-screw-driver test on the cable harness — a missing / damaged jumper will be evident as open circuit on 1–14. Confirm against the canonical SMC20 Equipment Manual for the encoder family in use; the jumper arrangement differs slightly for EnDat 2.1 versus 1 Vpp.