QModbusTcpServer Class

The QModbusTcpServer class represents a Modbus server that uses a TCP server for its communication with the Modbus client. More...

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

Public Functions

QModbusTcpServer(QObject *parent = nullptr)
virtual ~QModbusTcpServer()

Reimplemented Protected Functions

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

Additional Inherited Members

Detailed Description

The QModbusTcpServer class represents a Modbus server that uses a TCP server for its communication with the Modbus client.

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

Modbus TCP networks can have multiple servers. Servers are read/written by a client device represented by QModbusTcpClient.

Member Function Documentation

QModbusTcpServer::QModbusTcpServer(QObject *parent = nullptr)

Constructs a QModbusTcpServer with the specified parent. The serverAddress preset is 255.

[virtual] QModbusTcpServer::~QModbusTcpServer()

Destroys the QModbusTcpServer instance.

[override virtual protected] void QModbusTcpServer::close()

Reimplemented from QModbusDevice::close().

[override virtual protected] bool QModbusTcpServer::open()

Reimplemented from QModbusDevice::open().

[override virtual protected] QModbusResponse QModbusTcpServer::processRequest(const QModbusPdu &request)

Reimplemented from QModbusServer::processRequest().

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

The following Modbus function codes are filtered out as they are serial line only according to the Modbus Application Protocol Specification 1.1b:

A request to the TCP server will be answered with a Modbus exception response with the exception code QModbusExceptionResponse::IllegalFunction.

© 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.