3.3 Physical specifications
Shell: M series, aluminum alloy with heat sink, size 125mm × 80mm, installed on DIN rail with terminal base HSL-TB32-M-DIN.
Wiring method: Connect the on-site signal through the spring or screw terminals of the terminal base. The module itself can be hot swappable, and the entire system does not need to be powered off during replacement (but attention should be paid to live operation safety).
3.4 DIP switch setting
The 6-digit DIP switch on the back of the module (or on the terminal base) is used to set the starting index. Due to DO32 occupying two consecutive odd indices, the switch values must be odd (1, 3, 5,..., 61). For example:
Set the switch to 00000 1 (binary)=1 → occupy index 1,2.
Set 000011 (binary)=3 → occupy index 3,4.
Important limitation: The system scan cycle calculation is based on the "maximum actual occupancy index" rather than the number of physical connections. If the configuration index is not continuous, the main station will still scan for empty indexes, resulting in an extended cycle. Therefore, it is recommended to continuously allocate addresses starting from 1 to optimize performance.

Analysis of Scanning Cycle and Time Certainty
The most prominent advantage of HSL is deterministic scanning - the scanning period is only proportional to the "maximum slave index number" and is independent of module type and data volume (because the time slot of each index is fixed). The manual provides the reference time for each index in full duplex mode:
12 Mbps: 15.17 μ s/index
6 Mbps: 30.33 μ s/index
3 Mbps: 60.67 μ s/index
The minimum scanning period is 3 index time slots (even if there is only 1 module, it will occupy at least 3 time slots).
Calculation formula:
Tcycle=max_slave_index×tunit
among which
max_slave_index
The max_Slave_index is the maximum index number set by the system (specified through the max_Slave_Co parameter of the HSL_start function).
For example, if there is only one HSL-DO32-M-N module in the system and DIP is set to 1, it will actually occupy indices 1 and 2. However, to ensure communication, it is necessary to set Max_Slave-No to at least 3 (or use HSL_auto_start for automatic detection). At this time, the scanning period for 6 Mbps full duplex is 3 × 30.33 μ s=91 μ s.
If 16 DO32 modules are mounted (occupying 32 indexes), the period is 32 × 30.33 μ s ≈ 970 μ s, which is still much less than 1 ms.
In half duplex mode, each index time slot doubles, suitable for long-distance or high interference environments, but with longer periods.
Wiring topology and HUB/repeater expansion
5.1 Serial daisy chain
The most commonly used topology: master port → slave 1 → slave 2 →... → last slave. Each slave module's terminal base transmits the RJ-45 received signal in parallel to the next one, and enables the end terminal resistor (via base jumper) to eliminate reflections.
Maximum cable length (without HUB): 200 meters at 6 Mbps and 100 meters at 12 Mbps.
Cable requirements: Standard shielded Category 5e twisted pair, using only 4 wires (TX+, TX -, RX+, RX -).
5.2 Star or Tree Expansion (using HSL-HUB/Repeater)
HSL-HUB provides one input port and three output ports, which can divide the network into multiple sub branches and effectively increase the total wiring distance. The manual provides the maximum distance for cascading 1-7 HUBs (for example, at 6 Mbps, 7 HUBs can reach 1.6 km). However, it should be noted that for each additional HUB, the scanning cycle will experience an additional delay of approximately one index time slot (see Appendix D for the scanning schedule).
5.3 Terminal Resistance Setting
Each terminal base (such as HSL-TB32-M-DIN) has jumper wires JP3 (Tx terminal) and JP4 (Rx terminal). Only enable these two jumpers at the end module of the physical circuit, and disable the intermediate node, otherwise signal reflection will cause communication errors.
Self diagnosis and error handling mechanism
The HSL system has a powerful communication monitoring function built in, which helps on-site engineers quickly locate faulty substations.
No response counter: The master station maintains a 3-digit counter (0-7) for each slave station. During each polling, if the slave station responds correctly, the counter is reset to zero; If there is no response after timeout, the counter will be incremented by 1.
Error flag: When the counter is ≥ 3, the system marks the communication error of the slave station (CHK3 flag set); When the counter is 7, it is considered that the module is offline (CHK7).
Software query: Through the HSL_connect_status and HSL_slave.live functions, the application can read the communication status of each slave in real time, implementing fault alarm or automatic retry logic.
Self diagnostic driver: The driver layer defaults to detecting offline modules every 20 ms and can notify the upper layer through IRQ.
For output modules such as HSL-DO32, if communication is interrupted, their output status will maintain the last successfully received value (depending on the module design, usually maintained). Engineers can cooperate with watchdog timers (the main card supports hardware timer interrupts) to achieve a safe output state.