QOpcUaBinaryDataEncoding Class
QOpcUaBinaryDataEncoding ist eine teilweise Implementierung der in OPC UA Teil 6 beschriebenen binären Datenkodierung für OPC UA. Mehr...
| Header: | #include <QOpcUaBinaryDataEncoding> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS OpcUa) target_link_libraries(mytarget PRIVATE Qt6::OpcUa) |
| qmake: | QT += opcua |
Öffentliche Funktionen
| QOpcUaBinaryDataEncoding(QByteArray *buffer) | |
| QOpcUaBinaryDataEncoding(QOpcUaExtensionObject &object) | |
| T | decode(bool &success) |
| QList<T> | decodeArray(bool &success) |
| bool | encode(const T &src) |
| bool | encodeArray(const QList<T> &src) |
| int | offset() const |
| void | setOffset(int offset) |
| void | truncateBufferToOffset() |
Ausführliche Beschreibung
Es bietet Vorlagenfunktionen zum Kodieren und Dekodieren von Daten zum Lesen und Schreiben von Erweiterungsobjekten.
Die folgenden Typen werden unterstützt:
| Qt-Typ | OPC-UA-Typ |
|---|---|
| quint8 | uint8 |
| qint8 | int8 |
| quint16 | uint16 |
| qint16 | int16 |
| quint32 | uint32 |
| qint32 | int32 |
| quint64 | uint64 |
| qint64 | int64 |
| float | float |
| double | double |
| QString | Zeichenkette |
| QOpcUaQualifiedName | QualifizierterName |
| QOpcUaLocalizedText | LokalisierterText |
| QOpcUaEUInformation | EU-Informationen |
| QOpcUaRange | Bereich |
| QOpcUaComplexNumber | KomplexeZahl |
| QOpcUaDoubleComplexNumber | Doppelte komplexe Zahl |
| QOpcUaAxisInformation | Achseninformationen |
| QOpcUaXValue | XV |
| QUuid | GUID |
| QString Knoten-ID | Knoten-ID |
| QByteArray | ByteString |
| QDateTime | DateTime |
| QOpcUa::UaStatusCode | StatusCode |
| QOpcUaExpandedNodeId | ErweiterteKnoten-ID |
| QOpcUaExtensionObject | Erweiterungsobjekt |
| QOpcUaArgument | Argument |
| QOpcUaDiagnosticInfo (seit Qt 6.7) | Diagnoseinfo |
| QOpcUaApplicationRecordDataType | Anwendungsdatensatz-Datentyp |
| QOpcUaStructureDefinition (seit Qt 6.7) | Strukturdefinition |
| QOpcUaStructureField (seit Qt 6.7) | Strukturfeld |
| QOpcUaEnumDefinition (seit Qt 6.7) | EnumDefinition |
| QOpcUaEnumField (seit Qt 6.7) | EnumField |
| QOpcUaVariant (seit Qt 6.7) | Variant |
| QOpcUaDataValue (seit Qt 6.7) | DataValue |
Dokumentation zu den Member-Funktionen
QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QByteArray *buffer)
Erstellt ein Objekt zur Kodierung binärer Daten für den Datenpuffer „ buffer “. „ buffer “ darf nicht gelöscht werden, solange dieses Objekt zur Kodierung binärer Daten verwendet wird.
QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QOpcUaExtensionObject &object)
Erstellt ein Objekt zur Kodierung binärer Daten, wobei der kodierte Hauptteil von object als Datenpuffer verwendet wird.
object Darf nicht gelöscht werden, solange dieses Objekt zur Kodierung binärer Daten verwendet wird.
template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> T QOpcUaBinaryDataEncoding::decode(bool &success)
Dekodiert einen Skalarwert vom Typ T aus dem Datenpuffer unter Verwendung des durch „ OVERLAY “ angegebenen integrierten OPC-UA-Typs. „ success “ wird auf „ true “ gesetzt, wenn die Dekodierung erfolgreich war, andernfalls auf „ false “.
Der decodierte Wert wird zurückgegeben. Ist success falsch, ist der zurückgegebene Wert ungültig.
Die maximale Rekursionstiefe für die Dekodierung ist auf ` 500` begrenzt. Wird diese Grenze erreicht, wird ` success ` auf `false` gesetzt und ein ungültiger Wert zurückgegeben.
Siehe auch ` decodeArray()`.
template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> QList<T> QOpcUaBinaryDataEncoding::decodeArray(bool &success)
Dekodiert ein Array vom Typ T aus dem Datenpuffer unter Verwendung des durch „ OVERLAY “ angegebenen integrierten OPC-UA-Typs. „ success “ wird auf „ true “ gesetzt, wenn die Dekodierung erfolgreich war, andernfalls auf „ false “.
Der dekodierte Wert wird zurückgegeben. Ist success falsch, ist der zurückgegebene Wert ungültig.
Die maximale Rekursionstiefe für die Dekodierung ist auf 500 begrenzt. Wird das Limit erreicht, wird success auf false gesetzt und ein ungültiger Wert zurückgegeben.
Siehe auch ` decode()`.
template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> bool QOpcUaBinaryDataEncoding::encode(const T &src)
Kodiert „ src “ vom Typ T unter Verwendung des in „ OVERLAY “ spezifizierten integrierten OPC-UA-Typs und hängt den kodierten Wert an den Datenpuffer an. Gibt „ true “ zurück, wenn der Wert erfolgreich kodiert wurde.
Siehe auch encodeArray().
template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> bool QOpcUaBinaryDataEncoding::encodeArray(const QList<T> &src)
Kodiert alle Elemente vom Typ T in „ src “ unter Verwendung des in OVERLAY spezifizierten integrierten OPC-UA-Typs und hängt die kodierten Werte an den Datenpuffer an.
Gibt „ true “ zurück, wenn der Wert erfolgreich kodiert wurde.
Siehe auch ` encode()`.
int QOpcUaBinaryDataEncoding::offset() const
Gibt den aktuellen Offset im Datenpuffer zurück.
Siehe auch ` setOffset()`.
void QOpcUaBinaryDataEncoding::setOffset(int offset)
Setzt den aktuellen Offset im Datenpuffer auf offset. Das erste Byte im Puffer hat den Offset 0.
Siehe auch ` offset()`.
void QOpcUaBinaryDataEncoding::truncateBufferToOffset()
Kürzt den Datenpuffer auf den aktuellen Offset ( offset()). Liegt der Offset hinter der aktuellen Puffergröße, führt diese Methode keine Aktion aus.
Diese Methode kann verwendet werden, um nach einer fehlgeschlagenen Kodierung einen Rollback durchzuführen, indem der alte Offset gesetzt und `truncateBufferToOffset()` aufgerufen wird.
© 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.