1 Introduction

LX6V-8HC (8-channel high-speed counting module), used for AB phase (1/2/4) times frequency, single-phase, pulse + direction pulse acquisition, supports up to 200kHz signal input, suitable for Wecon LX6V-EM□-ECAT remote I/O coupler.
✎Note: LX6V-EM□-ECAT firmware version that supports this module is V2.013 and above, the corresponding XML file version is 1.2 and above.
2 Device specifications and wiring description
2.1 Appearance and size

①: 8HC LED; ②: Terminal; ③: Extension module interface; ④: Mounting holes, two places (φ4.5); ⑤: DIN rail clip
2.2 Terminal description
The 8HC expansion module terminal are arranged as follows:
| Module model | Terminal arrangement | |
| LX6V-8HC | ![]() | ![]() |
| Symbol | Description | Symbol | Description |
| S/S | Counter input common terminal | ● | N/A |
| DI0 | CH0 counter input signal A | DI10 | CH4 counter input signal A |
| DI1 | CH0 counter input signal B | DI11 | CH4 counter input signal B |
| DI2 | CH1 counter input signal A | DI12 | CH5 counter input signal A |
| DI3 | CH1 counter input signal B | DI13 | CH5 counter input signal B |
| ● | N/A | ● | N/A |
| DI4 | CH2 counter input signal A | DI14 | CH6 counter input signal A |
| DI5 | CH2 counter input signal B | DI15 | CH6 counter input signal B |
| DI6 | CH3 counter input signal A | DI16 | CH7 counter input signal A |
| DI7 | CH3 counter input signal B | DI17 | CH7 counter input signal B |
| Input signal | Single phase counting mode | Pulse + directional mode | Encoder AB phase mode | CW/CCW mode |
| Counter input signal A | Pulse input | Pulse input | A phase input | Not supported |
| Counter input signal B | Normal input | Direction input | B phase input | Not supported |
2.3 Installation
Please install the end cover on the right side of the last expansion module, align it with the module interface slot and connect it, as shown in the figure below:

2.4 Indicator
The 8HC expansion module indicator is shown below:
| Indicator | Description |
| PWR | Power indicator
|
| LINK | Communication indicator
|
| Channel indicator | When input ON, lights on; When input OFF, lights out. |
3 Parameter specification
3.1 Input specification
| Item | Digital input |
| Input circuit composition | ![]() |
| Input signal voltage | DC 24 V ± 10% |
| Input signal current | 7 mA / DC24 V (Input current when input standard 24 V) |
| Input ON current | Above 3.5 mA |
| Input OFF current | Below 1.5 mA |
| Input response time | About 0.2 ms |
| Input signal form | Contact input, support NPN, PNP input. |
| Circuit insulation | Transformer isolation |
| Action display | When input ON, lights on; |
3.2 Environmental specification
| Item | Specification parameter | ||||
| Usage environment | No corrosive, combustible gas, no large amount of conductive dust | ||||
| Environment temperature | Working temperature: 0℃ to 55℃ Storage temperature: -20℃ to 70℃ | ||||
| Environment humidity | Working humidity: 10% to 90% RH (no condensation) Storage humidity: ≤90% RH (no condensation) | ||||
| Installation | By snap mounting on DIN46277 (width: 35mm) guide rail or directly mounted in the positioning hole | ||||
| Vibration resistance | According to JISC0040 standard | ||||
| Installation | Frequency | Acceleration | Amplitude | X, Y, Z 10 times in each of three directions (80 minutes in each direction) | |
| DIN rail installation | 10 to 57 Hz | -- | 0.035 mm | ||
| 57 to 150 Hz | 4.9 m/s² | -- | |||
| Direct installation | 10 to 57 Hz | -- | 0.075 mm | ||
| 57 to 150 Hz | 9.8 m/s² | -- | |||
| Shock resistance | Compliant with JISC0041 standard (147 m/s², action time 11 ms, apply sine half-wave pulse three times in X, Y and Z directions) | ||||
| EMC immunity level | Zone B (IEC 61131-2) | ||||
| Altitude requirements | ≤ 2000 m (80 kPa) | ||||
| Protection level | IP20 | ||||
| Grounding | Not co-located with the strong current system | ||||
3.3 Software specifications
| Item | Digital input |
| Input port filtering time | Normal input supports 0 ms to 64 ms (10 ms: Default setting), every 4 DI points are grouped together and share a common set of filtering parameters; High-speed input supports 0 to 17 us filtering time. |
| Input port anomaly detection and indication | N/A |
| Input channel logic level configuration | Not support |
| Independent channel enable configuration | Not support |
| Diagnostic reporting function configuration | Not support |
| I/O mapping | Supports three I/O mapping methods: bit access, byte access, and word access |
4 Usage
The LX6V-8HC module requires the Wecon LX6V-EM□-ECAT remote I/O coupler module for use.

After connecting the coupler to Wecon 6 and AC series PLC, the methods of using the LX6V-8HC are as follow.
4.1 Use on LX6V and LX6S with EtherCAT coupler
(1) First add EtherCAT device
1) Manual add
According to steps ① to ④ in the figure below, right-click EtherCAT, and click [New] -> [Import], import the ESI device description file of the deviceNote.

✎Note: Log in the Wecon support center (https://docs.we-con.com.cn/bin/view/Expansions/4%20Download/01%20Expansion%20Module/) to obtain the WECON_LX6V_EM_ECAT_1.3.xml 文件.
After the import is completed, select the coupler according to the module model and position of the current module connected (take LX6V-EMB-ECAT as an example).

2) Scan to add
EtherCAT's device scanning supports direct scanning after connecting or unloading the device.
- Select the EtherCAT label, right-click the mouse button and select the scanning device in the pop-up menu.

- Click the "Scan the device" button in the pop-up window. If the PLC is not connected, an error will be prompted, as shown below;

- After waiting for the scan to complete, the scanned slave devices can be seen in the left side view.

- Click [Copy all] to update the scanned devices to the currently configured configuration list, and then click [Save] to update the scanned devices to the configuration list of the project. After saving, click [Close] to update to the configuration list.

✎Note: Close the window if it is not saved, the scanned devices will not be added to the configuration list of the project!

(2) Configuration module
Right-click the currently added coupler to add the LX6V-8HC module mounted to the current coupler.


✎Note: When the configuration module is inconsistent with the actual mounted module, an error will be reported that the OP cannot be successful.
4.2 Use on 6C and AC60 with EtherCAT coupler
(1) Install device description file
The first-time use requires installation of the slave device description XML file.
(Log in the Wecon support center (https://docs.we-con.com.cn/bin/view/Expansions/4%20Download/01%20Expansion%20Module/) to obtain the Wecon_LX6V_EM_ECAT_1.3.xml file.)
Operation steps: Open the CODESYS software -> [Tool] -> [Device Repository]-> [Install], select the coupler xml device description file, complete the installation.


✎Note: Only XML description files version 1.2 and above support the LX6V-8HC module!
(2) Add EtherCAT master device
[Device] -> [Add device] -> [Fieldbus] -> [EtherCAT] -> [EtherCAT Master or EtherCAT Master SoftMotion].

(3) Add coupler and external expansion module
1) Manual add


✎Note: The actual connected module type must be consistent with the configuration type, otherwise it cannot run!
2) Scan to added
Right-click to select scanning device-> copy module to project.

(4) Configure startup parameters and IO mapping

No error is reported after compilation, just download the program and run it.
5 Example
5.1 Use on LX6V and LX6S with EtherCAT coupler
- As shown in the figure below, configure the CH0 counting mode as single-phase counting and the counting type as incremental counting. Detailed parameter configuration instructions can be found in [6 Object dictionary];

- Create I/O mapping variables for the count value, speed value, and command value respectively

- Configure IO mapping;



- The ladder diagram enable counter, download the ladder diagram, and set M0.

5.2 Use on LX6C and AC60 with EtherCAT coupler
- First configure the Counter mode and Counter type in the startup parameters. As shown in the figure below, configure the CH0 counting mode as single-phase counting and the counting type as incremental counting. For detailed parameter configuration, please refer to [6 Object Dictionary];

- New mapping variable on the program page;

- Map the new created variable in program page to module I/O mapping interface in turn, download and run it.

- Object dictionary
| Model | Index | Sub-index | Description | Type | Range | Read-write Support | Default | Name |
| LX6V-8HC | 16#8000 | 16#01 | Counter mode. 1: AB phase 1 time frequency; 2: AB phase 2 times frequency; 3: AB phase 4 times frequency; 4: Pulse + Direction; 5: Single phase count. Others: Normal input | UINT8 | 0 to 255 | W/R | 0 | CH0 counter mode |
| 16#02 | UINT8 | 0 to 255 | W/R | 0 | CH1 counter mode | |||
| 16#03 | UINT8 | 0 to 255 | W/R | 0 | CH2 counter mode | |||
| 16#04 | UINT8 | 0 to 255 | W/R | 0 | CH3 counter mode | |||
| 16#05 | UINT8 | 0 to 255 | W/R | 0 | CH4 counter mode | |||
| 16#06 | UINT8 | 0 to 255 | W/R | 0 | CH5 counter mode | |||
| 16#07 | UINT8 | 0 to 255 | W/R | 0 | CH6 counter mode | |||
| 16#08 | UINT8 | 0 to 255 | W/R | 0 | CH7 counter mode | |||
| 16#8001 | 16#01 | Count type. bit0-Counting direction. 0: Up count; 1: Down count. bit1-Count mode. 0: Linear mode 1: Rotation mode. | UINT8 | 0 to 255 | W/R | 0 | CH0 counter type | |
| 16#02 | UINT8 | 0 to 255 | W/R | 0 | CH1 counter type | |||
| 16#03 | UINT8 | 0 to 255 | W/R | 0 | CH2 counter type | |||
| 16#04 | UINT8 | 0 to 255 | W/R | 0 | CH3 counter type | |||
| 16#05 | UINT8 | 0 to 255 | W/R | 0 | CH4 counter type | |||
| 16#06 | UINT8 | 0 to 255 | W/R | 0 | CH5 counter type | |||
| 16#07 | UINT8 | 0 to 255 | W/R | 0 | CH6 counter type | |||
| 16#08 | UINT8 | 0 to 255 | W/R | 0 | CH7 counter type | |||
| 16#8002 | 16#01 | Maximum count value | INT32 | -2147483648 to 2147483647 | W/R | 2147483647 | CH0 maximum counter value | |
| 16#02 | INT32 | -2147483648 to 2147483647 | W/R | 2147483647 | CH1 maximum counter value | |||
| 16#03 | INT32 | -2147483648 to 2147483647 | W/R | 2147483647 | CH2 maximum counter value | |||
| 16#04 | INT32 | -2147483648 to 2147483647 | W/R | 2147483647 | CH3 maximum counter value | |||
| 16#05 | INT32 | -2147483648 to 2147483647 | W/R | 2147483647 | CH4 maximum counter value | |||
| 16#06 | INT32 | -2147483648 to 2147483647 | W/R | 2147483647 | CH5 maximum counter value | |||
| 16#07 | INT32 | -2147483648 to 2147483647 | W/R | 2147483647 | CH6 maximum counter value | |||
| 16#08 | INT32 | -2147483648 to 2147483647 | W/R | 2147483647 | CH7 maximum counter value | |||
| 16#8003 | 16#01 | Minimum count value | INT32 | -2147483648 to 2147483647 | W/R | -2147483648 | CH0 minimum counter value | |
| 16#02 | INT32 | -2147483648 to 2147483647 | W/R | -2147483648 | CH1 minimum counter value | |||
| 16#03 | INT32 | -2147483648 to 2147483647 | W/R | -2147483648 | CH2 minimum counter value | |||
| 16#04 | INT32 | -2147483648 to 2147483647 | W/R | -2147483648 | CH3 minimum counter value | |||
| 16#05 | INT32 | -2147483648 to 2147483647 | W/R | -2147483648 | CH4 minimum counter value | |||
| 16#06 | INT32 | -2147483648 to 2147483647 | W/R | -2147483648 | CH5 minimum counter value | |||
| 16#07 | INT32 | -2147483648 to 2147483647 | W/R | -2147483648 | CH6 minimum counter value | |||
| 16#08 | INT32 | -2147483648 to 2147483647 | W/R | -2147483648 | CH7 minimum counter value | |||
| 16#8004 | 16#01 | Input frequency measure time Unit: ms | UINT16 | 0 to 32767 | W/R | 200 | CH0 pulse rate test time (ms) | |
| 16#02 | UINT16 | 0 to 32767 | W/R | 200 | CH1 pulse rate test time (ms) | |||
| 16#03 | UINT16 | 0 to 32767 | W/R | 200 | CH2 pulse rate test time (ms) | |||
| 16#04 | UINT16 | 0 to 32767 | W/R | 200 | CH3 pulse rate test time (ms) | |||
| 16#05 | UINT16 | 0 to 32767 | W/R | 200 | CH4 pulse rate test time (ms) | |||
| 16#06 | UINT16 | 0 to 32767 | W/R | 200 | CH5 pulse rate test time (ms) | |||
| 16#07 | UINT16 | 0 to 32767 | W/R | 200 | CH6 pulse rate test time (ms) | |||
| 16#08 | UINT16 | 0 to 32767 | W/R | 200 | CH7 pulse rate test time (ms) | |||
| 16#8005 | 16#01 | High speed input filtering time (unit: 0.01 us) | UINT16 | 0 to 1700 | W/R | 200 | CH0 and CH1 filtering time (0.01 us) | |
| 16#02 | UINT16 | 0 to 1700 | W/R | 200 | CH2 and CH3 filtering time (0.01 us) | |||
| 16#03 | UINT16 | 0 to 1700 | W/R | 200 | CH4 and CH5 filtering time (0.01 us) | |||
| 16#04 | UINT16 | 0 to 1700 | W/R | 200 | CH6 and CH7 filtering time (0.01 us) | |||
| 16#05 | Normal input DI0 to DI7 bit0 to bit7 filtering time (unit: 0.1 ms) | UINT16 | 0 to 640 | W/R | 10 | 8HC ordinary IO CH0 bit0 to bit7 filtering time (0.1 ms) | ||
| 16#06 | Norma input DI10 to DI17 bit0 to bit7 filtering time (unit: 0.1 ms) | UINT16 | 0 to 640 | W/R | 10 | 8HC ordinary IO CH1 bit0 to bit7 filtering time (0.1 ms) | ||
| 16#A000 | 16#00 | Module status information | UINT16 | -- | R | -- | Module status | |
| 16#01 | Version code | UINT16 | -- | R | -- | Version | ||
| 16#02 | Error status | UINT16 | -- | R | -- | Run status | ||
| 16#03 | Channel status | UINT32 | -- | R | -- | Channel status | ||
| 16#6000 | 16#01 | Channel status bit0: Current counting direction. 0: Up count; 1: Down count. bit1: Current counting mode. 0: Linear mode; 1: Rotation mode. bit2: When the value is 1, it means that the linear mode count value has exceeded the maximum set value. bit3: When the value is 1, it means that the linear mode count value has fallen below the minimum set value. bit5: Actual pulse direction. 0: Forward direction; 1: Reverse direction. | UINT32 | -- | R | 0 | CH0 encoder counter status | |
| 16#02 | UINT32 | -- | R | 0 | CH1 encoder counter status | |||
| 16#03 | UINT32 | -- | R | 0 | CH2 encoder counter status | |||
| 16#04 | UINT32 | -- | R | 0 | CH3 encoder counter status | |||
| 16#05 | UINT32 | -- | R | 0 | CH4 encoder counter status | |||
| 16#06 | UINT32 | -- | R | 0 | CH5 encoder counter status | |||
| 16#07 | UINT32 | -- | R | 0 | CH6 encoder counter status | |||
| 16#08 | UINT32 | -- | R | 0 | CH7 encoder counter status | |||
| 16 # 6001 | 16#01 | Channel error code. 0: No error; 1: The current position in linear mode exceeds the maximum count value; 2: The current position in linear mode is lower than the minimum count value; 3: The startup parameter is not set correctly; 4: The preset position is illegal and exceeds the counting range. | UINT16 | -- | R | 0 | CH0 channel fault code | |
| 16#02 | UINT16 | -- | R | 0 | CH1 channel fault code | |||
| 16#03 | UINT16 | -- | R | 0 | CH2 channel fault code | |||
| 16#04 | UINT16 | -- | R | 0 | CH3 channel fault code | |||
| 16#05 | UINT16 | -- | R | 0 | CH4 channel fault code | |||
| 16#06 | UINT16 | -- | R | 0 | The QPS Exceeds Maximum Limit 5 | |||
| 16#07 | UINT16 | -- | R | 0 | CH6 channel fault code | |||
| 16#08 | UINT16 | -- | R | 0 | CH7 channel fault code | |||
| 16#6002 | 16#01 | Current channel position | INT32 | -2147483648 to 2147483647 | W/R | 0 | The QPS Exceeds Maximum Limit 5 | |
| 16#02 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH1 encoder present position | |||
| 16#03 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH2 encoder present position | |||
| 16#04 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH3 encoder present position | |||
| 16#05 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH4 encoder present position | |||
| 16#06 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH5 encoder present position | |||
| 16#07 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH6 encoder present position | |||
| 16#08 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH7 encoder present position | |||
| The QPS Exceeds Maximum Limit 5 | 16#01 | Channel input pulse frequency | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH0 pulse rate | |
| 16#02 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH1 pulse rate | |||
| 16#03 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH2 pulse rate | |||
| 16#04 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH3 pulse rate | |||
| 16#05 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH4 pulse rate | |||
| 16#06 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH5 pulse rate | |||
| 16#07 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH6 pulse rate | |||
| The QPS Exceeds Maximum Limit 5 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH7 pulse rate | |||
| 16#6004 | 16#01 | Input channels DI0 to DI7 | UINT8 | 0 to 255 | W/R | -- | Digital input CH0-8bit | |
| 16#02 | Input channels DI10 to DI17 | UINT8 | 0 to 255 | W/R | -- | Digital input CH1-8bit | ||
| 16#7000 | 16#01 | Control commands. bit0-Counter enabled. 0: prohibit; 1: Enabled. bit1-Internal clearing: Perform clearing on the rising edge. bit2-internal default enabled: Set a preset value on the rising edge. | UINT32 | -- | W/R | -- | CH0 encoder counter command | |
| 16#02 | UINT32 | -- | W/R | -- | CH1 encoder counter command | |||
| 16#03 | UINT32 | -- | W/R | -- | CH2 encoder counter command | |||
| 16#04 | UINT32 | -- | W/R | -- | CH3 encoder counter command | |||
| 16#05 | UINT32 | -- | W/R | -- | CH4 encoder counter command | |||
| 16#06 | UINT32 | -- | W/R | -- | CH5 encoder counter command | |||
| 16#07 | UINT32 | -- | W/R | -- | CH6 encoder counter command | |||
| 16#08 | UINT32 | -- | W/R | -- | CH7 encoder counter command | |||
| 16#7001 | 16#01 | Preset position | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH0 preset command value | |
| 16#02 | INT32 | -2147483648 to 2147483647 | W/R | 0 | The QPS Exceeds Maximum Limit 5 | |||
| 16#03 | INT32 | -2147483648 to 2147483647 | W/R | 0 | The QPS Exceeds Maximum Limit 5 | |||
| 16#04 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH3 preset command value | |||
| 16#05 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH4 preset command value | |||
| 16#06 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH5 preset command value | |||
| 16#07 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH6 preset command value | |||
| 16#08 | INT32 | -2147483648 to 2147483647 | W/R | 0 | CH7 preset command value7 |
7 Version record
| Current version: REV1.0 | ||
| Version code | Modify content | Revision date |
| V1.0 | The first release | 24 October 2025 |


