Sur cette page

QModbusTcpServer Class

La classe QModbusTcpServer représente un serveur Modbus qui utilise un serveur TCP pour communiquer avec le client Modbus. En savoir plus...

En-tête : #include <QModbusTcpServer>
CMake : find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake : QT += serialbus
Hérite de : 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 seule instance de client Modbus et un seul serveur Modbus. Cette classe fournit l'implémentation du serveur Modbus via un serveur TCP.

Les réseaux Modbus TCP peuvent comporter plusieurs serveurs. Les serveurs sont lus et écrits par un périphérique client représenté par QModbusTcpClient.

Documentation des fonctions membres

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

Crée un objet `QModbusTcpServer` avec l'parent` spécifiée. La valeur par défaut de ` serverAddress ` est ` 255`.

[virtual noexcept] QModbusTcpServer::~QModbusTcpServer()

Supprime l'instance de ` QModbusTcpServer `.

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

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

void QModbusTcpServer::installConnectionObserver(QModbusTcpConnectionObserver *observer)

Installe une observer permettant de recevoir des notifications lorsqu'un nouveau client TCP se connecte à cette instance de serveur. De plus, l'observer peut être utilisée pour rejeter la connexion TCP entrante.

QModbusTcpServer Prend en charge l'observer spécifié. 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'une modbusClient TCP en cours se déconnecte de ce serveur Modbus TCP. Notez qu'il peut y avoir plusieurs clients TCP connectés simultanément.

Il est possible de recevoir des notifications concernant les nouvelles connexions entrantes en installant une QModbusTcpConnectionObserver via installConnectionObserver().

Voir également 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 requête 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 sont réservés à la communication par ligne série, conformément à la spécification du protocole d’application Modbus 1.1b :

Une requête 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.