Sur cette page

QModbusReply Class

La classe QModbusReply contient les données d'une requête envoyée avec une classe dérivée QModbusClient. Plus d'informations...

En-tête : #include <QModbusReply>
CMake : find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake : QT += serialbus
Héritages : 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 des types de membres

enum QModbusReply::ReplyType

Cette énumération décrit le type de réponse possible.

ConstanteValeurDescription du type de réponse
QModbusReply::Raw0La réponse provient d'une requête Modbus brute. Voir QModbusClient::sendRawRequest
QModbusReply::Common1La réponse provient d'une requête commune de lecture, d'écriture ou de lecture/écriture. Voir QModbusClient::sendReadRequest, QModbusClient::sendWriteRequest et QModbusClient::sendReadWriteRequest
QModbusReply::Broadcast2La réponse provient d'une demande de diffusion Modbus. La fonction serverAddress() renvoie 0 et le signal finished() est émis immédiatement.

Documentation des fonctions membres

QModbusReply::QModbusReply(QModbusReply::ReplyType type, int serverAddress, QObject *parent = nullptr)

Construit un objet QModbusReply avec un type donné et le 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 aussi errorString() et errorOccurred().

[signal] void QModbusReply::errorOccurred(QModbusDevice::Error error)

Ce signal est émis lorsqu'une erreur a été détectée dans le 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. Dans le cas d'un QModbusDevice::ProtocolError, la fonction rawResult() peut être utilisée pour obtenir la réponse d'exception Modbus d'origine afin d'obtenir le code d'exception.

Remarque : ne supprimez pas cet objet de réponse dans l'emplacement connecté à ce signal. Utilisez plutôt deleteLater().

Voir aussi 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, le message renvoie une chaîne vide. Il est possible qu'une erreur se soit produite et qu'elle n'ait pas de représentation textuelle associée, auquel cas la réponse renverra é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é. La réponse peut encore être retournée avec une erreur.

Après l'émission de ce signal, il n'y aura plus de mise à jour des données de la réponse.

Remarque : ne supprimez pas l'objet dans le slot connecté à ce signal. Utilisez deleteLater().

Vous pouvez également utiliser isFinished() pour vérifier si une QNetworkReply est terminée 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 pendant le cycle d'envoi et de réception d'une requête Modbus jusqu'à ce que le site QModbusReply signale qu'il est terminé.

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 aussi 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 aussi 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 les requêtes combinées de lecture et d'écriture envoyées via QModbusClient::sendReadWriteRequest(), il contient les valeurs lues à partir de l'instance du serveur.

Si la demande n'est pas terminée, a échoué avec une erreur ou était une demande d'écriture, l'instance QModbusDataUnit renvoyée n'est pas valide.

Note : Si le type() de la réponse est QModbusReply::Broadcast, la valeur de retour sera toujours invalide. Si le type() de la réponse est QModbusReply::Raw, la valeur de retour peut être invalide en fonction de l'implémentation de QModbusClient::processPrivateResponse().

Voir aussi type(), rawResult() et QModbusClient::processPrivateResponse().

int QModbusReply::serverAddress() const

Renvoie l'adresse du serveur visé par cet objet de réponse.

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 de retour de result() sera toujours invalide.

Voir aussi 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.