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.
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.
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.
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
- Open the project in TIA Portal V16 or later (V18+ recommended for firmware 4.4 CPUs).
- In the project tree, double-click Device configuration for the S7-1200 CPU.
- Expand Properties → High-speed counters (HSC) in the inspector window.
- Select the HSC to use — HSC_1 is the conventional choice for I0.0/I0.1.
- Check Enable this high-speed counter.
- 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.
- 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.
- 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).
- Optional: assign a hardware reset input. With a DSZY35, a hardware reset is rarely needed because the actuator's stroke is mechanically limited.
- Click Compile → Hardware (rebuild all).
- Download the hardware configuration to the CPU.
- Download the software (program blocks) — both hardware and software downloads are required for HSC changes to take effect.
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.
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
- Place the CPU in RUN mode.
- Open an online watch table and force the DSZY35 motor direction output to extend.
- 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.
- If ID1000 updates erratically or not at all, return to the filter configuration step.
- 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.
- Move the actuator to a known mechanical reference position (e.g. fully retracted) and use CTRL_HSC to set the counter to zero.
- 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:
- Command the actuator to retract until a hard mechanical stop is reached (use a current limit or time-out in the motor drive).
- Use CTRL_HSC to set the HSC count to 0 — the mechanical hard-stop is now your reference.
- 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
- 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
- Verify actuator 24 V supply polarity at the cable entry before applying power.
- Power up PLC and confirm the 24 V sensor supply LED is on.
- In TIA Portal, enable HSC_1, set quadrature mode, set 4x evaluation.
- Set I0.0 and I0.1 input filter to fastest available value.
- Download hardware, then software.
- Open watch table, monitor ID1000 (HSC_1 count) and the I0.0 / I0.1 process image.
- Force the motor direction output; verify ID1000 changes monotonically.
- Reverse direction; verify ID1000 reverses.
- If direction is wrong, swap Data 1 / Data 2 at the PLC terminal.
- Run a full-stroke extend / retract cycle and record the count delta; compare against calculated pulses-per-mm.
- Home the actuator (set count to 0 at fully retracted).
- 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.