DSZY35 Hall Sensor Wiring to S7-1200 HSC: Configuration Guide

David Krause16 min read
S7-1200SiemensTutorial / How-to
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

Overview

The Drive System Europe DSZY35 stainless-steel linear actuator with HS2 dual-channel Hall sensors provides incremental position feedback that must be decoded by a high-speed counter (HSC) on a Siemens SIMATIC S7-1200 CPU. The HS2 suffix designates two Hall-effect channels (Data 1 and Data 2) producing quadrature signals — the only configuration that lets the PLC determine both displacement and direction of travel. This reference covers the electrical interface, TIA Portal HSC configuration, input filter tuning, verification, and field diagnostics required to bring the actuator online reliably on CPU 1211C, 1212C, 1214C, 1215C, 1217C, or an S7-1200 G2 successor.

The DSZY35 HS2 Hall sensors are open-collector outputs switched to 0 V. The PLC input circuit, when configured as P-type (sourcing), provides the internal pull-up to +24 V. If you measure Data 1 and Data 2 with a standard multimeter while the actuator is running, both lines will read as continuous 24 V — that result is expected for an averaging measurement. The multimeter cannot resolve the pulse train. Always verify proper operation with an oscilloscope, with the HSC count value, or by commanding the actuator to a known position.

DSZY35 Actuator Electrical Interface

The DSZY35 ships as a single cable harness carrying motor power leads and the HS2 Hall sensor leads. Always refer to the DSZY35 datasheet (PDF) for the exact wire color mapping of your specific variant (DSZY35-24-19-400-HS2-IP69K, 10070612).

Wire (typical) Function PLC connection
Red +24 V DC (motor + Hall supply) PLC 24 V sensor supply output
Black / Blue 0 V DC return PLC M terminal
Yellow (Data 1) Hall channel A HSC Phase A input (I0.0 for HSC_1)
Green (Data 2) Hall channel B (quadrature) HSC Phase B input (I0.1 for HSC_1)

HS2 designates a two-channel quadrature Hall sensor. The pulse count per millimetre of stroke depends on the actuator lead and internal gearing — consult the datasheet for the pulses-per-revolution figure and convert to pulses-per-millimetre using the actuator's lead.

Do not parallel the motor return and the Hall sensor return unless the datasheet explicitly states they share the same conductor. Some DSZY35 variants keep the motor and Hall grounds isolated to reduce EMC coupling from motor commutation.

Wiring Topology

The topology below shows the recommended connection between the DSZY35 and the S7-1200 onboard inputs used by HSC_1. The 24 V sensor supply on the PLC must be sized for the DSZY35 inrush; add flyback or PTC protection per the actuator datasheet.

DSZY35 Actuator HS2 dual-channel Hall +24 V 0 V Data 1 (Ch A) Data 2 (Ch B) S7-1200 CPU HSC_1 quadrant mode 24V sensor M terminal I0.0 (Phase A) I0.1 (Phase B) Shielded cable — terminate shield at PLC M, not at actuator

S7-1200 HSC Hardware Prerequisites

The S7-1200 CPU exposes six high-speed counter instances on the onboard digital inputs. The table below shows the default Phase A / Phase B / Reset mapping for HSC_1 through HSC_6 on a standard CPU 12xx with no signal board. With a Signal Board (SB) installed, the affected HSC inputs can be reassigned to SB terminals.

HSC instance Phase A input Phase B input Reset (optional)
HSC_1 I0.0 I0.1 I0.3
HSC_2 I0.2 I0.3 I0.5
HSC_3 I0.4 I0.5 I0.7
HSC_4 I1.0 I1.1 I0.3
HSC_5 I1.2 I1.3 I0.3
HSC_6 I1.4 I1.5 I0.3

Verify the mapping for your CPU in the device manual — S7-1200 G2 (firmware 5.x) added additional HSC inputs and re-mapped some legacy assignments. Refer to the Siemens S7-1200 HSC application examples for canonical wiring patterns.

TIA Portal HSC Configuration Step-by-Step

  1. Open the project in TIA Portal V16 or later (V18+ recommended for firmware 4.4 CPUs).
  2. In the project tree, double-click Device configuration for the S7-1200 CPU.
  3. Expand Properties → High-speed counters (HSC) in the inspector window.
  4. Select the HSC to use — HSC_1 is the conventional choice for I0.0/I0.1.
  5. Check Enable this high-speed counter.
  6. Set the Counter type to Quadrature (A/B phase). Do not select "Pulse and direction" — that mode treats Data 1 as count and Data 2 as direction, which wastes one of the quadrature edges.
  7. Select the Counting mode: 1x, 2x, or 4x evaluation. 4x gives the highest resolution (four counts per electrical cycle) at the cost of doubled maximum frequency requirements.
  8. Open the channel properties for I0.0 and I0.1 and set the digital input filter to the fastest available value (see filter table below).
  9. Optional: assign a hardware reset input. With a DSZY35, a hardware reset is rarely needed because the actuator's stroke is mechanically limited.
  10. Click Compile → Hardware (rebuild all).
  11. Download the hardware configuration to the CPU.
  12. Download the software (program blocks) — both hardware and software downloads are required for HSC changes to take effect.
If you only perform a software download, the new HSC instance assignment will not be active. If you only perform a hardware download, the existing program will not pick up the new HSC address aliases. Always do both, in that order.

Input Filter Time Constant — The Most Common Field Issue

The default digital input filter on S7-1200 standard inputs is in the millisecond range. The DSZY35 Hall sensors produce pulses with periods well below one millisecond at typical actuator speeds. Leaving the filter at default suppresses every transition and the HSC will not increment. The symptom is exactly what field engineers report: "both inputs are on but the counter does not count."

Filter setting Filter time Max pulse frequency Recommended use
Fastest 0.1 µs 1 MHz High-speed encoders, fast HSC
0.2 µs 500 kHz High-speed HSC
0.4 µs 250 kHz Standard HSC
0.8 µs 125 kHz Standard HSC (typical default for HSC inputs)
1.6 µs 62.5 kHz Slow encoders
Standard 100 µs 5 kHz Not for HSC
200 µs 2.5 kHz Not for HSC
400 µs 1.25 kHz Not for HSC
800 µs 625 Hz Not for HSC
1.6 ms 312 Hz Not for HSC
Default 3.2 ms 156 Hz Not for HSC
6.4 ms 78 Hz Not for HSC
12.8 ms 39 Hz Not for HSC

Set the I0.0 and I0.1 filter to the fastest available value. After downloading hardware and software, the HSC will register transitions.

Quadrature Decoding Theory

Two Hall channels arranged 90° electrically out of phase produce the quadrature pattern shown below. The HSC hardware in the S7-1200 decodes direction from the phase relationship: if A leads B, the counter increments; if B leads A, the counter decrements. Without both channels connected, direction cannot be resolved.

A B Position 0 Time → Position N A leads B → count UP (extend) B leads A → count DOWN (retract)

In 1x evaluation, the counter increments on a single edge of A. In 4x evaluation, it increments on every edge of A and B (four counts per electrical cycle). Choose 4x unless the resulting count rate exceeds the HSC maximum frequency limit.

Pulse Rate Calculation

Verify that the HSC can keep up with the DSZY35 Hall sensor by calculating the expected pulse frequency at the actuator's maximum speed. The formula depends on the actuator's mechanical lead (mm per motor revolution) and the internal pulses-per-revolution figure of the HS2 Hall sensor:

f_pulse (Hz) = v_max (mm/s) × PPR / lead (mm/rev)

Example calculation: if the DSZY35 has a lead of 4 mm/rev and the HS2 outputs 100 pulses per motor revolution, then at a maximum linear speed of 50 mm/s:

f_pulse = 50 × 100 / 4 = 1 250 Hz

This is well within the S7-1200 HSC capability, even with the default filter setting. However, if your actuator has a faster lead (e.g. 1 mm/rev) and runs at 200 mm/s, the pulse rate jumps to 20 kHz — far above the millisecond filter cutoff. Always confirm the pulse rate from the DSZY35 datasheet and choose the filter accordingly. The maximum input frequency of the HSC filter f_max must satisfy f_pulse ≤ f_max.

S7-1200 HSC Counting Mode Selection

Mode Counts per electrical cycle Max pulse rate (with 0.1 µs filter) Best for
1x 1 1 MHz / 4 ≈ 250 kHz Slow actuators, conservative
2x 2 1 MHz / 2 ≈ 500 kHz Balanced resolution/speed
4x 4 1 MHz Maximum resolution

The DSZY35 HS2 typically produces pulses in the tens to low-hundreds of Hz at rated actuator speed. Any of the three evaluation modes will work; 4x gives the best position resolution.

Verification Procedure

  1. Place the CPU in RUN mode.
  2. Open an online watch table and force the DSZY35 motor direction output to extend.
  3. Monitor the HSC_1 count value. The default address for the HSC_1 count is ID1000 (input double word, 32-bit signed). Watch this ID in the watch table — it should increment while extending and decrement while retracting.
  4. If ID1000 updates erratically or not at all, return to the filter configuration step.
  5. If the count increments in the wrong direction relative to your process, swap Data 1 and Data 2 wires at the PLC terminals — no software change needed.
  6. Move the actuator to a known mechanical reference position (e.g. fully retracted) and use CTRL_HSC to set the counter to zero.
  7. Command a known stroke length and compare the count delta against the calculated pulses-per-millimetre figure.

Sample SCL Code

The HSC_1 hardware instance is auto-generated by TIA Portal once the HSC is enabled in the device configuration. You can read and control it directly from user logic via the CTRL_HSC instruction. The simplest pattern for a homed linear actuator is:


"DB_HSC".HSCInstance := 1;
"DB_HSC".NewCountValue := 0;            // home position
"DB_HSC".CmdEnable := TRUE;
CTRL_HSC(Instance := "HSC_1",        // hardware instance from device config
         NewCountValue := "DB_HSC".NewCountValue,
         Enable := "DB_HSC".CmdEnable);

// Read current count
"DB_HSC".CurrentCount := "HSC_1".CountValue;

The HSC count is also directly accessible as ID1000 (HSC_1) / ID1004 (HSC_2) / ID1008 (HSC_3) / ID1012 (HSC_4) / ID1016 (HSC_5) / ID1020 (HSC_6) without invoking CTRL_HSC, provided the HSC is enabled in the device configuration.

Homing Routines

The DSZY35 has mechanically limited end positions but no built-in home reference. Implementing a homing sequence ensures the HSC count starts at zero from a known mechanical position:

  1. Command the actuator to retract until a hard mechanical stop is reached (use a current limit or time-out in the motor drive).
  2. Use CTRL_HSC to set the HSC count to 0 — the mechanical hard-stop is now your reference.
  3. Move the actuator to the operating position; the count now represents absolute position in pulses from the home.

For absolute homing with sub-millimetre accuracy, add an external proximity sensor on the actuator rod and use it as the HSC reset input (I0.3 for HSC_1, etc.). Wire the proximity sensor PNP output into I0.3 and enable the hardware reset in the HSC configuration. The HSC will auto-zero on every rising edge of I0.3.

Using HSC as Encoder Input to a TO Axis

If you need closed-loop positioning, configure a Siemens technology object positioning axis (TO_PositioningAxis) and assign the HSC as the encoder input. This adds:

  • Automatic homing sequences
  • Software limit switches
  • Positioning profiles
  • Trajectory planning with jerk limiting

The TO configuration requires the same HSC hardware setup as described above. The HSC then feeds pulses into the axis controller instead of being read directly in user logic. Note that a TO positioning axis typically requires a pulse generator output on the CPU side as well; with a simple DSZY35 direction-control actuator the TO is often overkill — a basic HSC plus manual direction control in user logic is sufficient.

HMI Tag Mapping

To display the actuator position on a Siemens HMI (Basic Panel, Comfort Panel, or Unified), expose the HSC count to the HMI tags:

HMI tag PLC address Conversion
ActuatorPosition_mm ID1000 (HSC_1) HMI linear scaling: count / pulses_per_mm
ActuatorDirection ID1000 bit 15 Boolean display
ActuatorActive ID1000 bit 14 Boolean display

Configure the HMI tag with linear scaling: HSC raw count (pulses) ÷ pulses-per-mm = millimetres. The pulses-per-mm value comes from the DSZY35 datasheet lead and the Hall sensor PPR.

Firmware Compatibility

CPU firmware HSC count limit Notes
4.0 ±32 768 (16-bit) or ±2 147 483 647 (32-bit) Default 32-bit count
4.2 Same as 4.0 Added SB input re-assignment
4.4 Same as 4.0 Extended diagnostics
4.5+ Same as 4.0 Additional HSC channels on certain CPUs
5.0 (S7-1200 G2) 64-bit count Increased maximum pulse rate

Diagnostic Buffer & Status Bits

When the HSC is misbehaving, the CPU diagnostic buffer typically reports an entry such as "Error in high-speed counter" or "Channel fault". Check Online & Diagnostics → Diagnostics buffer first. The HSC also exposes status bits in the process image:

Status word address Bit Meaning
ID1000 / HSC_1 Bit 15 Direction (0 = up, 1 = down) for legacy evaluation modes
Bit 14 Active (HSC enabled)
Bits 0–13 Reserved / status

These mappings are CPU-firmware-specific; cross-reference the S7-1200 System Manual for your firmware version.

EMC and Cabling Best Practices

The DSZY35 actuator cable carries both motor power and low-level Hall signals. Long cable runs in industrial cabinets are prone to capacitive coupling between the motor phases and the Hall outputs. To minimize noise pickup on the HSC inputs:

  • Use the supplied shielded cable where possible; do not extend with unshielded wire.
  • Ground the shield at the PLC cabinet entry only — do not ground at the actuator end.
  • Route the actuator cable at least 100 mm away from VFD output cables and any 24 V switching power supply lines.
  • If the cable must be extended, use twisted-pair shielded cable with the Data 1 and Data 2 wires twisted together.
  • Add a 10 kΩ pull-up resistor from each Hall output to +24 V at the PLC terminal strip if the open-collector rise time is too slow for the HSC.

Safety Considerations

The HSC count is a software value. If the CPU loses power, the count is lost unless you use a retain tag or a battery-backed data block. For process-critical applications, store the last known position in a retentive DB and validate the actuator position on every restart before resuming motion.
  • Always wire the DSZY35 motor direction outputs through safety-rated relays or motor contactors with E-stop in series.
  • Never rely on the HSC count alone for end-of-travel protection — add mechanical limit switches at both ends of stroke.
  • If the actuator is in a personnel-accessible area, the entire safety function must comply with ISO 13849-1 PL d or higher; use a Siemens F-CPU for safety-rated position monitoring.
  • The DSZY35 is rated IP69K — verify that cable glands and conduit entries preserve the same rating after installation.

Alternative Controllers

The DSZY35 HS2 quadrature output can be decoded by any controller with a quadrature counter:

  • Allen-Bradley MicroLogix 1400 HSC inputs
  • Allen-Bradley CompactLogix with high-speed counter module (5069-HSC)
  • Beckhoff EL5101 incremental encoder input
  • WAGO 750-637 counter module
  • IDEC FT1A SmartAXIS with HSC input

The same filter-setting principle applies: configure the digital input filter to the fastest value the platform allows. The millisecond default that catches most S7-1200 users is the same trap on other platforms.

Troubleshooting Matrix

Symptom Likely cause Corrective action
Both Data lines read 24 V on multimeter during motion Multimeter averaging, normal behavior Use oscilloscope or HSC count to confirm pulse activity
Both Data lines read 24 V on multimeter at rest Open-collector high-side pull-up Expected — pull-up holds line high until Hall switch closes
HSC count is always zero Input filter set too slow Set I0.0 and I0.1 filter to 0.1–0.8 µs
HSC count only changes in one direction Only one Data wire connected Connect both Data 1 and Data 2; configure HSC as quadrature
HSC count changes in wrong direction Phase A / Phase B reversed Swap Data 1 and Data 2 wires at PLC
HSC counts erratically, large jumps EMI from motor cables, missing shield Use shielded twisted pair; ground shield at PLC end only
HSC value resets unexpectedly Hardware reset input wired or bouncing Disconnect reset input; debounce in hardware
HSC changes have no effect Hardware download skipped Re-download hardware configuration, then software
CPU goes to SF / diagnostic buffer entry about HSC Filter mismatch, input assignment conflict Check HSC instance mapping matches input terminal assignments
Hall sensor damaged / open-collector failed short Overcurrent, voltage spike Measure Data line resistance to 24V and 0V with actuator powered off
HSC overflows during long stroke 32-bit limit reached Use % count reset before overflow; recalibrate home position
Direction reverses at end of stroke Mechanical backlash in actuator Add hysteresis in software; home on retract end only

Field Commissioning Checklist

  1. Verify actuator 24 V supply polarity at the cable entry before applying power.
  2. Power up PLC and confirm the 24 V sensor supply LED is on.
  3. In TIA Portal, enable HSC_1, set quadrature mode, set 4x evaluation.
  4. Set I0.0 and I0.1 input filter to fastest available value.
  5. Download hardware, then software.
  6. Open watch table, monitor ID1000 (HSC_1 count) and the I0.0 / I0.1 process image.
  7. Force the motor direction output; verify ID1000 changes monotonically.
  8. Reverse direction; verify ID1000 reverses.
  9. If direction is wrong, swap Data 1 / Data 2 at the PLC terminal.
  10. Run a full-stroke extend / retract cycle and record the count delta; compare against calculated pulses-per-mm.
  11. Home the actuator (set count to 0 at fully retracted).
  12. Save the project; archive the TIA Portal backup to the maintenance folder.

FAQ

Do I really need both Hall channels, or can I use only one?

Both channels are required. A single channel gives you only motion activity — direction cannot be determined. Configure the S7-1200 HSC in quadrature (A/B) mode with Data 1 on Phase A (I0.0) and Data 2 on Phase B (I0.1).

Why does my multimeter show both Data lines stuck at 24 V while the actuator is moving?

A standard digital multimeter averages the signal and cannot resolve the Hall pulse train, which typically runs in the tens to hundreds of Hz range at actuator speeds. Verify pulse activity with an oscilloscope, or read the HSC count value (ID1000) after commanding motion.

My HSC never increments even with both Data wires connected.

The most common cause is the input filter. Open the I0.0 and I0.1 properties in the device configuration and set the digital input filter to the fastest available value (0.1–0.8 µs). The default millisecond filter suppresses every Hall pulse, so the HSC sees no transitions.

Do I need Siemens technology objects (TO) for this, or is the HSC enough?

For simple position counting and direction sensing, the HSC alone is sufficient. TO positioning axis objects are only needed if you want closed-loop positioning using the HSC as an encoder input for a Siemens axis object.

Both hardware and software must be downloaded separately after HSC changes?

Yes. A hardware-only download does not always activate the new HSC instance, and a software-only download does not pick up new hardware assignments. Always download hardware first, then software, when changing HSC configuration.

The HSC counts in the wrong direction relative to my process.

Swap Data 1 and Data 2 wires at the PLC terminal strip. No software change is required — direction is decoded in firmware from the A/B phase relationship.

Is the Hall sensor possibly damaged if the HSC never counts?

Possibly, but check the filter setting first — that resolves the issue in the vast majority of field cases. To test the Hall sensor directly, power the actuator and measure the voltage on each Data line to 0 V with an oscilloscope. You should see a clean square wave between 0 V and ~24 V at the expected pulse rate. If the line is stuck at 0 V or at 24 V, the Hall IC or its wiring is faulty.

Back to blog