QModbusReply Class
La classe `QModbusReply` contient les données d'une requête envoyée via une classe dérivée de ` QModbusClient `. En savoir plus...
| En-tête : | #include <QModbusReply> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS SerialBus) target_link_libraries(mytarget PRIVATE Qt6::SerialBus) |
| qmake : | QT += serialbus |
| Hérite de : | QObject |
Types publics
| enum | ReplyType { Raw, Common, Broadcast } |
Fonctions publiques
| QModbusReply(QModbusReply::ReplyType type, int serverAddress, QObject *parent = nullptr) | |
| QModbusDevice::Error | error() const |
| QString | errorString() const |
(since 6.0) QList<QModbusDevice::IntermediateError> | intermediateErrors() const |
| bool | isFinished() const |
| QModbusResponse | rawResult() const |
| QModbusDataUnit | result() const |
| int | serverAddress() const |
| QModbusReply::ReplyType | type() const |
Signaux
| void | errorOccurred(QModbusDevice::Error error) |
| void | finished() |
Documentation sur les types de membres
enum QModbusReply::ReplyType
Cette énumération décrit les types de réponse possibles.
| Constante | Valeur | Description |
|---|---|---|
QModbusReply::Raw | 0 | La réponse provient d’une requête Modbus brute. Voir QModbusClient::sendRawRequest |
QModbusReply::Common | 1 | La réponse provient d'une requête courante de lecture, d'écriture ou de lecture/écriture. Voir QModbusClient::sendReadRequest, QModbusClient::sendWriteRequest et QModbusClient::sendReadWriteRequest |
QModbusReply::Broadcast | 2 | La réponse provient d’une requête Modbus de diffusion. La fonction ` serverAddress()` renverra ` 0 ` et le signal ` finished()` sera émis immédiatement. |
Documentation des fonctions membres
QModbusReply::QModbusReply(QModbusReply::ReplyType type, int serverAddress, QObject *parent = nullptr)
Crée un objet QModbusReply avec l'type donné et l'parent spécifié.
La réponse sera envoyée au client Modbus représenté par serverAddress.
QModbusDevice::Error QModbusReply::error() const
Renvoie l'état d'erreur de cette réponse.
Voir également errorString() et errorOccurred().
[signal] void QModbusReply::errorOccurred(QModbusDevice::Error error)
Ce signal est émis lorsqu'une erreur a été détectée lors du traitement de cette réponse. Le signal finished() suivra probablement.
L'erreur sera décrite par le code d'erreur error. Si errorString n'est pas vide, il contiendra une description textuelle de l'erreur. En cas d'QModbusDevice::ProtocolError, la fonction rawResult() peut être utilisée pour récupérer la réponse d'exception Modbus d'origine et obtenir ainsi le code d'exception.
Remarque : ne supprimez pas cet objet de réponse dans l'emplacement connecté à ce signal. Utilisez plutôt deleteLater() .
Voir également error() et errorString().
QString QModbusReply::errorString() const
Renvoie la représentation textuelle de l'état d'erreur de cette réponse.
Si aucune erreur ne s'est produite, cette fonction renvoie une chaîne vide. Il est possible qu'une erreur se soit produite sans qu'il y ait de représentation textuelle associée ; dans ce cas, cette fonction renvoie également une chaîne vide.
Voir également error() et errorOccurred().
[signal] void QModbusReply::finished()
Ce signal est émis lorsque le traitement de la réponse est terminé. Il se peut toutefois que la réponse ait été renvoyée avec une erreur.
Une fois ce signal émis, les données de la réponse ne seront plus mises à jour.
Remarque : ne supprimezpas l'objet dans le slot lié à ce signal. Utilisez la fonction ` deleteLater()`.
Vous pouvez également utiliser isFinished() pour vérifier si un QNetworkReply est terminé avant même de recevoir le signal finished().
Voir également isFinished() et error().
[since 6.0] QList<QModbusDevice::IntermediateError> QModbusReply::intermediateErrors() const
Renvoie la liste des erreurs intermédiaires qui ont pu se produire au cours du cycle d'envoi-réception d'une requête Modbus jusqu'à ce que l'QModbusReply e signale que l'opération est terminée.
Cette fonction a été introduite dans Qt 6.0.
bool QModbusReply::isFinished() const
Renvoie true lorsque la réponse est terminée ou a été interrompue.
Voir également finished() et error().
QModbusResponse QModbusReply::rawResult() const
Renvoie la réponse brute d'une requête Modbus.
Si la requête n'est pas terminée, l'instance ` QModbusResponse ` renvoyée n'est pas valide.
Voir également type() et result().
QModbusDataUnit QModbusReply::result() const
Renvoie le résultat prétraité d'une requête Modbus.
Pour les requêtes de lecture ainsi que pour les requêtes combinées de lecture/écriture envoyées via ` QModbusClient::sendReadWriteRequest()`, il contient les valeurs lues à partir de l'instance du serveur.
Si la requête n'est pas terminée, a échoué en raison d'une erreur ou s'il s'agissait d'une requête d'écriture, l'instance QModbusDataUnit renvoyée n'est pas valide.
Remarque : si l'type() de la réponse est QModbusReply::Broadcast, la valeur renvoyée sera toujours invalide. Si l'type() de la réponse est QModbusReply::Raw, la valeur renvoyée peut être invalide selon l'implémentation de QModbusClient::processPrivateResponse().
Voir également type(), rawResult() et QModbusClient::processPrivateResponse().
int QModbusReply::serverAddress() const
Renvoie l'adresse du serveur vers lequel cet objet de réponse est dirigé.
QModbusReply::ReplyType QModbusReply::type() const
Renvoie le type de la réponse.
Remarque : si le type de la réponse est « QModbusReply::Raw », la valeur renvoyée par la fonction « result() » sera toujours invalide.
© 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.