Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Home
  • Knowledge base
  • Contact Us
  • Home
  • Connectors
  • Industrial Connectors
  • Modbus

Configure the Modbus RTU over TCP Connector

Discover and configure Modbus RTU over TCP devices, add register items, select data and byte-order settings, verify communication, and troubleshoot common errors.

Written by Mads Mikkelsen

Updated at September 10th, 2026

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Installation & Technical information
    Introduction SIA Connect Standalone SIA Connect Standalone Plus SIA Connect ANY-Ware Cellular & WiFi connectivity
  • Edge Portal (Next-gen)
    Getting started with the Edge Portal Workspace Configuration Instances Data Interfaces Tools
  • Connectors
    Industrial Connectors Databases Cloud Connectors
  • Scripting & Variables
    Data formatting Advanced Data Processing
  • Developers
    API documentation Shadow API
  • Tutorials & Guides
    InfluxDB AWS IoT Core - Amazon Web Services Microsoft Power BI KaaIoT Siemens S7 AVEVA Insight SIA Connect Demo Rack Grafana Notification & Messaging Azure Cumulocity MQTT MS SQL OPC-UA Server
  • General
  • Configuration in the Edge Portal (legacy)
    Getting started with the UI Connectors Instances Items Mapping Data System Network Tools & Add-ons DigiCert IoT Trust Manager Remote Access & VPN tunneling
+ More

Table of Contents

Before you begin Choose the correct Modbus Connector Discover Modbus RTU over TCP instances Create an instance manually Understand word and byte order Add a Modbus item Choose a register address Choose a data type Address a bit within a register Address a string Automatic device identity items Verify the configuration Troubleshoot the Modbus RTU over TCP Connector Related articles

Articles in this section:

  • Configure the Modbus TCP Connector
  • Configure the Modbus RTU Connector
  • Configure the Modbus RTU over TCP Connector
  • Word (endianness) & Byte-Swapping

The Modbus RTU over TCP Connector connects SIA Connect to devices and gateways that carry Modbus RTU frames through a TCP connection. Use it to read coils and registers, write supported values, and discover compatible devices on a local IPv4 network.

This guide explains how to discover or create an instance, configure register items and data formats, verify communication, and resolve common errors.

Modbus RTU over TCP is not the same as standard Modbus TCP. This Connector sends RTU-framed messages, including the unit address and CRC, through the TCP connection. Use the Modbus TCP Connector instead when the server expects an MBAP header.

 

Writing to coils or registers can change equipment behavior. Confirm the target address and test writes only when it is safe to change the connected process.

 

 

Before you begin

Prepare the following information:

  • The hostname or IPv4 address of the RTU-over-TCP device or gateway.
  • The TCP port. The Connector default is 502.
  • The Modbus unit ID, which is displayed as Server ID.
  • The register type and address for each value.
  • The data type, word order, and byte order used by the device.
  • Confirmation that the target explicitly supports Modbus RTU framing over TCP.
  • Confirmation that the required coils or holding registers are writable.

Make sure that SIA Connect can reach the target and that firewalls allow the configured TCP port.

 

Choose the correct Modbus Connector

Connector Transport Message framing Typical use
Modbus RTU over TCP Ethernet TCP connection Modbus RTU frame with unit address and CRC A device or gateway that explicitly tunnels raw RTU frames through TCP.
Modbus TCP Ethernet TCP connection Modbus TCP frame with an MBAP header A standard Modbus TCP server.
Modbus RTU Serial RS-232 or RS-485 connection Modbus RTU frame with unit address and CRC A directly connected serial Modbus device.

A TCP connection can succeed even when the selected framing is wrong. If the target accepts the socket but every request times out or returns invalid-frame errors, confirm which protocol the target expects.

 

Discover Modbus RTU over TCP instances

The Connector can scan a selected IPv4 subnet for endpoints that respond to RTU-framed Modbus requests over TCP. It checks the configured ports and server IDs, then requests device identification information when the target supports it.

If an enabled instance already communicates with the same endpoint and unit ID, disable that instance before starting discovery. Some devices accept only one active TCP session.

  1. Open Configuration > Connectors.
  2. Find the installed and enabled Modbus RTU over TCP Connector.
  3. Start Discover instances.
  4. Select the network interface connected to the Modbus network.
  5. Enter the TCP ports and server IDs to scan.
  6. Set the scan duration.
  7. Start the discovery.
  8. Review the discovered candidates.
  9. Select the instances you want to import.
  10. Import the selected instances.
  11. Review each imported instance before enabling it.

The imported instance contains the detected address, port, and server ID. It also uses the Connector defaults for connection handling, read size, write preset, and byte order.

The Connector supports instance discovery, but it does not support item discovery. Add process items manually using the register documentation for the connected device.

Discovery parameters

Parameter Default Accepted values Description
Scan duration (ms) 60000 1000 to 300000 Maximum time allowed for the complete subnet scan.
Network interface eth0 An available interface or All IPv4 interfaces Selects the local IPv4 network to scan.
TCP ports 502 Ports from 1 to 65535, entered as comma-separated values or ranges TCP ports checked on each address. For example, enter 502,1502 or 502-510. Discovery checks a maximum of 64 ports.
Server IDs 1 IDs from 0 to 255, entered as comma-separated values or ranges Modbus unit IDs checked on each endpoint. For example, enter 1,10 or 1-10. Discovery checks a maximum of 32 IDs. It can also try ID 255 when ID 1 does not answer.

A subnet scan checks a maximum of 256 host addresses per interface. Use a specific interface and narrow port and server-ID ranges to reduce the scan time.

 

Create an instance manually

  1. Open Workspace > Instances.
  2. Select Add instance.
  3. Select the Modbus RTU over TCP Connector.
  4. Enter a descriptive instance name.
  5. Enter the target hostname or IP address in Address.
  6. Complete the Connector-specific parameters.
  7. Select Save.

Instance parameters

Parameter Required Default Description
Address Yes None Hostname or IP address of the RTU-over-TCP endpoint.
Port Yes 502 TCP port used by the endpoint. A value of 0 is replaced with 502.
Server ID Yes 1 Modbus unit ID included in the RTU frame. Use the ID assigned to the target device behind the endpoint. During normal communication, values of 0 or below are replaced with 1.
Persistent connection Yes Yes Keeps the TCP connection open between polling cycles. Select No when the target requires a new connection for each poll.
Max read registers Yes 123 Maximum number of coils or registers included in one grouped read. Reduce it if the target accepts smaller requests only.
Write preset Yes Multiple registers Selects the write functions. Single register uses functions 5 and 6. Multiple registers uses functions 15 and 16.
Endianness Yes Big endian Controls the order of 16-bit words in multi-register numeric values.
Byte order Yes First byte high Controls the order of the two bytes within each 16-bit register.
String endianness Yes Big endian Controls the order of registers used for string values.
String byte order Yes First byte high Controls the order of the two characters within each register used for a string.

 

Understand word and byte order

Modbus defines 16-bit registers, but devices do not use one universal register order for 32-bit and 64-bit values. Use the device documentation or a known test value to select the correct settings.

Setting Selected value Four-byte result
Endianness Big endian [A B] [C D]
Endianness Little endian (swapped) [C D] [A B]
Byte order First byte high [A B] [C D]
Byte order First byte low (swapped) [B A] [D C]

The string settings apply these choices independently to string registers.

 

Add a Modbus item

  1. Open the Modbus RTU over TCP instance.
  2. Open its Items section.
  3. Select Add item.
  4. Enter a descriptive item name.
  5. Select the required read and write direction.
  6. Enter the register address.
  7. Select the register type and data type.
  8. Set the floating-point precision if the item uses FLOAT or DOUBLE.
  9. Complete the standard item settings required by the application.
  10. Select Save.

Input coils and input registers are read-only in the Modbus data model. Use Write or Read/Write only for output coils and holding registers that the target permits you to change.

Item parameters

Parameter Required Default Description
Register Yes None Modbus reference address or zero-based offset. The expected format depends on Register type.
Register type Yes Auto Selects automatic reference addressing, Holding Register, Input Coil, Output Coil, or Input Register.
Type Yes None Selects how the returned coil or register data is decoded.
Floating point precision For floating-point values 4 Number of decimal places returned for FLOAT and DOUBLE values.

 

Choose a register address

Automatic reference addressing

Select Auto to enter a standard five-digit Modbus reference. The Connector converts the reference to its zero-based protocol offset.

Reference range Register area Example
00001 to 09999 Output coils 00001 becomes output coil offset 0.
10001 to 19999 Input coils 10001 becomes input coil offset 0.
30001 to 39999 Input registers 30001 becomes input register offset 0.
40001 and above Holding registers 40001 becomes holding register offset 0.

Explicit register type

Select a specific Register type to enter the zero-based protocol offset directly. For example, select Holding Register and enter 0 for the first holding register.

Use an explicit register type for a bit inside a register and for string ranges.

 

Choose a data type

Type Size Use
BIT One coil or one selected bit Boolean coil values or a bit within a 16-bit register.
INT16 1 register Signed 16-bit integer.
UINT16 1 register Unsigned 16-bit integer.
INT32 2 registers Signed 32-bit integer.
UINT32 2 registers Unsigned 32-bit integer.
INT64 4 registers Signed 64-bit integer.
UINT64 4 registers Unsigned 64-bit integer.
FLOAT 2 registers 32-bit floating-point value.
DOUBLE 4 registers 64-bit floating-point value.
STRING Configured register range UTF-8 text stored across two bytes per register.

 

Address a bit within a register

  1. Select Holding Register as the register type.
  2. Enter the zero-based register offset followed by a period and the bit number. For example, 0.3 selects bit 3 in the first holding register.
  3. Select BIT as the data type.

The bit number must be from 0 to 15. A write first reads the complete register, changes the selected bit, and writes the updated register value back.

This read-modify-write operation can conflict with the device or another client changing a different bit in the same register at the same time.

 

 

Address a string

  1. Select Holding Register or Input Register.
  2. Enter an inclusive zero-based range. For example, 0-9 uses 10 registers.
  3. Select STRING as the data type.
  4. Set String endianness and String byte order to match the target.

Each register stores two bytes, so a 10-register range can hold up to 20 bytes. A longer value is rejected when written.

 

Automatic device identity items

The Connector attempts to read device identity information when communication starts. It uses Modbus function 43/14 and falls back to function 17 when required.

The instance can provide identity items for:

  • Vendor
  • Product code
  • Revision
  • Model
  • Vendor URL
  • Product name
  • User application

Available values depend on the target implementation. Missing identity information does not prevent process-register communication.

 

Verify the configuration

  1. Confirm that the instance does not report a connection error.
  2. Add one Read item for a register with a known value.
  3. Compare the value in SIA Connect with the value shown by the device or another compatible client.
  4. Adjust Endianness and Byte order if a multi-register value is incorrect.
  5. Perform a controlled write to a confirmed writable coil or holding register if writing is required.
  6. Read the value back and confirm that the expected change was applied.

A successful TCP connection confirms only that the endpoint is reachable. Correct communication also depends on RTU-over-TCP framing, the server ID, register area, address basis, data type, and byte-order settings.

 

Troubleshoot the Modbus RTU over TCP Connector

Problem or message Likely cause Action
Could not connect, Connection refused, Host is unreachable, or Timeout The address or port is incorrect, the endpoint is stopped, or the network blocks the connection. Confirm the address and port. Check the device state, cabling, subnet, routing, and firewall rules. Use the Edge Portal Ping tool to test basic reachability.
The TCP connection opens, but every request times out The endpoint may expect standard Modbus TCP framing instead of RTU framing, or the selected server ID may not exist. Confirm the protocol in the device or gateway documentation. Use the Modbus TCP Connector if the endpoint expects MBAP framing. Otherwise check the Server ID and downstream route.
A CRC or invalid-frame error is reported The endpoint returned an incomplete RTU frame, invalid CRC, or a response using another framing method. Confirm that the endpoint supports RTU over TCP. Check for a framing conversion setting in the gateway and make sure another protocol is not using the same port.
Target device failed to respond The TCP endpoint responded, but the selected downstream Modbus unit did not. Check the Server ID and the gateway's downstream configuration. Confirm that the downstream device is powered and connected.
Gateway path unavailable The gateway cannot route the request to the selected Modbus unit. Check the gateway configuration, Server ID, downstream network, and routing path.
Response not from requested slave The returned RTU frame contains another unit ID. Confirm the Server ID and check the gateway for incorrect unit-ID routing.
Illegal function The target does not support the requested read or write function. Check the register area and access direction. Try the other Write preset option if the error occurs during writing.
Illegal data address The address does not exist, the offset basis is wrong, or a grouped read includes unsupported registers. Check whether the device manual uses one-based references or zero-based offsets. Verify the register type and reduce Max read registers.
Illegal data value The value, request length, or operation is not accepted by the target. Check the data type, value range, item direction, and supported request size.
Slave device or server is busy or Acknowledge The target accepted the request but cannot complete it immediately. Increase the item polling interval and reduce concurrent traffic.
Wrong offset format The Register field does not contain a valid number or supported bit or range format. Use a five-digit reference with Auto, or select an explicit register type and enter a zero-based offset.
Non-bit input type. Input or Output Coil required. A coil read was requested with an incompatible register type. Use Input Coil or Output Coil for a coil item. Use a register type for word-based data.
Bit value out of range The bit position is outside the valid range. Use a bit number from 0 to 15.
Invalid bool/bit value to write The write value is not 0 or 1. Convert the mapped value to 0 or 1 before writing.
Invalid address format for bit or Invalid address format for string The selected data type does not match the Register format. Use a period and bit number for a register bit. Use a hyphenated register range for a string.
Invalid string range or String too long The range is invalid or the text needs more than two bytes per configured register. Correct or enlarge the register range. Confirm the available register space before writing.
The value is readable but incorrect The data type, word order, byte order, address basis, or floating-point precision is wrong. Compare the target documentation with the item and instance settings. Test the byte-order combinations using a known value.
A write fails while reads work The address is read-only, the selected function is unsupported, or the target requires write permission or a different operating mode. Use an output coil or writable holding register. Confirm write access and try the other Write preset option.
Discovery returns no devices The wrong interface, port, server ID, subnet, or message framing was scanned. The target may also reject a second TCP session. Select the connected interface, confirm the scan ranges, disable an existing instance that uses the endpoint, and verify that the target expects RTU framing over TCP.
Discovery finds a device without vendor or model information The target responds to process requests but does not implement Read Device Identification or Report Slave ID. Import the candidate and enter a descriptive name manually. Missing identity metadata does not prevent register communication.

If the problem continues, review the instance and item errors together with the system logs. The reported Modbus exception normally identifies whether the problem concerns connectivity, framing, unit ID, function, address, or value.

 

Related articles

  • Configure the Modbus TCP Connector
  • Configure the Modbus RTU Connector
  • Word (endianness) & Byte-Swapping
  • Discover instances and items
  • Create and edit instances
  • Create and edit items
  • Create and edit mappings
  • Ping tool
  • Troubleshoot Connector, instance, item, and mapping errors
  • Configure and review system logs
  • Modbus RTU over TCP releases
connector discovery instances items modbus modbus rtu modbus rtu over tcp rtu over tcp troubleshooting

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Configure the Modbus TCP Connector
  • Configure the Modbus RTU Connector
  • Word (endianness) & Byte-Swapping

0
0
Expand