QModbusTcpServer Class

Die Klasse QModbusTcpServer stellt einen Modbus-Server dar, der einen TCP-Server für seine Kommunikation mit dem Modbus-Client verwendet. Mehr...

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

Öffentliche Funktionen

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

Signale

void modbusClientDisconnected(QTcpSocket *modbusClient)

Reimplementierte 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 haben. Server werden von einem durch QModbusTcpClient repräsentierten Client-Gerät gelesen/geschrieben.

Dokumentation der Mitgliedsfunktionen

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

Konstruiert einen QModbusTcpServer mit dem angegebenen parent. Die Voreinstellung serverAddress ist 255.

[virtual noexcept] QModbusTcpServer::~QModbusTcpServer()

Zerstört die Instanz QModbusTcpServer.

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

Reimplements: QModbusDevice::close().

void QModbusTcpServer::installConnectionObserver(QModbusTcpConnectionObserver *observer)

Installiert ein observer, das verwendet werden kann, um Benachrichtigungen zu erhalten, wenn sich ein neuer TCP-Client mit dieser Serverinstanz verbindet. Darüber hinaus kann observer verwendet werden, um eine eingehende TCP-Verbindung abzulehnen.

QModbusTcpServer übernimmt das Eigentum an dem angegebenen observer. Jeder zuvor gesetzte Beobachter wird 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 aktueller TCP-basierter modbusClient die Verbindung zu diesem Modbus-TCP-Server trennt. Beachten Sie, dass mehrere TCP-Clients zur gleichen Zeit verbunden sein können.

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()

Reimplements: QModbusDevice::open().

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

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

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

Die folgenden Modbus-Funktionscodes werden herausgefiltert, da sie gemäß der Modbus Application Protocol Specification 1.1b nur für die serielle Leitung gelten:

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

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