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 Connector

Connect SIA Connect to Modbus RTU devices, discover unit IDs, configure coils and registers, exchange values, and resolve 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 a setup method Discover Modbus RTU instances Instance discovery parameters Create a Modbus RTU instance manually Instance parameters Create Modbus items Configure register addressing Select a data type Configure word and byte order Write values Automatic identity items Verify the configuration Troubleshoot the 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 Connector reads and writes data from Modbus devices through an RS-232 or RS-485 serial connection. Use it for PLCs, meters, drives, sensors, and other devices that act as Modbus RTU servers.

This guide explains how to discover or manually configure a Modbus RTU instance, create items for coils and registers, select data formats, verify communication, and resolve common errors.

 

Before you begin

Prepare the following information:

  • The serial interface connected to the Modbus device.
  • Whether the connection uses RS-232 or RS-485.
  • The device unit ID, also called the slave address.
  • The baud rate, parity, data bits, and stop bits.
  • The register addresses, register types, data types, and byte order used by the device.

Make sure the Modbus RTU Connector is installed and enabled, and that the serial wiring matches the device documentation.

Writing to a Modbus device can change machine operation. Verify the target register and test writes only when the connected process is in a safe state.

 

 

Choose a setup method

Method Use it when
Discover instances You want SIA Connect to scan selected unit IDs on a serial interface.
Create an instance manually You already know the unit ID and serial communication settings.

Modbus RTU supports instance discovery. It does not support item discovery because Modbus does not provide a standard way to browse register definitions.

 

Discover Modbus RTU instances

  1. In the Edge Portal, open Workspace > Instances.
  2. Start instance discovery and select the Modbus RTU Connector.
  3. Select the serial mode and interface.
  4. Enter the baud rate, parity, data bits, and stop bits used by the bus.
  5. Enter the unit IDs that should be scanned.
  6. Set the scan duration.
  7. Start the scan.
  8. Select the required devices and import the instances.

The scan first requests Modbus device identification and Report Slave ID data. If the device does not support those functions, the Connector tests the first holding register and then the first coil. A device can therefore be discovered even when it does not provide product information.

Each imported instance uses the unit ID as its Address and retains the serial settings used during discovery. When identification data is available, the result can also include the vendor, product, model, and revision.

 

Instance discovery parameters

Parameter Default Accepted values Description
Scan duration (ms) 60000 1000 to 300000 Maximum duration of the complete unit-ID scan in milliseconds.
Server IDs 1-32 Comma-separated IDs and ranges from 0 to 255 Unit IDs to test. For example, 1,10 or 1-247. A maximum of 247 IDs is scanned.
Serial mode RS485 RS232 or RS485 Electrical serial mode used by the connection.
Device interface None Available serial interfaces Serial port connected to the Modbus bus. An interface must be selected before discovery starts.
Baudrate 9600 1200, 2400, 4800, 9600, 19200, 38400, 57600, or 115200 Serial communication speed.
Parity None None, Even, or Odd Parity used by the device.
Databits 8 5, 6, 7, or 8 Number of data bits in each serial character.
Stopbits 1 1 or 2 Number of stop bits.

Discovery allows approximately 200 ms for each unit ID to respond. Scanning a large range can therefore take time. Narrow the range when you know the expected unit ID.

 

Create a Modbus RTU instance manually

  1. In the Edge Portal, open Workspace > Instances.
  2. Select Add instance.
  3. Select the Modbus RTU Connector.
  4. Enter a descriptive name.
  5. Enter the device unit ID in Address.
  6. Select the serial interface and enter the communication settings.
  7. Configure the timeout, register limits, write behavior, and data order.
  8. Save the instance.

 

Instance parameters

Parameter Default Description
Address None Unit ID of the Modbus RTU device. Device addresses normally use the range 1 to 247.
Timeout 5000 ms Maximum time to wait for a Modbus response.
Max Read Registers 125 Maximum number of registers included in one read request. Reduce this value if the device supports smaller blocks.
Write Preset Multiple registers Selects whether writes use the single-coil and single-register functions or the multiple-coil and multiple-register functions.
Endianness Big endian Word order for multi-register numeric values. Big uses [A B] [C D]. Little swaps the words to [C D] [A B].
Byte Order First byte high Byte order within each register. First byte high uses [A B] [C D]. First byte low swaps the bytes to [B A] [D C].
String Endianness Big endian Register order used when reading and writing strings.
String Byte Order First byte high Character byte order within each string register.
Interframe Delay 200 ms Delay before opening and using the serial connection. It helps separate requests when several devices share the interface.
Serial Mode RS485 Select RS232 or RS485 to match the physical connection.
Device Interface None Serial interface connected to the device.
Baudrate 9600 Communication speed used by every device on the serial bus.
Parity None Select None, Even, or Odd to match the device.
Databits 8 Select 5, 6, 7, or 8 data bits.
Stopbits 1 Select one or two stop bits.

 

Create Modbus items

Use the device register map to create each item manually.

  1. Open the Modbus RTU instance.
  2. Add an item.
  3. Enter a descriptive item name.
  4. Enter the register address.
  5. Select the register type and data type.
  6. Set the item access to read, write, or read and write as required.
  7. Set the read interval and other standard item settings.
  8. Save the item.

Input coils and input registers are normally read-only. Only enable writing for output coils or holding registers that the device documentation identifies as writable.

 

 

Configure register addressing

The Register Type setting determines how the value in Register is interpreted.

Register type Address format Example for the first address
Auto Enter the complete five-digit Modbus reference. Output coil 00001, input coil 10001, input register 30001, or holding register 40001
Holding Register Enter the zero-based offset. 0 represents holding register 40001
Input Coil Enter the zero-based offset. 0 represents input coil 10001
Output Coil Enter the zero-based offset. 0 represents output coil 00001
Input Register Enter the zero-based offset. 0 represents input register 30001

To address one bit inside a 16-bit register, append a bit position from 0 to 15. For example, 40001.3 reads bit 3 of holding register 40001. Set the data type to BIT.

To read or write a string, enter an inclusive register range. For example, 40001-40010 covers ten registers and can hold up to 20 bytes.

 

Select a data type

Type Registers used Description
BIT One coil or one selected register bit Returns or writes 0 or 1.
INT16 1 Signed 16-bit integer.
UINT16 1 Unsigned 16-bit integer.
INT32 2 Signed 32-bit integer.
UINT32 2 Unsigned 32-bit integer.
INT64 4 Signed 64-bit integer.
UINT64 4 Unsigned 64-bit integer.
FLOAT 2 32-bit floating-point value.
DOUBLE 4 64-bit floating-point value.
STRING Defined by the register range UTF-8 text using up to two bytes per register.

Floating Point Precision controls the number of decimal places used when FLOAT and DOUBLE values are returned. The default is 4.

 

Configure word and byte order

Start with Big endian and First byte high. Change these settings only when a known multi-register value is decoded incorrectly.

Observed result Setting to check
The correct bytes appear in the wrong register order Endianness
The two bytes inside each register are reversed Byte Order
Numeric values are correct but text is reversed String Endianness and String Byte Order

 

Write values

Create a mapping to send a value to a writable Modbus item. The Connector formats the value using the selected data type, word order, and byte order.

  • BIT values must be 0 or 1.
  • A bit inside a holding register is written using a read-modify-write operation.
  • A string must fit inside the configured register range.
  • The Write Preset setting determines whether single or multiple write functions are used.

 

Automatic identity items

The Connector attempts to read device identification once for each instance. It uses Read Device Identification and falls back to Report Slave ID.

The following read-only identity items are created when the device provides the corresponding information:

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

A device that does not support either identification function can still be used for normal coil and register communication.

 

Verify the configuration

  1. Enable the instance and at least one read item.
  2. Confirm that the item receives a value without an instance or item error.
  3. Compare the value with the device display or another trusted Modbus client.
  4. Check the data type, word order, and byte order if the raw communication succeeds but the value is incorrect.
  5. Test a write only when the target register is documented as writable and the process is safe.

 

Troubleshoot the Connector

Select a serial interface before scanning Modbus RTU slaves.

No serial interface was selected for discovery. Select the interface connected to the Modbus bus and run the scan again.

No devices are discovered

Confirm the serial interface, mode, baud rate, parity, data bits, and stop bits. Make sure the unit-ID range includes the device. Check the RS-485 polarity, termination, biasing, common reference, and cable connection where applicable.

The discovery scan stops before every unit ID is checked

Increase Scan duration (ms) or narrow Server IDs. Each unit ID that does not respond can consume the per-ID timeout.

Could not connect

The serial port could not be opened or configured. Confirm that the selected interface exists, is connected, and is not reserved by another service or Connector instance. Check the serial mode and permissions.

Timeout

The device did not answer before the configured timeout. Confirm the unit ID and all serial settings. Check wiring and verify that only one client is transmitting on the bus. Increase the timeout only when the device is known to respond slowly.

Illegal function

The device does not support the requested Modbus function. Confirm the register type and choose a compatible Write Preset for write operations.

Illegal data address

The requested coil or register range is not available. Compare the configured address with the device register map and confirm whether it uses full Modbus references or zero-based offsets.

Wrong offset format

The register address could not be converted to an offset. Correct the address and make sure its format matches the selected Register Type.

Non-bit input type. Input or Output Coil required.

A coil read was attempted with an incompatible register type. Select Input Coil or Output Coil, or change the item to the correct register data type.

Bit value out of range

The bit position is outside 0 to 15. Correct the value after the decimal point in the register address.

Invalid bool/bit value to write

The mapped value is not 0 or 1. Convert the source value before writing it to the bit item.

Invalid address format for bit

A BIT item was configured as a normal register value. Use a coil address or append a valid bit position to a register, such as 40001.0.

Invalid address format for string or Invalid string range

The STRING item does not contain a valid register range. Enter an inclusive range such as 40001-40010.

String too long

The text contains more than two bytes per configured register. Increase the register range or shorten the value before writing it.

Values are incorrect but communication succeeds

Confirm the register type and data type first. Then compare the device documentation with the Endianness, Byte Order, String Endianness, and String Byte Order settings.

Some registers read successfully while a larger block fails

The device may support fewer registers per request. Reduce Max Read Registers until the requested blocks are accepted.

 

Related articles

  • Install and manage Connectors
  • Discover instances and items
  • Create and edit instances
  • Create and edit items
  • Configure the Modbus TCP Connector
  • Endianness and byte swapping
  • Configure and review system logs
connector modbus modbus rtu rs232 rs485 serial communication instance discovery registers troubleshooting

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

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

0
0
Expand