QModbusRtuSerialServer Class
La classe QModbusRtuSerialServer représente un serveur Modbus qui utilise un port série pour communiquer avec le client Modbus. En savoir plus...
| En-tête : | #include <QModbusRtuSerialServer> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS SerialBus) target_link_libraries(mytarget PRIVATE Qt6::SerialBus) |
| qmake : | QT += serialbus |
| Depuis : | Qt 6.2 |
| Hérite de : | QModbusServer |
Fonctions publiques
| QModbusRtuSerialServer(QObject *parent = nullptr) | |
| virtual | ~QModbusRtuSerialServer() |
(since 6.2) int | interFrameDelay() const |
(since 6.2) void | setInterFrameDelay(int microseconds) |
Fonctions publiques réimplémentées
| virtual bool | processesBroadcast() const override |
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 plusieurs serveurs Modbus. Cette classe fournit l'implémentation du serveur Modbus via un port série.
Étant donné que plusieurs instances de serveur Modbus peuvent interagir simultanément avec un client Modbus (via un bus série), les serveurs sont identifiés par leur identifiant de session ( serverAddress()).
Documentation des fonctions membres
[explicit] QModbusRtuSerialServer::QModbusRtuSerialServer(QObject *parent = nullptr)
Crée un objet `QModbusRtuSerialServer` avec l'parent spécifiée. Le préréglage de l'serverAddress est ` 1`.
[virtual noexcept] QModbusRtuSerialServer::~QModbusRtuSerialServer()
Supprime l'instance ` QModbusRtuSerialServer `.
[override virtual protected] void QModbusRtuSerialServer::close()
Réimplémente : QModbusDevice::close().
[since 6.2] int QModbusRtuSerialServer::interFrameDelay() const
Renvoie la durée, en microsecondes, de l'intervalle de silence entre deux messages Modbus consécutifs.
Cette fonction a été introduite dans Qt 6.2.
Voir également setInterFrameDelay().
[override virtual protected] bool QModbusRtuSerialServer::open()
Réimplémente : QModbusDevice::open().
Remarque : l'appel de cette fonctionentraîne la suppression des données mises en mémoire tampon existantes du port série.
[override virtual protected] QModbusResponse QModbusRtuSerialServer::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.
La fonction Modbus QModbusRequest::EncapsulatedInterfaceTransport avec le type MEI 13 (0x0D) « Référence générale CANopen » est ignorée, car elle concerne généralement uniquement Modbus TCP ou Modbus série ASCII.
Une requête adressée au serveur série RTU recevra une réponse d’exception Modbus avec le code d’exception QModbusExceptionResponse::IllegalFunction.
[override virtual] bool QModbusRtuSerialServer::processesBroadcast() const
Réimplémente : QModbusServer::processesBroadcast() const.
[since 6.2] void QModbusRtuSerialServer::setInterFrameDelay(int microseconds)
Définit la durée de l'microseconds pour l'intervalle de silence entre deux messages Modbus consécutifs. Par défaut, l'implémentation de la classe utilise une valeur précalculée conformément à la spécification Modbus. Une connexion active ou en cours n'est pas affectée par ces modifications de délai.
Remarque : si l'microseconds est défini sur -1 ou si microseconds est inférieur au délai précalculé, c'est cette valeur précalculée qui est utilisée comme délai de trame.
Cette fonction a été introduite dans Qt 6.2.
Voir également interFrameDelay().
© 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.