Modbus RTU Data Collection Guide
1. Protocol Overview
- Protocol Description: Modbus RTU is a standard industrial automation protocol that transmits binary data over serial links (e.g., RS-232 or RS-485).
- Application Scenarios: Widely used for devices that support serial communication, such as VFDs, smart meters, temperature controllers, and various PLCs.
- E2C Trinity Support: E2C Trinity acts as a Master to connect and read data from slave devices via the gateway's serial port.
2. Prerequisites
Before starting the configuration, ensure the following preparations are complete:
3. Configuration Steps
Follow these steps within the E2C Trinity Web interface.
Step 1: Create Device
- Log into the gateway management page. Navigate to [Data Acquisition] to enter the E2C Trinity configuration page.


- Click the "Create Device"button and fill in the connection information in the pop-up window.

| Parameter |
Description |
Example |
| Name |
Name of the device for identification. |
Advantech-IO-01 |
| Protocol |
Select "Modbus RTU". |
Modbus RTU |
| Connection Channel |
Select the corresponding physical serial port (e.g., Serial 1 or COM1). |
COM1 |
| Slave ID |
The Slave Address of the device (Range: 1-247). |
1 |
| Poll Interval |
Frequency of data acquisition (Unit: Seconds). |
10 |
| High-speed DAQ Config |
Enable for millisecond-level acquisition. Note: Groups are auto-generated and tags cannot be modified after publishing. |
Enabled |
| High-speed Poll Interval |
Options: 50ms, 100ms, 200ms, 500ms. |
100ms |
| Package Quantity |
Number of polls before reporting (Supports 10, 20, 30). |
10 |
| Comm. Interval |
Minimum interval between two communication requests (0-1000ms). |
10 |
| Batch Read |
Recommended to enable for improved efficiency. |
Enabled |
| Max Batch Size |
Max registers per request (Range: 2-125). |
64 |
| Byte Order |
Arrangement of data bytes (e.g., ABCD, BADC). Global default for this device. |
ABCD |
| Serial Parameters |
Displays Baud Rate, Data Bit, etc., based on the selected channel for verification. |
- |
- Click "Save" to complete the device creation.
- Select the newly created device from the device list on the left.
- Click "Add" to create a single data acquisition Tag. Fill in the tag information.

| Parameter |
Description |
Example |
| Name |
Unique identifier for the tag used in data reports. |
Inlet_Pressure |
| Acquisition Type |
Choose "High Performance" (if high-speed is enabled) or "Normal". |
Normal |
| Tag Type |
Device Tag (PLC data) or Virtual Tag (internal calculation). |
Device Tag |
| Function Code |
Select based on register type (e.g., 03 Holding Register). |
03 |
| Address |
Decimal Modbus address (e.g., 40001 corresponds to Address 1). |
1 |
| Data Type |
Must match the device (e.g., short, float). |
short (int16) |
| Invert |
Bool only: Flips the 0/1 status if enabled. |
Off |
| Decimal Places |
Float/Double only: Number of decimal points to display. |
2 |
| Encoding |
String only: Supports ASCII, UTF8, etc. |
UTF8 |
| Length |
String only: Defines the string length to read. |
10 |
| Access Right |
Read Only, Read/Write, or Restricted by FC. |
Read Only |
| Unit |
Physical unit (e.g., Mpa, ℃, Hz). |
Mpa |
- Repeat for all tags. Once finished, click "Publish" in the top right corner to apply the configuration.
4. Verification & Troubleshooting
Verification
- Check the device list to ensure the status is Online and tags are successfully collected.A green icon indicates success, and a red icon indicates failure.

- View the Latest Value column to verify data accuracy.

- Test Writing: Click the edit icon in the "Latest Value" column, modify the value, and verify if the PLC accepts the change.

Common Troubleshooting
Problem: Device fails to connect for a long time?
- Check Physical Link: Ensure the gateway’s serial port (RS-485/RS-232) is securely wired to the device, and A+ / B- are not reversed.
- Verify Serial Parameters: Confirm that the Baud Rate, Data Bit, Parity, and Stop Bit configured in the gateway match the slave device exactly.
- Slave ID Confirmation: Ensure the "Slave ID" in the settings matches the device's actual hardware DIP switch or software ID.
- Link Conflict: Check if multiple slave devices on the same RS-485 bus have conflicting Slave IDs.
Problem: Device is Online, but tag values are null or incorrect?
- Verify Tag Parameters: Re-check the Function Code, Register Address, and Data Type against the device’s point table.
- Byte Order Issues: If numeric values (like Float) are extremely large or garbled, try switching the "Byte Order" (e.g., from ABCD to CDAB or BADC) in the device settings.
- Address Offset: Some devices have a ±1 address offset (e.g., PLC address 40001 might correspond to protocol address 0 or 1). Try adjusting the address slightly.
Problem: Data write failed?
- Access Rights: Ensure the tag's "Access Right" is set to "Read/Write" or "Restricted by FC".
- FC Support: Confirm the selected Function Code supports write operations (e.g., some Holding Registers are read-only on specific devices).
- Write Protection: Check if the target device has a physical hardware lock or software-level write protection enabled.
Where to find logs?
- Check the Debug Logs or System Logs in the management interface for specific error codes.


5. Appendix
Data Type Mapping
When configuring tags in E2C Trinity, use the following mapping:
| E2C Trinity Data Type |
Length / Sign |
Device/PLC Type |
Typical Address |
Notes & Precautions |
| bool |
1 bit |
BOOL / Coil |
00001 / 10001 |
Coils are R/W; Discrete Inputs are Read-only. Supports Invert. |
| byte |
8 bit Unsigned |
BYTE (USInt) |
- |
Pay attention to high/low byte mapping. |
| ushort (uint16) |
16 bit Unsigned |
WORD (UInt) |
40001 / 30001 |
16-bit aligned; Range 0–65535. |
| short (int16) |
16 bit Signed |
INT |
40002 / 30002 |
Range -32,768 to 32,767. |
| uint (uint32) |
32 bit Unsigned |
DWORD (UDInt) |
40003–40004 |
Requires 2 registers; Range 0–4,294,967,295. |
| int (int32) |
32 bit Signed |
DINT |
40005–40006 |
Range -2,147,483,648 to 2,147,483,647. |
| ulong (uint64) |
64 bit Unsigned |
- |
40006–40009 |
Occupies 4 consecutive registers. |
| long (int64) |
64 bit Signed |
LINT |
40010–40013 |
Occupies 4 consecutive registers. |
| float (float32) |
32 bit IEEE |
REAL |
40014–40015 |
May require Byte Order adjustment; supports Decimal Places. |
| double (double64) |
64 bit IEEE |
LREAL |
40015–40018 |
High variance in byte order across devices. |
| string |
1...n Bytes |
STRING[n] |
From 40020 |
Stored by encoding; verify Encoding and Length. |
Related Articles
Inovance Serial over TCP Data Collection Guide
1. Protocol Overview Protocol Description: "Serial over TCP" is a communication method that transmits serial data (such as Modbus RTU) over a TCP/IP network. It allows devices that typically use serial communication (RS232/RS485) to communicate with ...
Modbus TCP Data Collection Guide
1. Protocol Overview Protocol Description: Modbus TCP is a common industrial automation protocol based on TCP/IP network transmission. Application Scenarios: This protocol is widely used for data acquisition and control of devices such as PLCs, ...
OPC UA Data Collection Guide
1. Protocol Overview Protocol Description: Modbus TCP is a common industrial automation protocol based on TCP/IP network transmission. Application Scenarios: This protocol is widely used for data acquisition and control of devices such as PLCs, ...
Omron CipNet Data Collection Guide
1. Protocol Overview Protocol Description: CipNet is the term used by Omron for its EtherNet/IP network solution. EtherNet/IP is a widely adopted industrial Ethernet communication protocol that encapsulates the Common Industrial Protocol (CIP) within ...
Siemens S7 Data Collection Guide
1. Protocol Overview Protocol Description: The S7 protocol is a proprietary communication protocol developed by Siemens for its S7 series PLCs. It is primarily used for data communication between STEP 7 programming software and S7 PLCs, as well as ...