2 Analog Inputs 20mA and 30V
Compact Modbus RTU remote I/O module with one 0–20mA and one 0–36V analog inputs, configurable alarm logic.

Key Features
- One 0–20mA and one 0–36V DC analog inputs
- 16-bit analog resolution
- Raw analog value resolution of 0.001mA
- Sensor open / broken wire indication
- Individual channel offset and gain calibration
- Integer and IEEE754 float value support
- Modbus RTU over RS-485
- Read from remote device in Master Mode
- DIP switch for address selection from 1 to 15
- Wide supported baud rates from 300 to 115200
- DIN rail mount support
- Dimensions: 60 mm x 50 mm x 20 mm (L x W x 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 |
|---|---|
| MIO-2AI-VI | 2-Channel Analog Input Module (0–20mA / 0–36V DC) |
| UIO-8IN-20MA | 8-Channel Analog Input Module (0–20mA) |
| UIO-4IN-20MA | 4-Channel Analog Input Module (0–20mA) |
| UIO-4IN-10V | 4-Channel Analog Input Module (0–10V DC) |
| UIO-444-20mA | 4-Channel Analog Input with DI and DO |
Applications
- Industrial Automation – Monitor analog sensors in PLC and SCADA systems
- Process Monitoring – Measure current and voltage from transmitters and sensors
- Energy & Utilities – Monitor DC voltage, current, and other process parameters
- Building Management – Integrate sensors for HVAC, power monitoring, and environment control
- Remote Monitoring – Ideal for distributed installations and remote data acquisition
Specifications
| Parameter | Value |
|---|---|
| Mounting | DIN rail |
| Dimensions | 60 mm x 50 mm x 20 mm (L x W x H) |
Electrical Specifications
| Parameter | Value |
|---|---|
| Supply Voltage | 9–24V DC or USB 5V |
| Analog Input Range | 0–20mA, 0–36V |
| Communication Port | RS-485 |
Input/Output Specifications
| Parameter | Value |
|---|---|
| Channel Count | 2 |
| Signal Range | 0–20mA (CH1), 0–36V DC (CH2) |
| Resolution | 16-bit, 0.001mA raw resolution |
Isolation & Protection Specifications
| Parameter | Value | Notes / Description |
|---|---|---|
| Supply Reverse Polarity Protection | Integrated | Series protection diode (continuous protection, zero reverse leakage) |
| Supply Isolation | Non-Isolated | Common ground between input power, internal circuitry, analog inputs |
| Transient Voltage Clamping | Up to 600W | Clamps overvoltage spikes (10/100 µs peak pulse rating) |
| EMC & Immunity Standards | Class-Compliant | Meets IEC 61000-4-2 (ESD), IEC 61000-4-4 (EFT), & IEC 61000-4-5 (Surge) |
| RS-485 Bus ESD Protection | 15kV HBM/Air | IEC61000-4-2 Integrated high-ESD protected transceiver on A/B lines |
Mechanical Dimensions

Terminal Details
| Pin | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Signal | 24V+ | 24V- | A+ | B- | AI2- | AI2+ | AI1- | AI1+ |
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 |
|---|---|---|---|
| AI1 (0–20mA) | 30001 / 30021–30022 | int16 / float | Raw analog (0.001mA) / Scaled engineering value |
| AI2 (0–36V) | 30002 / 30023–30024 | int16 / float | Raw analog (0.001V) / Scaled engineering value |
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 | 10601–10602 | Bit | AI1 to AI2 alarm active indication |
| Discrete Inputs | 10621–10622 | Bit | AI1 to AI2 sensor open indication |
| Discrete Inputs | 10641–10642 | Bit | AI1 to AI2 latched alarm status |
| Coils | 00601–00602 | Bit | Reset AI alarm counter |
| Input Registers | 30001–30002 | int16 | AI1 to AI2 raw analog values |
| Input Registers | 30021–30024 | float | AI1 to AI2 scaled engineering values |
| Input Registers | 30601–30602 | int16 | AI1 to AI2 alarm counters |
| Holding Registers | 40101 | int16 | Modbus slave address (switch value) |
| Holding Registers | 40102 | int16 | Baud rate selection |
| Holding Registers | 40103 | int16 | Serial format selection |
| Holding Registers | 40104 | int16 | Device mode: 0 = Server, 1 = Client |
| Holding Registers | 40105 | int16 | Remote read/write poll interval |
| Holding Registers | 40601–40602 | int16 | AI1 to AI2 offset calibration |
| Holding Registers | 40621–40624 | float | AI1 to AI2 gain calibration |
| Holding Registers | 40661–40662 | int16 | AI1 to AI2 alarm mode |
| Holding Registers | 40681–40682 | int16 | AI1 to AI2 alarm minimum |
| Holding Registers | 40701–40702 | int16 | AI1 to AI2 alarm maximum |
| Holding Registers | 40791–40794 | int16 | Master Mode write configuration registers |
Detailed Register Tables
Discrete Inputs (1xxxx)
Analog Input Live Alarm Status
| Address | Description |
|---|---|
| 10601–10602 | AI1 to AI2 alarm active indication |
If an analog sensor value is out of the range set in the alarm configuration:
- The corresponding alarm LED is ON.
- The alarm indication status bit is set.
Analog Sensor Open Status
| Address | Description |
|---|---|
| 10621–10622 | AI1 to AI2 sensor open indication |
If an analog sensor is disconnected or open:
- The analog value reads as 0.000mA.
- The corresponding sensor open status bit is set.
Analog Input Latched Alarm Status
| Address | Description |
|---|---|
| 10641–10642 | AI1 to AI2 latched alarm status; auto clears on read |
Latched alarm status stays high even after the alarm is cleared and auto clears only after the master reads this bit.
Coils (0xxxx)
AI Alarm Counter Reset
| Address | Description |
|---|---|
| 00601–00602 | Reset alarm counters for AI1 to AI2 |
Writing 1 to the coil resets the corresponding retentive alarm counter value. This bit is self-clearing.
Input Registers (3xxxx)
Analog Input Values
| Address | Type | Description |
|---|---|---|
| 30001–30002 | int16 | AI1 to AI2 raw analog values |
| 30021–30024 | float | AI1 to AI2 scaled engineering values |
Example: 20000 = 20.000mA. Float values use IEEE754 format and occupy two Modbus registers.
Analog Input Alarm Counter Values
| Address | Type | Description |
|---|---|---|
| 30601–30602 | int16 | AI1 to AI2 alarm counters |
Holding Registers (4xxxx)
Analog Input Calibration
| Address | Type | Description |
|---|---|---|
| 40601–40602 | int16 | AI1 to AI2 offset calibration |
| 40621–40624 | float | AI1 to AI2 gain calibration |
Examples: Offset value 1000 = +1.000mA. Gain value 0.005 = multiplier correction.

Analog Input Alarm Configuration
| Address | Type | Description |
|---|---|---|
| 40661–40662 | int16 | AI1 to AI2 alarm mode |
| 40681–40682 | int16 | AI1 to AI2 alarm minimum |
| 40701–40702 | int16 | AI1 to AI2 alarm maximum |
Alarm mode values:
- 0 = Disabled
- 1 = Outside minimum or maximum
- 2 = Maximum only
- 3 = Minimum only
- 4 = Inside minimum and maximum window
Analog Input Master Mode Configuration
These values are applicable when the device is in Master Mode and 40104 = 1.
| Address | Type | Description |
|---|---|---|
| 40791 | int16 | Remote device source register type to write. 0 = Holding Register |
| 40792 | int16 | Remote device source data type to write. 0 = int16 raw data, 1 = float scaled data, 2 = int16 scaled data |
| 40793 | int16 | Remote device source start address |
| 40794 | int16 | Remote source channel count. Max channels is 2 |
Communication Settings
| Address | Type | Description |
|---|---|---|
| 40101 | int16 | Modbus slave address (switch value) |
| 40102 | int16 | Baud rate selection |
| 40103 | int16 | Serial format selection |
| 40104 | int16 | Serial device mode. 0 = slave, 1 = master |
| 40105 | int16 | Remote read/write poll interval. Example: 10 = 1 second |
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:
- Slave 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 |
|---|---|
| Tx | RS-485 transmit status and run blink every 2 sec when idle |
| AL1–AL2 | Alarm active status |
Write Remote Device – Master Mode
When 40104 is set to 1, the module operates in Modbus Master Mode.
In this mode, the module periodically writes data to another Modbus slave device and automatically updates its analog inputs to the remote device.
Working of Master Mode:
- Master Mode polls the remote device ID as set in the rotary or DIP switch.
- Master Mode polls the remote device at the interval defined by 40105.
- The destination device register type is selected using 40791.
- The destination data type is selected using 40792.
- The start address of the remote data is defined in 40793.
- The number of channels to write is defined in 40794.
- Values of AI1 and AI2 are automatically written to the mapped address as per the count.
- If float mode is selected, two Modbus registers are used per channel.
- If int16 mode is selected, one Modbus register is used per channel.
- Offset and gain settings are still applied in Master Mode.
![]() |
![]() |
Calibration and Engineering Values
The module internally measures analog current input as a raw integer value.
Examples:
- 0mA = 0
- 4mA = 4000
- 12mA = 12000
- 20mA = 20000
Raw values are stored in int16 registers with a resolution of 0.001mA.
Engineering value registers allow the raw current value to be converted into user units such as pressure, temperature, tank level, flow, weight, and percentage.
| Sensor Type | Input Range | Engineering Value Range |
|---|---|---|
| Pressure transmitter | 4–20mA | 0 to 10.0 Bar |
| Tank level sensor | 4–20mA | 0 to 100% |
| Temperature transmitter | 4–20mA | 0 to 200°C |
Engineering values are available in float format using IEEE754 registers.
Formula:
Engineering Value = (Raw Value + Offset) × Gain
Where:
- Raw Value = measured current in 0.001mA units
- Offset = calibration correction in 0.001mA units
- Gain = engineering unit multiplier
Example:
- Raw input = 12000
- Offset = -4000
- Gain = 0.01
- Engineering value = 80
This can be used for a transmitter scaled from 0–20mA to -40 to +160°C.
| Raw to mA | Raw Value | Offset | Gain | Result |
|---|---|---|---|---|
| 4–20mA to 0–100% | 12000 | 0 | 0.001 | 50.0% |
| 4–20mA to 0–10 Bar | 12000 | -4000 | 0.00625 | 5.0 Bar |
| 4–20mA to 0–200°C | 12000 | -4000 | 0.0125 | 100.0°C |
Revision History
| Revision | Date | Changes |
|---|---|---|
| Rev 1.0 | 2026-08-10 | 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

