8 DI
Compact Modbus RTU remote I/O module with eight digital inputs with RPM measurement and pulse counting.

Key Features
- 8 Digital Inputs, 24V compatible
- 2 High speed production counter and RPM measurement (DI1, DI2)
- All inputs have latched status – Never miss an input change
- All inputs have individual counter functions with retentive memory storage
- Modbus RTU over RS-485
- Rotary address switch for address selection from 1 to 99
- Wide supported baud rates from 300 to 115200
- DIN rail mountable
- Dimensions: 110 mm × 55 mm × 55 mm (L × W × H)
ModViz – Modbus Configuration & Visualization Tool
ModViz is a powerful yet simple configuration and visualization tool designed to work seamlessly with Veawe Modbus I/O modules. It enables engineers, system integrators, and technicians to quickly configure, monitor, and test field devices through an intuitive graphical interface.
The software can be downloaded from https://veawe.io/modviz/

Ordering Information
| Product Code | Description |
|---|---|
| UIO-8DI | 8-Channel Digital Input Modbus Remote I/O Module |
| UIO-4DI-4DO | 4-Channel Digital Input / 4-Channel Digital Output Modbus Remote I/O Module |
| UIO-12DI-12DO | 12-Channel Digital Input / 12-Channel Digital Output Modbus Remote I/O Module |
| UIO-24DI-24DO | 24-Channel Digital Input / 24-Channel Digital Output Modbus Remote I/O Module |
| UIO-24DI | 24-Channel Digital Input Modbus Remote I/O Module |
| UIO-24DO | 24-Channel Digital Output Modbus Remote I/O Module |
Applications
- Reading 8 digital input signals from a single compact Modbus module
- Counting pulses from flow meters, encoders, and proximity sensors with retentive memory
- Measuring rotational speed using the 2 high speed counter channels (DI1, DI2)
- Building compact Modbus input expansion for PLCs and SCADA systems in space-constrained panels
- Monitoring machine status, sensor, and switch inputs over RS-485
Specifications
| Parameter | Value |
|---|---|
| Mounting | DIN rail mountable |
| Dimensions | 110 mm × 55 mm × 55 mm (L × W × H) |
Electrical Specifications
| Parameter | Value |
|---|---|
| Supply Voltage | 15–24V DC |
| Digital Input Voltage | 15–24V DC |
| Communication Port | RS-485 |
Input/Output Specifications
| Parameter | Value |
|---|---|
| Digital Input Channel Count | 8 |
| Slow Counter Speed | Up to 1 kHz |
| High Speed Counter Channels | 2 (DI1, DI2) |
| Counter Memory | Retentive on power cycles |
Isolation & Protection Specifications
| Parameter | Value | Notes / Description |
|---|---|---|
| Supply Reverse Polarity Protection | ||
| Supply Isolation | ||
| Transient Voltage Clamping | ||
| EMC & Immunity Standards | ||
| RS-485 Bus ESD Protection |
Mechanical Dimensions
Terminal Details
Top Connector – RS-485
| Pin | 1 | 2 | 3 |
|---|---|---|---|
| Signal | A | B | Shield |
Bottom Connector – Power
| Pin | 1 | 2 |
|---|---|---|
| Signal | 24V | GND |
Digital Input Connector
| Pin | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Signal | X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 |
Wiring Diagrams
Note: All images and connection diagrams shown are for illustrative purposes only and may differ from the actual product.
Communication Interface
| Protocol | Physical Layer | Default Baud Rate | Default Format |
|---|---|---|---|
| Modbus RTU | RS-485 | 19200 | 8N1 |
Basic Process Registers
| Signal | Address | Type | Description |
|---|---|---|---|
| DI1–DI8 | 10001–10008 | Bit | DI1 to DI8 live digital input status |
Supported Modbus Function Codes
| Read | Write |
|---|---|
| 01 – Read Coils | 05 – Write Single Coil |
| 02 – Read Discrete Inputs | 06 – Write Single Register |
| 03 – Read Holding Registers | 15 – Write Multiple Coils |
| 04 – Read Input Registers | 16 – Write Multiple Registers |
| ## Register Map Overview |
| Function | Address Range | Type | Description |
|---|---|---|---|
| Discrete Inputs | 10001–10008 | Bit | DI1 to DI8 live digital input status |
| Discrete Inputs | 10201–10208 | Bit | DI1 to DI8 latched status, auto-clears on read |
| Coils | 00251–00258 | Bit | Reset DI1 to DI8 slow counters |
| Coils | 00801–00802 | Bit | Reset DI1, DI2 production counters |
| Input Registers | 30251–30258 | int16 | DI1 to DI8 slow counter values (1 kHz) |
| Input Registers | 30801–30802 | int16 | DI1, DI2 RPS values |
| Input Registers | 30811–30812 | int16 | DI1, DI2 RPM values |
| Input Registers | 30821–30824 | int32 | DI1, DI2 production counters |
| Holding Registers | 40801–40802 | int16 | DI1, DI2 mode configuration |
| Holding Registers | 40811–40812 | int16 | DI1, DI2 pulses per revolution (1–65535) |
| Holding Registers | 40101 | int16 | Modbus server (slave) address |
Detailed Register Tables
Discrete Inputs (1xxxx)
Digital Live Input Status
| Address | Type | Description |
|---|---|---|
| 10001–10008 | Bit | DI1 to DI8 live digital input status |
Digital Latched Input Status
| Address | Type | Description |
|---|---|---|
| 10201–10208 | Bit | DI1 to DI8 latched status, auto-clears on read |

Latched input status stays high even after the input goes low and auto-clears only after the master reads this bit. This ensures no input state change is missed by the controller.
Coils (0xxxx)
Slow Counter Reset
| Address | Type | Description |
|---|---|---|
| 00251–00258 | Bit | Reset DI1 to DI8 slow counter |

Writing 1 to the coil resets the corresponding slow counter value. This bit is self-clearing.
Production Counter Reset
| Address | Type | Description |
|---|---|---|
| 00801–00802 | Bit | Reset production counter for high speed counters DI1, DI2 |

Writing 1 to the coil resets the corresponding retentive production counter value. This bit is self-clearing.
Input Registers (3xxxx)
Digital Inputs Slow Counter Values
| Address | Type | Description |
|---|---|---|
| 30251–30258 | int16 | DI1 to DI8 slow counter, up to 1 kHz (Retentive memory on power cycles) |

DI state changes are counted and stored in these registers. Counter values are retained across power cycles.
High Speed Counter Values
| Address | Type | Description |
|---|---|---|
| 30801–30802 | int16 | DI1, DI2 RPS value |
| 30811–30812 | int16 | DI1, DI2 RPM value |
| 30821–30824 | int32 | DI1, DI2 production counter (Retentive memory on power cycles) |

Holding Registers (4xxxx)
High Speed Counter Configuration
| Address | Type | Description |
|---|---|---|
| 40801–40802 | int16 | DI1, DI2 mode |
| 40811–40812 | int16 | DI1, DI2 pulses per revolution (1–65535) |
DI Mode Values:
- 0 = Normal digital input
- 1 = RPM / RPS measurement
- 2 = Production counter
Communication Settings
| Address | Type | Description |
|---|---|---|
| 40101 | int16 | Modbus server (slave) address (switch value) |
| 40102 | int16 | Baud rate selection |
| 40103 | int16 | Serial format selection |
Modbus Address (40101)
This is set using the rotary or DIP switches.
Baud Rate Register (40102) and Serial Format Register (40103)
| Value | Baud Rate | Value | Baud Rate | Value | Format |
|---|---|---|---|---|---|
| 0 | 300 | 7 | 9600 | 0 | 8N1 |
| 1 | 600 | 8 | 14400 | 1 | 8E1 |
| 2 | 1200 | 9 | 19200 | 2 | 8O1 |
| 3 | 1800 | 10 | 38400 | 3 | 8N2 |
| 4 | 2400 | 11 | 57600 | 4 | 8E2 |
| 5 | 4800 | 12 | 62500 | 5 | 8O2 |
| 6 | 7200 | 13 | 115200 |

Default: 19200 baud, 8N1.
Default Settings
| Setting | Default |
|---|---|
| Slave Address | As per switch position |
| Baud Rate | 19200 |
| Serial Format | 8N1 |
Configuration Settings
Default Mode
Default mode is useful when communication settings are unknown.
When the rotary address switch is set to 00:
- Server address = 1
- Baud rate = 19200
- Serial format = 8N1

Changing to default mode does not overwrite stored settings. Stored settings remain unchanged until written through Modbus.
LED Indications and Diagnostics
| LED | Description |
|---|---|
| Power | Module power ON indication |
| Tx | RS-485 transmit activity |
| Rx | RS-485 receive activity |
| X1–X8 | Digital input status |
Revision History
| Revision | Date | Changes |
|---|---|---|
| Rev 1.0 | 2026-08-25 | Initial datasheet, HW Version = 3, FW Version = 2 |
Get the latest version of this datasheet : click here..
Support
Website: www.veawe.io
Email: info@veawe.io