QModbusRtuSerialSlave Class | Qt Serial Bus 5.15.0

- Qt 5.15
- Qt Serial Bus
- C++ Classes
- QModbusRtuSerialSlave
- Qt 5.15.0 Reference Documentation

# QModbusRtuSerialSlave Class

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

Header: | #include <QModbusRtuSerialSlave>
qmake: | QT += serialbus
Since: | Qt 5.8
Inherits: | QModbusServer

This class was introduced in Qt 5.8.

- List of all members, including inherited members

## Public Functions

| QModbusRtuSerialSlave(QObject *parent = nullptr)
virtual | ~QModbusRtuSerialSlave()

## Reimplemented Public Functions

virtual bool | processesBroadcast() const override

## Reimplemented Protected Functions

virtual void | close() override
virtual bool | open() override
virtual QModbusResponse | processRequest(const QModbusPdu &request) override

## Detailed Description

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

Since multiple Modbus server instances can interact with a Modbus client at the same time (using a serial bus), servers are identified by their serverAddress().

## Member Function Documentation

### QModbusRtuSerialSlave::QModbusRtuSerialSlave(QObject *parent = nullptr)

Constructs a QModbusRtuSerialSlave with the specified parent. The serverAddress preset is `1`.

### `[virtual]` QModbusRtuSerialSlave::~QModbusRtuSerialSlave()

Destroys the QModbusRtuSerialSlave instance.

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

Reimplements: QModbusDevice::close().

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

Reimplements: QModbusDevice::open().

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

### `[override virtual protected]` QModbusResponse QModbusRtuSerialSlave::processRequest(const QModbusPdu &request)

Reimplements: QModbusServer::processRequest(const QModbusPdu &request).

Processes the Modbus client request specified by request and returns a Modbus response.

The Modbus function QModbusRequest::EncapsulatedInterfaceTransport with MEI Type 13 (0x0D) CANopen General Reference is filtered out because it is usually Modbus TCP or Modbus serial ASCII only.

A request to the RTU serial slave will be answered with a Modbus exception response with the exception code QModbusExceptionResponse::IllegalFunction.

### `[override virtual]` bool QModbusRtuSerialSlave::processesBroadcast() const

Reimplements: QModbusServer::processesBroadcast() const.