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() |
Dokumentation zum Mitgliedstyp
enum QModbusReply::ReplyType
Diese Enumeration beschreibt die möglichen Antworttypen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QModbusReply::Raw | 0 | Die Antwort stammt von einer „Raw“-Modbus-Anfrage. Siehe QModbusClient::sendRawRequest |
QModbusReply::Common | 1 | Die Antwort stammt von einer gewöhnlichen Lese-, Schreib- oder Lese-/Schreibanfrage. Siehe QModbusClient::sendReadRequest, QModbusClient::sendWriteRequest und QModbusClient::sendReadWriteRequest |
QModbusReply::Broadcast | 2 | Die 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.
© 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.