Auf dieser Seite

QModbusReply Class

Die Klasse „QModbusReply“ enthält die Daten für eine Anfrage, die mit einer von „ QModbusClient “ abgeleiteten Klasse gesendet wurde. Mehr...

Header: #include <QModbusReply>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus
Erbt von: QObject

Öffentliche Typen

enum ReplyType { Raw, Common, Broadcast }

Öffentliche Funktionen

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

Signale

void errorOccurred(QModbusDevice::Error error)
void finished()

Ausführliche Beschreibung

Dokumentation zum Mitgliedstyp

enum QModbusReply::ReplyType

Diese Enumeration beschreibt die möglichen Antworttypen.

KonstanteWertBeschreibung
QModbusReply::Raw0Die Antwort stammt von einer „Raw“-Modbus-Anfrage. Siehe QModbusClient::sendRawRequest
QModbusReply::Common1Die Antwort stammt von einer gewöhnlichen Lese-, Schreib- oder Lese-/Schreibanfrage. Siehe QModbusClient::sendReadRequest, QModbusClient::sendWriteRequest und QModbusClient::sendReadWriteRequest
QModbusReply::Broadcast2Die Antwort stammt aus einer Modbus-Broadcast-Anfrage. Die Funktion „ serverAddress()“ gibt „ 0 “ zurück, und das Signal „ finished()“ wird sofort ausgegeben.

Dokumentation der Member-Funktionen

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

Erstellt ein QModbusReply-Objekt mit einem vorgegebenen type und dem angegebenen parent.

Die Antwort wird an den Modbus-Client gesendet, der durch serverAddress repräsentiert wird.

QModbusDevice::Error QModbusReply::error() const

Gibt den Fehlerstatus dieser Antwort zurück.

Siehe auch errorString() und errorOccurred().

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

Dieses Signal wird ausgegeben, wenn bei der Verarbeitung dieser Antwort ein Fehler festgestellt wurde. Das Signal „ finished()“ wird wahrscheinlich darauf folgen.

Der Fehler wird durch den Fehlercode „ error “ beschrieben. Ist „ errorString “ nicht leer, enthält es eine textuelle Beschreibung des Fehlers. Im Falle eines „ QModbusDevice::ProtocolError “ kann die Funktion „ rawResult()“ verwendet werden, um die ursprüngliche Modbus-Ausnahmeantwort abzurufen und so den Ausnahmecode zu erhalten.

Hinweis: Löschen Sie dieses Antwortobjekt nicht in dem mit diesem Signal verbundenen Slot. Verwenden Sie stattdessen deleteLater().

Siehe auch „ error()“ und „ errorString()“.

QString QModbusReply::errorString() const

Gibt die textuelle Darstellung des Fehlerzustands dieser Antwort zurück.

Wenn kein Fehler aufgetreten ist, wird eine leere Zeichenkette zurückgegeben. Es ist möglich, dass ein Fehler aufgetreten ist, für den keine textuelle Darstellung vorhanden ist; in diesem Fall wird ebenfalls eine leere Zeichenkette zurückgegeben.

Siehe auch error() und errorOccurred().

[signal] void QModbusReply::finished()

Dieses Signal wird ausgesendet, wenn die Verarbeitung der Antwort abgeschlossen ist. Die Antwort kann dennoch einen Fehler enthalten.

Nachdem dieses Signal ausgelöst wurde, erfolgen keine weiteren Aktualisierungen der Daten der Antwort.

Hinweis: LöschenSie das Objekt nicht in dem mit diesem Signal verbundenen Slot. Verwenden Sie stattdessen „ deleteLater()“.

Sie können auch ` isFinished()` verwenden, um zu prüfen, ob eine `QNetworkReply` abgeschlossen ist, noch bevor Sie das Signal `finished()` empfangen.

Siehe auch ` isFinished()` und ` error()`.

[since 6.0] QList<QModbusDevice::IntermediateError> QModbusReply::intermediateErrors() const

Gibt die Liste der Zwischenfehler zurück, die während des Sende-Empfangs-Zyklus einer Modbus-Anfrage aufgetreten sein könnten, bis der „ QModbusReply “ meldet, dass der Vorgang abgeschlossen ist.

Diese Funktion wurde in Qt 6.0 eingeführt.

bool QModbusReply::isFinished() const

Gibt „ true “ zurück, wenn die Antwort abgeschlossen ist oder abgebrochen wurde.

Siehe auch „ finished()“ und „ error()“.

QModbusResponse QModbusReply::rawResult() const

Gibt die Rohantwort einer Modbus-Anfrage zurück.

Wenn die Anfrage noch nicht abgeschlossen ist, ist die zurückgegebene „ QModbusResponse “-Instanz ungültig.

Siehe auch „ type()“ und „ result()“.

QModbusDataUnit QModbusReply::result() const

Gibt das vorverarbeitete Ergebnis einer Modbus-Anfrage zurück.

Bei Leseanfragen sowie bei kombinierten Lese-/Schreibanfragen, die über ` QModbusClient::sendReadWriteRequest()` gesendet wurden, enthält es die von der Serverinstanz gelesenen Werte.

Wenn die Anfrage noch nicht abgeschlossen ist, mit einem Fehler fehlgeschlagen ist oder es sich um eine Schreibanfrage handelte, ist die zurückgegebene „ QModbusDataUnit “-Instanz ungültig.

Hinweis: Wenn der ` type()`-Wert der Antwort ` QModbusReply::Broadcast` lautet, ist der Rückgabewert immer ungültig. Wenn der ` type()`-Wert der Antwort ` QModbusReply::Raw` lautet, kann der Rückgabewert je nach Implementierung von ` QModbusClient::processPrivateResponse()` ungültig sein.

Siehe auch type(), rawResult() und QModbusClient::processPrivateResponse().

int QModbusReply::serverAddress() const

Gibt die Serveradresse zurück, an die dieses Antwortobjekt gerichtet ist.

QModbusReply::ReplyType QModbusReply::type() const

Gibt den Typ der Antwort zurück.

Hinweis: Wenn der Typ der Antwort „ QModbusReply::Raw “ ist, ist der Rückgabewert von „ result()“ immer ungültig.

Siehe auch ` result()` und ` 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.