QOpcUaBinaryDataEncoding Class
QOpcUaBinaryDataEncoding ist eine Teilimplementierung der OPC UA Binärdatenkodierung, die in OPC UA Teil 6 beschrieben ist. Mehr...
Kopfzeile: | #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() |
Detaillierte Beschreibung
Bietet Schablonenfunktionen zur Kodierung und Dekodierung 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 | Zeichenfolge |
QOpcUaQualifiedName | QualifizierterName |
QOpcUaLocalizedText | LocalizedText |
QOpcUaEUInformation | EU-Informationen |
QOpcUaRange | Bereich |
QOpcUaComplexNumber | KomplexeZahl |
QOpcUaDoubleComplexNumber | DoubleComplexNumber |
QOpcUaAxisInformation | Achsen-Information |
QOpcUaXValue | XV |
QUuid | GUID |
QString Knoten-ID | NodeId |
QByteArray | ByteString |
QDateTime | DatumZeit |
QOpcUa::UaStatusCode | StatusCode |
QOpcUaExpandedNodeId | ExpandedNodeId |
QOpcUaExtensionObject | ErweiterungsObjekt |
QOpcUaArgument | Argument |
QOpcUaDiagnosticInfo (seit Qt 6.7) | DiagnoseInfo |
QOpcUaApplicationRecordDataType | ApplicationRecordDataType |
QOpcUaStructureDefinition (seit Qt 6.7) | StructureDefintion |
QOpcUaStructureField (seit Qt 6.7) | StrukturFeld |
QOpcUaEnumDefinition (seit Qt 6.7) | EnumDefintion |
QOpcUaEnumField (seit Qt 6.7) | EnumField |
QOpcUaVariant (seit Qt 6.7) | Variante |
QOpcUaDataValue (seit Qt 6.7) | DataValue |
Dokumentation der Mitgliedsfunktionen
QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QByteArray *buffer)
Konstruiert ein Binärdaten-Kodierungsobjekt für den Datenpuffer buffer. buffer darf nicht gelöscht werden, solange dieses Binärdaten-Kodierungsobjekt verwendet wird.
QOpcUaBinaryDataEncoding::QOpcUaBinaryDataEncoding(QOpcUaExtensionObject &object)
Konstruiert ein Binärdaten-Kodierungsobjekt unter Verwendung des kodierten Körpers von object als Datenpuffer.
object darf nicht gelöscht werden, solange dieses Binärdaten-Kodierungsobjekt verwendet wird.
template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> T QOpcUaBinaryDataEncoding::decode(bool &success)
Dekodiert einen Einzelwert vom Typ T aus dem Datenpuffer. success wird auf true
gesetzt, wenn die Dekodierung erfolgreich war, andernfalls auf false
.
Der dekodierte Wert wird zurückgegeben. Wenn success falsch ist, ist der zurückgegebene Wert ungültig.
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. success wird auf true
gesetzt, wenn die Dekodierung erfolgreich war, andernfalls auf false
.
Der dekodierte Wert wird zurückgegeben. Wenn success falsch ist, ist der zurückgegebene Wert ungültig.
Siehe auch decode().
template <typename T, QOpcUa::Types OVERLAY = QOpcUa::Types::Undefined> bool QOpcUaBinaryDataEncoding::encode(const T &src)
Verschlüsselt src vom Typ T und hängt den verschlüsselten 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 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()
Schneidet den Datenpuffer auf den aktuellen offset() ab. Wenn der Offset hinter der aktuellen Puffergröße liegt, bewirkt diese Methode nichts.
Diese Methode kann verwendet werden, um nach einer fehlgeschlagenen Kodierung den alten Offset wiederherzustellen, indem der alte Offset gesetzt und truncateBufferToOffset() aufgerufen wird.
© 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.