Sur cette page

QModbusTcpServer Class

La classe QModbusTcpServer représente un serveur Modbus qui utilise un serveur TCP pour sa communication avec le client Modbus. Plus d'informations...

En-tête : #include <QModbusTcpServer>
CMake : find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake : QT += serialbus
Héritages : QModbusServer

Fonctions publiques

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

Signaux

void modbusClientDisconnected(QTcpSocket *modbusClient)

Fonctions protégées réimplémentées

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

Description détaillée

La communication via Modbus nécessite l'interaction entre une instance de client Modbus et un serveur Modbus. Cette classe fournit l'implémentation du serveur Modbus via un serveur TCP.

Les réseaux Modbus TCP peuvent avoir plusieurs serveurs. Les serveurs sont lus/écrits par un dispositif client représenté par QModbusTcpClient.

Documentation des fonctions membres

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

Construit un QModbusTcpServer avec la valeur spécifiée parent. Le préréglage de serverAddress est 255.

[virtual noexcept] QModbusTcpServer::~QModbusTcpServer()

Détruit l'instance QModbusTcpServer.

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

Réimplémente : QModbusDevice::close().

void QModbusTcpServer::installConnectionObserver(QModbusTcpConnectionObserver *observer)

Installe un observer qui peut être utilisé pour obtenir des notifications lorsqu'un nouveau client TCP se connecte à cette instance de serveur. De plus, le observer peut être utilisé pour rejeter la connexion TCP entrante.

QModbusTcpServer prend possession de l'observateur observer donné. Tout observateur précédemment défini sera supprimé. L'observateur peut être désinstallé en appelant cette fonction avec nullptr comme paramètre.

Voir également QModbusTcpConnectionObserver.

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

Ce signal est émis lorsqu'un client TCP actuel modbusClient se déconnecte de ce serveur Modbus TCP. Notez qu'il peut y avoir plusieurs clients TCP connectés en même temps.

Des notifications sur les nouvelles connexions entrantes peuvent être reçues en installant un QModbusTcpConnectionObserver via installConnectionObserver().

Voir aussi installConnectionObserver.

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

Réimplémente : QModbusDevice::open().

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

Réimplémente : QModbusServer::processRequest(const QModbusPdu &request).

Traite la demande du client Modbus spécifiée par request et renvoie une réponse Modbus.

Les codes de fonction Modbus suivants sont filtrés car ils ne concernent que la ligne série, conformément à la spécification du protocole d'application Modbus 1.1b :

Une demande adressée au serveur TCP recevra une réponse d'exception Modbus avec le code d'exception QModbusExceptionResponse::IllegalFunction.

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