FM352 SSI Encoder No Reading: Root Cause and Resolution

David Krause19 min read
PLC HardwareSiemensTroubleshooting
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

FM352 SSI Encoder No Reading: Root Cause and Resolution

An S7-300 FM352 CAM controller paired with a Siemens 6FX2001-5FS12 absolute SSI encoder is a common high-resolution feedback chain used in cam-switching, rotary knife, and indexing applications. When the position value freezes or jitters across a few LSBs while the shaft turns freely, the symptom almost always points to one of three fault domains: SSI electrical integrity, FM352 parameterization, or mechanical/optical failure inside the encoder. This reference documents the field-proven diagnostic path for the "no reading / unstable reading" symptom and walks through the verification procedure that confirms a permanent fix.

1. Problem Statement

On a STEP 7 / TIA Portal project with a SIMATIC S7-300 CPU and an FM352 (order number 6ES7352-1AH02-0AE0 or the -1AH01 variant), an SSI absolute encoder is wired to the 15-pin sub-D socket on the front of the module. After the FM352 is configured in HW Config (or in the TIA Portal device view) the engineering tool reports no diagnostic error, but the actual position value read by the application program:

  • Stays anchored at a fixed value (e.g. 0 to 3 LSB) regardless of how the shaft is rotated,
  • Fluctuates randomly inside a 0–3° window as the shaft turns, and
  • Drives the computed speed (°/min) to a high but meaningless value because of the jitter on the position word.

The same symptom has been reproduced on a 6FX2001-5FS12 (4096-step, 13-bit single-turn) when the encoder has been physically damaged, when the SSI frame parameters do not match the encoder, or when the cable shielding is broken. The remainder of this article separates those three causes and gives the verification steps for each.

2. FM352 CAM Controller and SSI Encoder Background

The FM352 is a single-channel electronic cam controller that occupies one slot in an S7-300 rack. It reads the actual position of a machine axis from an SSI absolute encoder and switches up to 32 cam outputs (16 track outputs, 16 high-speed outputs) against that position. The encoder interface is implemented on the 15-pin sub-D connector X1 on the front of the module.

Key facts from the FM 352 configuration manual:

  • Supported SSI encoders: any encoder that follows the SSI standard with frame length 13 to 25 bits, monoflop time ≥ 20 µs, and 24 V supply from the FM352's encoder supply pin.
  • Code type: Gray or binary (selected per project).
  • Transmission rate: 100 kHz / 200 kHz / 500 kHz / 1 MHz.
  • Termination: integrated 120 Ω switchable by HW Config parameter "Enable terminating resistor".
  • Position resolution used by the cam function: 2^frame_length increments over the encoder's working range (single-turn or multi-turn, depending on the encoder).

The Siemens 6FX2001-5FS12 is a 13-bit single-turn SSI absolute encoder from the 1FX / 6FX2001 servo feedback family. Its core specs:

Parameter Value
Order number (MLFB) 6FX2001-5FS12
Resolution 4096 steps / revolution (13 bit)
Code type Gray
Supply 24 V DC ±10 %
Data interface SSI (synchronous serial)
Frame length 13 bits single-turn
Monoflop time ≥ 20 µs (typ. 30 µs)
Clock frequency range 100 kHz – 1 MHz
Mechanical speed ≤ 12000 rpm
Shaft Plain shaft, no coupling, ∅ 10 mm typical
Connector 12-pin Siemens signal connector, 17-pin on variants

For a 13-bit single-turn encoder, the FM352 will see exactly 4096 unique position codes over one full revolution. The angular resolution on a 360° axis is:

Δφ = 360° / 2^13 = 360 / 4096 = 0.087890625° per LSB

Any single LSB of jitter is therefore a movement of ~0.088°. If the readout jitters ±2 LSB the position will swing ~0.176°, which is enough to trip edge-to-edge cam detection. This is the physical reason a "nervous" 6FX2001-5FS12 on an FM352 produces runaway speed values: the cam controller does its 1 ms scan, sees a delta of 1 LSB, divides by 1 ms, computes 87 890 °/s, and the speed word pegs to the maximum.

3. FM352 X1 Pinout and Cabling Rules

The 15-pin sub-D socket X1 on the FM352 follows the Siemens standard SSI pinout. The cable from the 6FX2001-5FS12 must use shielded twisted pairs and a connector kit that matches the encoder (Siemens pre-assembled cable, e.g. 6FX2002-1AA00-... family, or a custom build with the Siemens 6FX2003-0CE12 connector kit).

Pin X1 (15-pin sub-D) Signal Function
1 +24 V Encoder supply (fused inside FM352)
2 0 V Encoder supply return
3 n.c. Not used
4 CLK Clock out to encoder, non-inverting
5 !CLK Clock out to encoder, inverting (RS-422 pair with pin 4)
6 DATA Data from encoder, non-inverting
7 !DATA Data from encoder, inverting (RS-422 pair with pin 6)
8 Shield Cable shield, connected at FM352 end
9–15 n.c. Reserved / not used for SSI
Critical wiring rules:
  • CLK and !CLK must be a twisted pair; DATA and !DATA must be a twisted pair. Never run a single-ended data line.
  • 24 V supply return (pin 2) and the 0 V of the logic ground must be at the same potential. If the S7-300 PS is a 10 A unit (e.g. 6ES7307-1EA01-0AA0), confirm the PS 24 V output measures ≥ 22.5 V at the FM352 terminals under load.
  • Shield must be clamped to the sub-D backshell at the FM352 end AND at the encoder end. Pig-tails longer than ~30 mm on either side will defeat the shielding.
  • Maximum cable length for SSI at 1 MHz clock: ~12 m for typical cable, ~50 m at 100 kHz. For a 6FX2001-5FS12 in a cabinet, 10–25 m is normal.

If the cable was reused from a prior installation and the connector was re-crimped, the most common fault is reversed DATA / !DATA at the encoder connector. The FM352 will still receive something because the pair is differential, but the recovered bit stream will be inverted and the value will be wrong — it will not, however, jitter at the LSB level. Jitter specifically indicates that the bit timing is just barely succeeding, i.e. the data is real but the S/N is poor.

4. Step 7 / TIA Portal Configuration of the SSI Channel

Open the FM352 properties in HW Config (STEP 7 V5.x) or the device view (TIA Portal) and select the encoder tab. The required entries for a 6FX2001-5FS12 are:

HW Config field Required value for 6FX2001-5FS12 Notes
Encoder type Absolute SSI Not "incremental", not "endat 2.2"
Code type Gray Do not select binary; the encoder emits Gray code
Frame length 13 bits Set the total frame length the encoder transmits
Number of revolutions (multi-turn) 0 (single-turn) The -5FS12 is single-turn; some variants are multi-turn and require the revolutions parameter to match the encoder
Transmission rate 100 kHz (start), 500 kHz (production) Start at 100 kHz to confirm connectivity, then increase
Monoflop time 20 µs (default) Must be ≤ the encoder's monoflop spec
Edge-to-edge detection Enabled, 1–3 LSB Reduces single-LSB jitter by averaging successive frames
Direction reversal Off Enable only if the encoder is mounted in reverse orientation
Terminating resistor On Switch in the 120 Ω across the CLK pair inside the FM352

For the full parameter tree including the cam parameters and the FC CAM_CTRL / FB CAM_DIAG block interface, refer to the FM 352 function manual. A common configuration mistake is to set the frame length to "13 bits single-turn" in the parameter UI but to leave the number of revolutions at the default "12" from a previous project. The FM352 will then expect a 25-bit frame (12 + 13), read the last 13 bits as data, and align them wrong — exactly the "nervous" 0–3° jitter reported in the source case.

5. Diagnostic Tree: Why the FM352 Reads 0 to 3 LSB

Use the decision tree below in order. Each step has a measurement that confirms or rules out the corresponding cause. Do not skip steps — the most common mistake is to assume "it must be the encoder" and replace a good part.

  1. Step 1 — Supply. Measure 24 V at the FM352 X1 pin 1 vs pin 2 with the encoder connected. Must be 22.5–26.4 V. If low, the PS 307 is overloaded or the cable has a high-resistance core.
  2. Step 2 — CLK pair. With an oscilloscope on pins 4 and 5, command the FM352 to read the position. The CLK pair must show clean, differential, 50 % duty clock bursts with the configured frequency. Ringing or overshoot > 1 V indicates missing termination.
  3. Step 3 — DATA pair. With the scope on pins 6 and 7 during a read, capture the data bits. Each bit must be stable for the full clock high period. If the data eye is open by less than 30 % of the bit period, the cable is the suspect.
  4. Step 4 — Frame length / revolutions match. Decode one frame by hand. For a 13-bit Gray-encoded 6FX2001-5FS12, the data stream should be 13 bits long followed by a 0 / 1 / idle. If the FM352 is configured for 25 bits you will see the FM352 latch onto the wrong LSBs and the value will appear "jumpy".
  5. Step 5 — Edge-to-edge detection. Enable edge-to-edge in the FM352 properties. If the jitter drops from 0–3° to 0–1 LSB, the encoder is healthy and the issue was a single-LSB noise floor, not a broken part.
  6. Step 6 — Mechanical inspection. Disconnect the encoder, remove it from the machine, and rotate the shaft by hand. The shaft must turn smoothly with no gritty feel, no side play, and no audible "crunch". A rattling sound or visible glass / oil particles indicates a damaged optical disc — the encoder must be replaced.
  7. Step 7 — Substitution. Mount a known-good spare 6FX2001-5FS12 (or a 6FX2001-5HS12 / -5MS12 with the same 13-bit single-turn format) on the original cable. If the new encoder reads correctly, the original encoder is the failure. If the new encoder is also jittery, return to Step 1 — the fault is in the cable, the 24 V supply, or the FM352 module itself.

6. Root Cause 1 — Mechanical Failure of the SSI Encoder

This is the fault that ultimately caused the symptom in the source case. The 6FX2001-5FS12 is an optical encoder: a glass or mylar disc is read by a photodiode pair. The disc is mounted on a hub, the hub on the shaft, all inside a sealed housing. The 24 V supply, the LED, and the photodiodes share that housing.

Failure modes that lead to a "jitter around 0°" symptom:

  • Glass disc shattered — the encoder "rattles" with glass particles inside. Each rotation smears the light and the SSI data toggles randomly. The FM352 still receives valid frames (no diagnostic error) but the position value is pure noise.
  • Photodiode LED degraded — output amplitude drops below the RS-422 threshold, the FM352's input comparator toggles near the decision point, single-LSB noise becomes a 3–5 LSB jitter.
  • Bearing failure — shaft turns but the code disc does not follow perfectly. The SSI frame is read at the wrong angular position and the value jumps.
  • Seal breach — oil or coolant inside the encoder refracts the LED light. Same effect as a degraded LED.

Confirmation of mechanical failure is by physical inspection. Open the encoder only if you intend to scrap it — most 6FX2001-5FS12 housings are not designed to be resealed. The diagnostic shortcut is to swap in a known-good unit on the same cable; if the new unit reads correctly, the original is mechanically or optically failed.

Important: When the field report says "original encoder was rattling with glass particles" the conclusion is unambiguous — the optical code disc has shattered. This is unrecoverable. The replacement must be a like-for-like 6FX2001-5FS12 (or a Siemens-recognised equivalent with 13-bit single-turn Gray SSI), and the replacement procedure must follow the Siemens installation guide for 1FX / 6FX2001 encoders with respect to shaft alignment, coupling, and connector pin-out.

7. Root Cause 2 — SSI Cable and Electrical Integrity

If the encoder passes the mechanical inspection but the FM352 still jitters, the next suspect is the cable. A failed cable is the most common cause of intermittent, not steady, errors. Check the following:

  • Conductor resistance of each core, end to end, on the disconnected cable. Should be < 1 Ω per 10 m for a 0.25 mm² conductor.
  • Insulation resistance core-to-core and core-to-shield, with a 500 V megger. Should be > 100 MΩ. Low insulation means coolant ingress.
  • Shield continuity, both ends. A shield broken at the backshell defeats common-mode rejection.
  • Twist pitch of the CLK pair and DATA pair. Use a cable with a tight twist (≤ 30 mm pitch). Loose-twist cable will allow crosstalk that opens the data eye.

If the cable passes these tests, look at the FM352 side. The 120 Ω termination must be enabled in HW Config and the corresponding DIP switch (if fitted on the variant) must be ON. The 6FX2001-5FS12 typically has a 120 Ω termination inside the encoder head; if both ends are terminated, the bus is over-terminated and the signal is attenuated. In that case, disable the FM352 internal termination and rely on the encoder's built-in termination, or vice versa.

For long cables or noisy cabinets, fit a ferrite on the cable at the FM352 end. This is an old field trick that often drops the LSB jitter from ±2 to ±0 on marginal installations.

8. Root Cause 3 — FM352 Parameterization Error

The third domain is configuration. The most common parameter errors observed in the field are:

  1. Frame length mismatch. Set to 25 when the encoder is 13. Fix: set frame length = 13.
  2. Revolutions left at default 12. The FM352 expects a 25-bit frame (12 + 13) but receives 13. Fix: revolutions = 0 for single-turn.
  3. Wrong code type. Set to binary when the encoder emits Gray. Symptom: erratic values, but the diagnostics may still show "OK". Fix: set code type = Gray.
  4. Monoflop time too short. If set below the encoder's monoflop, the encoder's output driver has not released the bus when the next read starts, and the first bit is read as a 0. Fix: monoflop = 20 µs (default, matches 6FX2001-5FS12).
  5. Transmission rate too high for the cable. 1 MHz on a 30 m cable with marginal shielding produces ringing. Fix: drop to 500 kHz or 200 kHz.
  6. Direction reversal left enabled. This swaps the count direction but does not, by itself, cause jitter.

Each of these can be checked in the FM 352 configuration manual parameter reference. After changing any of these values, perform a full download of the HW Config to the CPU and the FM352; an online "modify" of the encoder block does not always re-initialise the SSI channel.

9. Root Cause 4 — FM352 SSI Port Hardware Failure

If the cable and the configuration are both confirmed good, the FM352 module itself may have a damaged SSI front-end. The damage is usually caused by:

  • A 24 V core shorted to the DATA or CLK line (a crushed cable or a miswired connector).
  • Hot-plugging the encoder while the FM352 is powered (the inrush current can weld the ESD cell).
  • An inductive voltage spike on the encoder supply during a stop / start cycle.

Test by inserting a second, known-good FM352 into the slot and loading the same HW Config. If the new module reads the encoder cleanly, the original FM352 is faulty. Repair is module-level exchange; the FM352 has no field-replaceable parts for the SSI port.

10. Step-by-Step Resolution Procedure

Use the following ordered procedure on the bench or on the machine, with the S7-300 in STOP and the FM352 configured. Allow ~10 minutes per step.

  1. Open HW Config. Note the current encoder parameters (frame length, code, rate, revolutions, monoflop, termination). Save a screenshot for comparison.
  2. Set frame length = 13, revolutions = 0, code = Gray, rate = 100 kHz, monoflop = 20 µs, termination = ON. Save and download to the CPU.
  3. Set the FM352 to RUN. Use the FM352 web diagnostics (if available on the variant) or a watch table in STEP 7 to read the actual position value (e.g. DB structure DIAG_POS, address depends on the FB used).
  4. Rotate the shaft by hand a quarter turn. Verify the position changes by 1024 counts (¼ × 4096).
  5. If the position is stable but the LSB jitters by ±1, enable edge-to-edge detection in HW Config with a hysteresis of 1 LSB. Re-download. Verify jitter drops to 0.
  6. If the position is unstable or stuck, perform the mechanical inspection (Section 5 step 6).
  7. If mechanical inspection is positive, swap in a known-good encoder. If the new encoder is good, replace the original.
  8. If the new encoder is also bad, swap the FM352 module. If the new module is good, replace the original FM352.
  9. If a new module is also bad, replace the cable.

11. Verification Procedure

After the fix, perform the following four verifications and record the results in the commissioning log.

  1. Static accuracy. Lock the shaft at 0°, 90°, 180°, 270°. For each, read 1000 samples and confirm the mean value is within ±1 LSB of the expected (0, 1024, 2048, 3072 for 13-bit Gray-converted to binary).
  2. Jitter. With the shaft locked, compute the standard deviation of 10 000 samples. Acceptable jitter: ≤ 1 LSB at 100 kHz, ≤ 1 LSB at 500 kHz with edge-to-edge enabled.
  3. Speed sanity. Command a slow constant rotation of 60 rpm and verify the speed word from the FM352 reads 60 000 °/min × (1 / 360) × 4096 ≈ 683 counts per 10 ms. Cross-check that the speed does not peg to the maximum when the shaft is stationary.
  4. Cam switching. With the cam track configured, command one full revolution. Confirm each cam fires and clears at the configured angle within ±1 LSB.

The diagnostic log in the FM352 should remain empty of SSI errors (no SF, no BF for the encoder, no "encoder wire break" event in the diagnostic buffer). The diagnostic buffer is accessible via STEP 7: PLC → Module Information → Diagnostic Buffer.

12. Diagnostic Reference Matrix

Symptom Likely cause First check
Value stuck at one code, jumps 0–3 LSB Mechanical (shattered disc) or marginal LED Swap encoder
Value stable but wrong direction Direction reversal parameter Toggle direction reversal
Value follows rotation but ±50% off Wrong code type (Gray vs binary) Set code = Gray
Value jitters, follows rotation at wrong rate Frame length / revolutions mismatch Set frame length = 13, revs = 0
No reading, BF / wire-break alarm Cable break, supply missing, encoder dead Measure 24 V, scope CLK and DATA
Reading valid at 100 kHz, errors at 1 MHz Cable too long, over-terminated, no shield Lower rate, fit ferrite, check shield
Reading valid, cam switches randomly Edge-to-edge detection off, LSB jitter triggers cam Enable edge-to-edge, hysteresis 1–3 LSB

13. Safety and Spare-Parts Notes

Safety:
  • De-energise the S7-300 PS 307 and the encoder supply before disconnecting the 15-pin sub-D. The FM352 encoder supply is fused but a live pull can still damage the SSI front-end.
  • Do not hot-plug the 6FX2001-5FS12. The encoder's 24 V core is the same rail that feeds the FM352's RS-422 driver; a hot-plug arc can latch the driver.
  • After replacing the encoder, verify the cam track offsets and reference position. The FM352 will hold the encoder reference through a power cycle only if the encoder itself is a true absolute SSI; the 6FX2001-5FS12 is absolute, so the reference is preserved across a power cycle.

Recommended spare-parts set for an FM352-driven axis with a 6FX2001-5FS12:

  • One 6FX2001-5FS12 spare (or current equivalent at the time of order),
  • One pre-assembled SSI cable, part number from the 6FX2002-1AA / 6FX2002-2AA family, length matched to the installation,
  • One 6ES7352-1AH02-0AE0 spare (or the variant fitted on the machine),
  • One Siemens 6FX2003-0CE12 connector kit (in case the cable is repaired on-site).

14. Summary

The "FM352 SSI encoder returns 0–3° jitter, no stable reading" symptom has three root causes — mechanical encoder failure, electrical integrity of the cable, and FM352 parameterization. The fastest field path is: (1) verify the configuration against the 6FX2001-5FS12 datasheet (frame length 13, Gray, single-turn, monoflop 20 µs); (2) enable edge-to-edge detection to absorb single-LSB noise; (3) inspect the encoder physically for shattered code-disc debris; (4) if mechanically intact, swap the encoder and confirm. In the source case, mechanical inspection revealed glass particles inside the encoder — the optical disc had shattered — and the resolution was a like-for-like replacement. After the fix, perform the four-step verification (static accuracy, jitter, speed sanity, cam switching) and record the diagnostic buffer state.

FAQ

What frame length should be configured in HW Config for a 6FX2001-5FS12 on the FM352?

Set frame length = 13 and number of revolutions = 0. The 6FX2001-5FS12 is a 13-bit single-turn SSI encoder. Setting revolutions to the default 12 will make the FM352 expect a 25-bit frame and the decoded value will jitter at 0–3 LSB even though the encoder itself is healthy.

Why does the FM352 position jitter by ±1 LSB and the speed word peg to the maximum?

One LSB on a 13-bit encoder equals 360/4096 = 0.0879°. The FM352's 1 ms internal scan computes speed as Δposition / Δtime. A single-LSB noise event therefore produces a 1 / 0.001 × 0.0879 = 87.9°/ms, i.e. 5 274°/min, which the application typically sees as a runaway speed. Enable edge-to-edge detection with a hysteresis of 1–3 LSB in HW Config to absorb the noise.

How do I confirm that the FM352 SSI front-end is good and the encoder is the problem?

Mount a known-good 6FX2001-5FS12 (or an equivalent 13-bit SSI encoder) on the existing cable and re-download the HW Config. If the new encoder reads correctly, the original encoder is mechanically or optically damaged. If the new encoder also jitters, the cable or the FM352 module is the fault and you should swap the module into a known-good slot to isolate it.

What is the maximum SSI cable length between the FM352 and a 6FX2001-5FS12?

At 100 kHz clock, up to ~50 m of shielded twisted-pair cable is reliable. At 500 kHz, plan for 25 m. At 1 MHz, 10–12 m is the practical limit. The cable must be a Siemens 6FX2002-1AA / 6FX2002-2AA pre-assembled cable or an equivalent with twisted CLK pair, twisted DATA pair, and shield clamped at both ends. Do not exceed the 24 V drop budget: 0.5 V across the supply pair is the practical limit.

Does the FM352 retain the absolute position across a power cycle with a 6FX2001-5FS12?

Yes. The 6FX2001-5FS12 is a true absolute SSI encoder with no battery. The FM352 reads the absolute position at every restart and re-syncs the cam track to the configured reference point. The reference point is held in the FM352's non-volatile parameters, not in the encoder, so the same encoder can be replaced and the reference re-applied from HW Config.

Can I use a 6FX2001-5HS12 or 6FX2001-5MS12 as a drop-in replacement for a 6FX2001-5FS12?

Only if the frame length and code type match. The 5HS12 is 13-bit single-turn, the 5MS12 is multi-turn. A multi-turn replacement requires the FM352 "number of revolutions" parameter to be set to the encoder's revolution count. The 5FS12 is a 12-bit variant in some datasheets, but the SSI configuration must be set to match whichever variant is fitted — re-verify the order code on the encoder nameplate before parameterising.

Back to blog