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() |
Dokumentation der Mitgliedstypen
enum QModbusReply::ReplyType
Diese Aufzählung beschreibt die möglichen Antworttypen.
Konstante | Wert | Beschreibung |
---|---|---|
QModbusReply::Raw | 0 | Die Antwort stammt von einer rohen Modbus-Anfrage. Siehe QModbusClient::sendRawRequest |
QModbusReply::Common | 1 | Die Antwort stammt von einer allgemeinen Lese-, Schreib- oder Lese-/Schreib-Anfrage. Siehe QModbusClient::sendReadRequest, QModbusClient::sendWriteRequest und QModbusClient::sendReadWriteRequest |
QModbusReply::Broadcast | 2 | Die 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.
© 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.