---
title: Modbus TCP Collector
slug: reference/modbus-tcp-collector
docTags: XvgE82X7SfoIRBJdtS4Hy
createdAt: 2025-10-08T11:53:52.559Z
---

## Basic settings

These settings are used by the collector to successfully connect to the Modbus server.

### Endpoint

**Description**: The location of the Modbus server.
**Required**: yes
**Example**: tcp\://localhost:502

:::hint{type="info"}
This configures the IP address and port on which the Modbus server is listening.
:::

### ByteOrderDefault

**Description**: The default Modbus byte order to interpret the register bytes and register sequence.
**Required**: yes
**Default**: AB-(CD)-(EF-GH)
**Options**: AB-(CD)-(EF-GH) | BA-(DC)-(FE-HG) | (HG-FE)-(DC)-BA | (GH-EF)-(CD)-AB

:::hint{type="info"}
This defines how bytes and registers are ordered when decoding multi-register values.
You can override this per measurement, but only with one of the four orders listed above. A measurement set to `Default` inherits the collector setting. Any other value fails to decode and every read of that measurement returns an error.
:::

## Advanced settings

### ReadTimeout

**Description**: The Modbus read timeout in milliseconds.
**Required**: no
**Default**: 5000

## Measurement settings

The measurement settings reflect the configuration possibilities for mapping a measurement to a Modbus address range and function code.

### Address

**Description**: The Modbus address to start reading registers from.
**Required**: yes
**Default**: 0

### CollectionType

**Description**: The way this measurement should be collected from the Modbus server.
**Required**: yes
**Default**: polled
**Options**: polled | monitored

:::hint{type="info"}
Checkout the [data collection methods](#) section for more information.
:::

### SlaveID

**Description**: The Slave ID is a string of two hexadecimal characters referring to the Modbus slave to request data from (for example, broadcast is `ff`).
**Required**: yes
**Default**: ff

### CollectionInterval

**Description**: The interval in milliseconds at which this measurement should be collected.
**Required**: no
**Default**: 5000

### CollectionOffset

**Description**: The offset in milliseconds, relative to the 0th second of a minute, at which this measurement should be collected. Only relevant for polled measurements.
**Required**: no
**Default**: 0

### RegType

**Description**: The Modbus register type to read. The settings form shows this as `RegisterType`, but the stored key is `RegType`, which matters for a bulk import or a direct JSON edit.
**Required**: yes
**Default**: Input Register
**Options**: Coil | Discrete Input | Input Register | Holding Register

### ModbusDataType

**Description**: The datatype of the Modbus registers to read.
If the register type is **Discrete Input** or **Coil**, only `boolean` is allowed.
**Required**: yes
**Options**: boolean | uint16 | int16 | uint32 | int32 | float32 | uint64 | int64 | float64

### ByteOrder

**Description**: The Modbus byte order to interpret the register bytes.
Optional and overrides the collector’s **ByteOrderDefault**.
**Required**: no
**Default**: Default
**Options**: Default | AB-(CD)-(EF-GH) | BA-(DC)-(FE-HG) | (HG-FE)-(DC)-BA | (GH-EF)-(CD)-AB

## Data collection methods

The Modbus collector has 2 methods to collect measurement data, which are referred to as the **collection type** of a measurement.

### Polling

Polled measurements are read every *x* milliseconds (minimum of 1000 ms), which is the collection interval. This data collection method should be used for measurements whose value changes regularly over time. Configure the interval depending on how frequently you want to collect data points for this measurement.

### Monitoring

Monitored measurements collect data on every change of the measurement’s value.
This data collection method polls the measurement at the minimum interval and notifies the collector whenever a change occurs. Typically, monitored measurements are configured for boolean or string data types that indicate an equipment’s state, for example, a valve that opens or closes only a few times per hour.

## Collector health

### Error connecting to slave

An error occurred while trying to initialize the Modbus slave.
This indicates that a collector setting hasn’t been configured correctly or that the Modbus server isn’t reachable during initialization.

### Disconnected from slave

The Modbus client lost connection with the Modbus slave.
