- Qt 6.9
- Qt Serial Bus
- C++ Classes
- QModbusRtuSerialClient
- Qt 6.9.2 Reference Documentation

# QModbusRtuSerialClient Class

The QModbusRtuSerialClient class represents a Modbus client that uses a serial bus for its communication with the Modbus server. More...

Header: | `#include <QModbusRtuSerialClient>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS SerialBus)` `target_link_libraries(mytarget PRIVATE Qt6::SerialBus)`
qmake: | `QT += serialbus`
Since: | Qt 6.2
Inherits: | QModbusClient

- List of all members, including inherited members

## Public Functions

| QModbusRtuSerialClient(QObject *parent = nullptr)
int | interFrameDelay() const
void | setInterFrameDelay(int microseconds)
void | setTurnaroundDelay(int turnaroundDelay)
int | turnaroundDelay() const

## Reimplemented Protected Functions

virtual void | close() override
virtual bool | open() override

## Detailed Description

Communication via Modbus requires the interaction between a single Modbus client instance and multiple Modbus servers. This class provides the client implementation via a serial port.

## Member Function Documentation

### `[explicit]` QModbusRtuSerialClient::QModbusRtuSerialClient(QObject *parent = nullptr)

Constructs a serial Modbus client with the specified parent.

### `[override virtual protected]` void QModbusRtuSerialClient::close()

Reimplements: QModbusDevice::close().

### int QModbusRtuSerialClient::interFrameDelay() const

Returns the amount of microseconds for the silent interval between two consecutive Modbus messages.

See also setInterFrameDelay().

### `[override virtual protected]` bool QModbusRtuSerialClient::open()

Reimplements: QModbusDevice::open().

Note: When calling this function, existing buffered data is removed from the serial port.

### void QModbusRtuSerialClient::setInterFrameDelay(int microseconds)

Sets the amount of microseconds for the silent interval between two consecutive Modbus messages. By default, the class implementation will use a pre-calculated value according to the Modbus specification. A active or running connection is not affected by such delay changes.

Note: If microseconds is set to -1 or microseconds is less than the pre-calculated delay then this pre-calculated value is used as frame delay.

See also interFrameDelay().

### void QModbusRtuSerialClient::setTurnaroundDelay(int turnaroundDelay)

Sets the amount of milliseconds for the silent interval between a Modbus broadcast and a consecutive Modbus messages to turnaroundDelay. Typically the turnaround delay is in the range of `100` to `200` milliseconds.

See also turnaroundDelay().

### int QModbusRtuSerialClient::turnaroundDelay() const

Returns the amount of milliseconds for the silent interval between a Modbus broadcast and a consecutive Modbus messages. The default value is set to `100` milliseconds.

See also setTurnaroundDelay().