Auf dieser Seite

QModbusTcpServer Class

Die Klasse „QModbusTcpServer“ stellt einen Modbus-Server dar, der für die Kommunikation mit dem Modbus-Client einen TCP-Server nutzt. Mehr...

Header: #include <QModbusTcpServer>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus
Erbt von: QModbusServer

Öffentliche Funktionen

QModbusTcpServer(QObject *parent = nullptr)
virtual ~QModbusTcpServer()
void installConnectionObserver(QModbusTcpConnectionObserver *observer)

Signale

void modbusClientDisconnected(QTcpSocket *modbusClient)

Neu implementierte geschützte Funktionen

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

Detaillierte Beschreibung

Die Kommunikation über Modbus erfordert die Interaktion zwischen einer einzelnen Modbus-Client-Instanz und einem einzelnen Modbus-Server. Diese Klasse stellt die Modbus-Server-Implementierung über einen TCP-Server bereit.

Modbus-TCP-Netzwerke können mehrere Server umfassen. Der Lese- und Schreibzugriff auf die Server erfolgt durch ein Client-Gerät, das durch die Klasse „ QModbusTcpClient “ repräsentiert wird.

Dokumentation der Mitgliedsfunktionen

[explicit] QModbusTcpServer::QModbusTcpServer(QObject *parent = nullptr)

Erstellt einen QModbusTcpServer mit der angegebenen „ parent “. Die Voreinstellung für „ serverAddress “ lautet „ 255 “.

[virtual noexcept] QModbusTcpServer::~QModbusTcpServer()

Löscht die Instanz von „ QModbusTcpServer “.

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

Implementiert: QModbusDevice::close().

void QModbusTcpServer::installConnectionObserver(QModbusTcpConnectionObserver *observer)

Ruft eine ` observer ` auf, mit der Benachrichtigungen abgerufen werden können, wenn ein neuer TCP-Client eine Verbindung zu dieser Serverinstanz herstellt. Darüber hinaus kann die Funktion ` observer ` verwendet werden, um die eingehende TCP-Verbindung abzulehnen.

QModbusTcpServer Übernimmt die Verantwortung für den angegebenen „ observer “. Alle zuvor festgelegten Beobachter werden gelöscht. Der Beobachter kann deinstalliert werden, indem diese Funktion mit „ nullptr “ als Parameter aufgerufen wird.

Siehe auch ` QModbusTcpConnectionObserver`.

[signal] void QModbusTcpServer::modbusClientDisconnected(QTcpSocket *modbusClient)

Dieses Signal wird ausgegeben, wenn ein aktuell verbundener TCP-basierter modbusClient die Verbindung zu diesem Modbus-TCP-Server trennt. Beachten Sie, dass möglicherweise mehrere TCP-Clients gleichzeitig verbunden sind.

Benachrichtigungen über eingehende neue Verbindungen können durch die Installation eines „ QModbusTcpConnectionObserver “ über installConnectionObserver() empfangen werden.

Siehe auch „ installConnectionObserver “.

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

Implementiert: QModbusDevice::open().

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

Implementiert: ` QModbusServer::processRequest` (`const QModbusPdu &request`).

Verarbeitet die durch ` request ` angegebene Modbus-Client-Anfrage und gibt eine Modbus-Antwort zurück.

Die folgenden Modbus-Funktionscodes werden herausgefiltert, da sie gemäß der Modbus-Anwendungsprotokollspezifikation 1.1b nur über die serielle Schnittstelle übertragen werden dürfen:

Eine Anfrage an den TCP-Server wird mit einer Modbus-Ausnahmeantwort mit dem Ausnahmecode QModbusExceptionResponse::IllegalFunction beantwortet.

© 2026 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.