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 |
QModbusTcpServer(QObject *parent = nullptr) | |
virtual | ~QModbusTcpServer() |
void | installConnectionObserver(QModbusTcpConnectionObserver *observer) |
void | modbusClientDisconnected(QTcpSocket *modbusClient) |
virtual void | close() override |
virtual bool | open() override |
virtual QModbusResponse | processRequest(const QModbusPdu &request) override |
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.
Constructs a QModbusTcpServer with the specified parent. The serverAddress preset is 255
.
[signal, since 5.13]
void QModbusTcpServer::modbusClientDisconnected(QTcpSocket
*modbusClient)This signal is emitted when a current TCP based modbusClient disconnects from this Modbus TCP server. Note that there might be several TCP clients connected at the same time.
Notifications on incoming new connections can be received by installing a QModbusTcpConnectionObserver via installConnectionObserver().
This function was introduced in Qt 5.13.
See also installConnectionObserver.
[virtual]
QModbusTcpServer::~QModbusTcpServer()Destroys the QModbusTcpServer instance.
[override virtual protected]
void QModbusTcpServer::close()Reimplements: QModbusDevice::close().
[since 5.13]
void QModbusTcpServer::installConnectionObserver(QModbusTcpConnectionObserver *observer)Installs an observer that can be used to obtain notifications when a new TCP client connects to this server instance. In addition, the observer can be used to reject the incoming TCP connection.
QModbusTcpServer takes ownership of the given observer. Any previously set observer will be deleted. The observer can be uninstalled by calling this function with
nullptr
as parameter.
This function was introduced in Qt 5.13.
See also QModbusTcpConnectionObserver.
[override virtual protected]
bool QModbusTcpServer::open()Reimplements: QModbusDevice::open().
[override virtual protected]
QModbusResponse QModbusTcpServer::processRequest(const
QModbusPdu &request)Reimplements: QModbusServer::processRequest(const QModbusPdu &request).
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.
As part of the free Business evaluation, we offer a free welcome call for companies, to talk about your requirements, and how the Felgo SDK & Services can help you. Just sign up and schedule your call.
Sign up now to start your free Business evaluation: