Sur cette page

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

Description détaillée

Documentation sur les types de membres

enum QModbusReply::ReplyType

Cette énumération décrit les types de réponse possibles.

ConstanteValeurDescription
QModbusReply::Raw0La réponse provient d’une requête Modbus brute. Voir QModbusClient::sendRawRequest
QModbusReply::Common1La 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::Broadcast2La 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.

Voir également result() et rawResult().

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