FM 350-2 Counter: Troubleshooting 24V HTL Encoder Pulse Failures

David Krause11 min read
S7-300SiemensTroubleshooting
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

FM 350-2 Counter Module: Troubleshooting 24V HTL Encoder Pulse Failures

The Siemens FM 350-2 counter module is an 8-channel, 24 V function module for the S7-300 / S7-400 automation system. It is commonly deployed in packaging lines, machine tools, and material-handling cells where incremental encoders provide position or speed feedback. When a replacement 24 V HTL (push-pull) encoder is installed and the module returns zero counts, the root cause is almost always a wiring or commissioning issue rather than an encoder-incompatibility problem. This reference walks through the diagnostic sequence, the supported encoder types, the exact terminal assignments, and the STEP 7 software checks that recover counting operation.

1. Problem Description

A factory retrofits a damaged incremental encoder on a machine that uses an FM 350-2 counter module. The replacement unit is a 24 V HTL incremental encoder (EIL580-series, 1024 ppr). After the swap, the application program reads a constant zero in the counter value, even though the encoder shaft is rotated. A direct voltage check at the front connector of the FM 350-2 shows the count pulses on track A but never on track B.

Symptoms observed in the field:

  • Counter DB load value (e.g., DBx.LOAD_VALUE) never updates.
  • User_Stat peripheral address returns zero or stuck values.
  • LED on the FM 350-2 for the active channel does not toggle on rotation.
  • Voltmeter at terminals A0/B0 shows the expected 24 V level on A, but the B input is dead.

2. Root Cause Analysis

The FM 350-2 natively supports 24 V encoders in the following configurations, per the official Siemens operating instructions:

  • NAMUR encoders to DIN 19234, wired to terminals A0–A7 with diagnostic capability.
  • 24 V incremental encoders, with track A on A0–A7 and track B on B0–B7.
  • 24 V pulse encoder with direction level, count signal on A0–A7, direction level on B0–B7.
  • 24 V pulse encoders, single-channel on A0–A7.

Per the Siemens FM 350-2 manual excerpt, HTL (push-pull) outputs are fully supported on the 24 V inputs; no level-shifter or 5 V interface is required. The most common reasons for a zero-count condition on a 24 V HTL encoder are listed below in the Troubleshooting Matrix (Section 9). In the case described in the field report, the root cause was a physically damaged Track B output in the replacement encoder, not a wiring or configuration defect.

Important: The FM 350-2 does not natively accept 5 V TTL differential signals (RS-422) on the A/B inputs. Some installations report successful 5 V counting only because the encoder outputs an open-collector stage biased by the 24 V supply, producing an attenuated 5 V swing that the input stage still recognizes. Do not rely on this behavior for production — select a true 24 V HTL or 24 V push-pull encoder.

3. Prerequisites

  • STEP 7 V5.5 (or TIA Portal V20 with FM 350-2 HSP) installed and licensed.
  • FM 350-2 GSD/HSP installed and hardware catalog updated.
  • 24 V DC power supply sized for the encoder load (typical incremental encoder 40–100 mA, plus FM 350-2 backplane current).
  • Spare incremental encoder with 24 V HTL (push-pull) outputs.
  • Multimeter or oscilloscope for signal verification at the front connector.
  • Wiring diagram from the machine tool builder identifying the active channel (1–8) and the configured operating mode (count, measure, or gate control).

4. Hardware Wiring Procedure

The FM 350-2 front connector accepts encoder signals and 24 V encoder supply through dedicated terminals. The following table maps the required connections for a single-channel 24 V incremental encoder on Channel 1.

FM 350-2 Terminal Signal Encoder Wire (typical)
A0 Track A pulse (count input, channel 1) Encoder pin A / phase A
B0 Track B pulse (direction input, channel 1) Encoder pin B / phase B
21 (+) External 24 V encoder supply positive Encoder +V (24 V)
22 (-) External 24 V encoder supply reference Encoder 0 V / GND
N.C. Track N (index) — only wired if zero marker is evaluated Encoder pin N (optional)

Wiring steps:

  1. Open the front connector cover of the FM 350-2.
  2. Verify the encoder cable shield is bonded to the module's shield terminal using a low-impedance clamp, not a flying lead.
  3. Connect encoder pin A to terminal A0; connect encoder pin B to terminal B0.
  4. Connect encoder +V (typically brown wire) to terminal 21; connect encoder 0 V (typically blue wire) to terminal 22.
  5. Route the 24 V supply for terminals 21/22 from a separate 24 V DC bus, not from the S7-300 backplane. The Siemens manual explicitly states: "You must connect the encoder supply for the 24-V encoders via an external 24 VDC voltage supply."
  6. Tighten the front connector screws and close the cover.

5. Software Configuration in STEP 7 / TIA Portal

After wiring, the module must be parameterized in HW Config to declare the count mode, the pulses-per-revolution value, and the active operating mode for each channel.

5.1 Operating modes per channel

  • Counting mode (continuous / single / periodic) — most common for position feedback.
  • Measuring mode — used for time-based pulse measurement.
  • Gate control mode — for start/stop-controlled counting windows.

5.2 Critical configuration parameters

Parameter Typical Value (1024 ppr HTL) Notes
Pulses per encoder revolution 1024 Match the encoder datasheet exactly.
Count direction Normal (or invert per wiring) Set in HW Config or in DB.
Signal evaluation Single (track A only) or Quad (A + B with 1x/2x/4x) Quad 4x: 4096 counts/rev at 1024 ppr.
Gate function Cancel / Abort / Interrupt Determines what happens at gate close.
Upper count limit 0x7FFFFFFF (max 31-bit) Default 24-bit, can be set to 31-bit.
Hardware interrupt On comparison, gate close, overflow Optional.

5.3 User program integration

The FM 350-2 ships with the FC2 CNT2_CTR function block for general counting operations. It must be called from a cyclic OB (typically OB1) to keep the user DB current and to trigger commands such as CTRL_DQ0, SET_DQ0, or READ_DQ0.

ST call example in OB1:

// Call FC2 "CNT2_CTR" with the counter DB
CALL  FC2   // CNT2_CTR
  DB_NO  := 10      // Instance DB number
  I0     := FALSE
  I1     := FALSE
  SET_DQ0 := FALSE
  CTRL_DQ0 := FALSE
  READ_DQ0 := FALSE
  RES_ERROR := FALSE
  PARA := FALSE
  READ_ERR := FALSE
  ACT_CNT  := FALSE

If FC2 CNT2_CTR is not called, the counter will not start, and the user DB will not be refreshed even though the hardware inputs are wired correctly.

6. Verification Procedure

  1. Power-up check: Apply 24 V to the encoder and confirm the encoder LED (if present) is lit. Measure 24 V between terminals 21 (+) and 22 (-) of the FM 350-2 front connector.
  2. Signal check at A0: With an oscilloscope or multimeter in AC mode, rotate the encoder shaft slowly. Verify a clean 24 V square wave on terminal A0 (and B0 for quadrature).
  3. Online parameter check: Open the counter DB online in STEP 7. Inspect the CHECKBACK_SIGNALS.PARA bit — this confirms the parameter set was accepted by the module. A 0 in PARA indicates a parameterization error.
  4. User_Stat peripheral read: The FM 350-2 provides a peripheral address range (P-area) per channel. Read the User_Stat words to confirm the actual count register is incrementing. The P-address is assigned in HW Config; typical base is PIW 288 onward.
  5. Program-level verification: In OB1, set a temporary variable to DB10.Counter_1_Actual_Value and monitor it in the VAT table. Manually rotate the encoder 1024 ppr in quadrature-4x mode and confirm 4096 counts are registered.
  6. Hardware interrupt test: If a hardware interrupt is configured (e.g., on comparison match), trigger the event and verify OB40 fires.

7. Root Cause of the Reported Field Failure

In the field report, the field engineer verified the following sequence:

  1. A 24 V HTL encoder was installed as a direct replacement for the original unit.
  2. Track A produced 24 V pulses at terminal A0, and the count value advanced.
  3. Track B produced no signal at terminal B0, breaking the quadrature relationship.
  4. When a 5 V TTL encoder was temporarily substituted, both A and B inputs registered 5 V pulses at the FM 350-2 (open-collector behavior into the 24 V input stage).

The diagnosis: the replacement 24 V HTL encoder's pin B output transistor was physically damaged — likely an ESD event during handling or a defect from the supplier. The FM 350-2 and the wiring were correct. The remediation was to swap the encoder for a new, verified unit.

Key takeaway: Always validate both A and B channels independently at the front connector before assuming a module, configuration, or wiring fault. A damaged encoder can present as a module-level problem.

8. Encoder Selection Guidance

For any FM 350-2 retrofit, the replacement encoder must satisfy the following minimum electrical requirements:

Specification Required Value Reason
Supply voltage 24 V DC ±20% Matches the 21/22 supply input and input thresholds.
Output type HTL (push-pull) or open-collector NPN with pull-up Natively supported by FM 350-2 input stage.
Output high level (V_OH) ≥ 18 V at rated load FM 350-2 24 V input recognizes 11–30 V as high.
Output low level (V_OL) ≤ 5 V at rated load FM 350-2 24 V input recognizes 0–5 V as low.
Max count frequency 10 kHz / 20 kHz / 200 kHz — verify against FM 350-2 variant Exceeding the count frequency triggers diagnostic interrupt.
Channel count Single-ended A and B, with optional N (index) Not differential RS-422.

The EIL580-SC10.5FN.01024.A encoder used in the reported case is a 24 V HTL push-pull unit with 1024 pulses per revolution — fully compatible with the FM 350-2. The GI355.A60C323 original is a legacy Hengstler unit, no longer in production; the EIL580 from the same vendor is a drop-in modern replacement.

9. Troubleshooting Matrix

Symptom Likely Root Cause Diagnostic Step Remediation
Zero counts, no pulses at A0 No 24 V supply at terminals 21/22; encoder wire break; encoder power supply failed Measure V between 21 and 22 Restore 24 V supply; re-pull encoder cable
Counts present on A but not B Damaged encoder B output; broken B wire; missing B wiring to B0 Scope terminal B0 while rotating shaft Replace encoder; repair wire; rewire to B0
Counts increment only in one direction Quadrature mode set to single-channel; direction level inverted Check HW Config operating mode Set to quadrature 1x/2x/4x; invert direction if mechanical orientation requires
Counter holds at last value Gate input inactive or FC2 not called Check gate function and OB1 call of FC2 CNT2_CTR Activate gate per HW Config; add CALL FC2 to OB1
CHECKBACK_SIGNALS.PARA = 0 Parameterization rejected (invalid pulses/rev, invalid operating mode) Read diagnostic interrupt OB82 Correct parameter set; download HW Config
User_Stat values frozen Wrong peripheral address used; OB1 not refreshing DB Compare P-address in HW Config vs. PIW used in program Correct the P-address or rewrite to read from the instance DB
SF (red) LED on FM 350-2 Wire break on track A or B; missing encoder supply; group error Open module diagnostics in STEP 7 Resolve the diagnostic message; restart module
Counts drop / jitter at speed Max count frequency exceeded; cable too long; missing shield bond Calculate frequency = rev/s × ppr; check cable ≤ 50 m for 24 V HTL Lower mechanical speed, use shorter shielded cable, re-bond shield

10. STEP 7 Quick Diagnostic Procedure

  1. Open SIMATIC Manager → online → accessible nodes → select the FM 350-2.
  2. Right-click → Module Information → Diagnostics. Note any pending diagnostic interrupts (OB82).
  3. Open the counter DB online. Inspect:
    • CHECKBACK_SIGNALS.PARA — must be 1.
    • CHECKBACK_SIGNALS.ACT_CNT — must be 1 (count active).
    • CHECKBACK_SIGNALS.GATE — must be 1 (gate open).
  4. Add a VAT to monitor DBx.Actual_Value in real time.
  5. Rotate the encoder slowly and confirm the value changes by the expected count increment.

11. Field-Commissioning Checklist

  • Encoder datasheet pulses/rev value matches the HW Config parameter exactly.
  • Encoder supply is 24 V DC from a clean, dedicated bus, not backplane-derived.
  • Cable shield bonded at FM 350-2 end only, with 360° clamp to the shield bar.
  • Track A on A0, Track B on B0, supply on 21/22 — verified with continuity tester.
  • FC2 CNT2_CTR is called from OB1 with the correct DB number.
  • HW Config downloaded and the SF LED is off after restart.
  • Counter value advances correctly when the shaft is rotated by hand.
  • Quadrature 4x verified: 1024 ppr × 4 = 4096 counts per mechanical revolution.

12. Related Siemens Documentation

For deeper configuration and parameterization reference, consult the following official Siemens resources:

Frequently Asked Questions

Does the FM 350-2 support 24 V HTL (push-pull) encoders?

Yes. The FM 350-2 supports 24 V incremental encoders, 24 V pulse encoders with direction level, 24 V pulse encoders, and NAMUR encoders per DIN 19234. Connect Track A to terminals A0–A7, Track B to B0–B7, and 24 V supply to terminals 21 (+) and 22 (-).

Can the FM 350-2 read 5 V TTL encoders?

The FM 350-2 is a 24 V module. While some 5 V open-collector TTL encoders may produce counts when biased by the 24 V supply, this is not a guaranteed behavior. Use a true 24 V HTL or push-pull encoder for reliable production operation.

Why does my counter DB show zero even though pulses are present at the terminal?

Verify that FC2 CNT2_CTR is called from OB1 with the correct instance DB number. Without the cyclic call, the user DB is never refreshed. Also confirm CHECKBACK_SIGNALS.PARA = 1, indicating the parameter set was accepted.

How do I check the actual count value in real time?

Open the counter DB online in STEP 7 and add it to a VAT table. The Actual_Value word/DWord field updates with each cycle. For higher-resolution verification, also read the FM 350-2 peripheral address (e.g., PIW 288) and confirm it matches.

What is the maximum count frequency of the FM 350-2?

Count frequency is variant-dependent; common FM 350-2 versions support up to 10 kHz, 20 kHz, or 200 kHz per channel. Always verify the exact variant ordered (e.g., 6ES7350-2AH01-0AE0) against the encoder's maximum output frequency to avoid overflow diagnostic interrupts.

Back to blog