QModbusReply Class

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

Kopfzeile: #include <QModbusReply>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus
Vererbt: 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()

Detaillierte Beschreibung

Dokumentation der Mitgliedstypen

enum QModbusReply::ReplyType

Diese Aufzählung beschreibt die möglichen Antworttypen.

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

Dokumentation der Mitgliedsfunktionen

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

Konstruiert ein QModbusReply-Objekt mit einem gegebenen type und dem angegebenen parent.

Die Antwort wird an den durch serverAddress dargestellten Modbus-Client gesendet.

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. Wahrscheinlich wird das Signal finished() folgen.

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

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 Fehlerstatus dieser Antwort zurück.

Wenn kein Fehler aufgetreten ist, wird ein leerer String zurückgegeben. Es ist möglich, dass ein Fehler aufgetreten ist, der keine zugehörige textuelle Darstellung hat; in diesem Fall wird ebenfalls eine leere Zeichenkette zurückgegeben.

Siehe auch error() und errorOccurred().

[signal] void QModbusReply::finished()

Dieses Signal wird ausgegeben, wenn die Bearbeitung der Antwort abgeschlossen ist. Die Antwort kann noch mit einem Fehler zurückgekommen sein.

Nachdem dieses Signal ausgegeben wurde, werden die Daten der Antwort nicht mehr aktualisiert.

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

Sie können auch isFinished() verwenden, um zu prüfen, ob ein QNetworkReply beendet ist, bevor Sie das Signal finished() erhalten.

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 QModbusReply meldet, dass sie beendet ist.

Diese Funktion wurde in Qt 6.0 eingeführt.

bool QModbusReply::isFinished() const

Gibt true zurück, wenn die Antwort beendet ist oder abgebrochen wurde.

Siehe auch finished() und error().

QModbusResponse QModbusReply::rawResult() const

Gibt die unbearbeitete Antwort auf eine Modbus-Anfrage zurück.

Wenn die Anfrage noch nicht beendet 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 kombinierten Lese-/Schreibanfragen, die über QModbusClient::sendReadWriteRequest() gesendet werden, enthält es die aus der Serverinstanz gelesenen Werte.

Wenn die Anfrage nicht beendet wurde, mit einem Fehler fehlgeschlagen ist oder eine Schreibanfrage war, ist die zurückgegebene QModbusDataUnit Instanz ungültig.

Hinweis: Wenn die type() der Antwort QModbusReply::Broadcast ist, ist der Rückgabewert immer ungültig. Wenn die type() der Antwort QModbusReply::Raw ist, kann der Rückgabewert ungültig sein, abhängig von der Implementierung von QModbusClient::processPrivateResponse().

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

int QModbusReply::serverAddress() const

Gibt die Serveradresse zurück, auf die dieses Antwortobjekt abzielt.

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

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