Connection QML Type
Stellt eine Verbindung zu einem Server her. Mehr...
Import Statement: | import QtOpcUa |
Since: | QtOpcUa 5.12 |
Eigenschaften
- authenticationInformation : AuthenticationInformation
- availableBackends : stringlist
- backend : string
- connected : bool
- connection : QOpcUaClient
- currentEndpoint : QOpcUaEndpointDescription
- defaultConnection : bool
- namespaces : stringlist
- supportedSecurityPolicies : stringlist
- supportedUserTokenTypes : array[tokenTypes]
Signale
- nodeChanged()
- readNodeAttributesFinished(readResults)
- writeNodeAttributesFinished(writeResults)
Methoden
- connectToEndpoint(endpointDescription)
- disconnectFromEndpoint()
- readNodeAttributes(valuesToBeRead)
- writeNodeAttributes(valuesToBeWritten)
Ausführliche Beschreibung
Die Haupt-API verwendet Backends, um Verbindungen herzustellen. Sie müssen das Backend vor jedem Verbindungsversuch festlegen.
import QtOpcUa as QtOpcUa QtOpcUa.Connection { backend: "open62541" } Component.onCompleted: { connection.connectToEndpoint("opc.tcp://127.0.0.1:43344"); }
Eigenschaft Dokumentation
authenticationInformation : AuthenticationInformation |
Legt die Authentifizierungsinformationen für diese Verbindung fest. Die Authentifizierungsinformationen müssen vor dem Aufruf von connectToEndpoint festgelegt werden. Wenn keine Authentifizierungsinformationen gesetzt sind, wird der anonyme Modus verwendet. Er hat keine Auswirkung auf die aktuelle Verbindung. Wenn der Client getrennt und dann wieder verbunden wird, werden die neuen Anmeldeinformationen verwendet. Wird diese Eigenschaft gelesen und geschrieben, bevor eine backend gesetzt ist, werden Schreibvorgänge ignoriert und Lesevorgänge geben ungültige AuthenticationInformation zurück.
availableBackends : stringlist |
Gibt die Namen aller verfügbaren Backends als Liste zurück. Diese werden verwendet, um ein Backend beim Verbindungsaufbau auszuwählen.
Siehe auch Connection::backend.
backend : string |
Legt das Backend fest, das für eine Verbindung zum Server verwendet werden soll. Muss vor jedem Verbindungsversuch gesetzt werden.
Siehe auch Connection::availableBackends.
connected : bool |
Status der Verbindung. true
wenn eine Verbindung besteht, sonst false
.
connection : QOpcUaClient |
Diese Eigenschaft wird nur verwendet, um eine Verbindung von C++ aus zu injizieren. Im Falle eines komplexen Verbindungsaufbaus können Sie C++ verwenden, um alle Details zu regeln. Nachdem die Verbindung aufgebaut ist, kann sie mit dieser Eigenschaft an QML übergeben werden. Der Besitz des Clients wird an QML übertragen.
class MyClass : public QObject { Q_OBJECT Q_PROPERTY(QOpcUaClient* connection READ connection NOTIFY connectionChanged) public: MyClass (QObject* parent = nullptr); QOpcUaClient *connection() const; signals: void connectionChanged(QOpcUaClient *);
Durch die Ausgabe des Signals connectionChanged
, wenn der Client-Aufbau abgeschlossen ist, wird der unten stehende QML-Code die Verbindung nutzen.
import QtOpcUa as QtOpcUa MyClass { id: myclass } QtOpcUa.Connection { connection: myclass.connection }
currentEndpoint : QOpcUaEndpointDescription |
Eine Endpunktbeschreibung des Servers, mit dem die Verbindung aufgebaut wird. Wenn die Verbindung nicht hergestellt wird, wird eine leere Endpunktbeschreibung zurückgegeben.
defaultConnection : bool |
Macht dies zur Standardverbindung. Normalerweise muss jedem Knoten eine zu verwendende Verbindung zugewiesen werden. Wenn diese Eigenschaft auf true
gesetzt ist, wird diese Verbindung in allen Fällen verwendet, in denen für einen Knoten keine Verbindung festgelegt ist. Bereits bestehende Verbindungen sind davon nicht betroffen. Wenn defaultConnection
bei mehreren Verbindungen auf true
gesetzt ist, wird die letzte Verbindung verwendet.
QtOpcUa.Connection { ... defaultConnection: true ... }
Siehe auch Node.
namespaces : stringlist |
Liste der Zeichenketten aller auf dem verbundenen Server registrierten Namespace-URIs.
supportedSecurityPolicies : stringlist |
Eine Liste von Strings mit den unterstützten Sicherheitsrichtlinien
Diese Eigenschaft ist derzeit als Technologievorschau verfügbar. Daher können sich die bereitgestellte API und Funktionalität jederzeit ohne vorherige Ankündigung ändern.
supportedUserTokenTypes : array[tokenTypes] |
Ein Array von Benutzer-Token-Richtlinientypen aller unterstützten Benutzer-Token-Typen.
Diese Eigenschaft ist derzeit als Technologievorschau verfügbar. Daher können die bereitgestellte API und Funktionalität jederzeit ohne vorherige Ankündigung geändert werden.
Signal-Dokumentation
nodeChanged() |
Wird ausgegeben, wenn sich der zugrunde liegende Knoten geändert hat. Dies geschieht, wenn sich der Namespace oder der Bezeichner des NodeId geändert hat.
Hinweis: Der entsprechende Handler ist onNodeChanged
.
readNodeAttributesFinished(readResults) |
Wird ausgesendet, wenn die mit readNodeAttributes() gestartete Leseanforderung beendet ist. Der Parameter readResults ist ein Array von ReadResult Einträgen, die die vom Server angeforderten Werte enthalten.
connection.onReadNodeAttributesFinished(results) { for (var i = 0; results.length; i++) { if (results[i].status.isGood) { console.log(results[i].value); } else { // handle error } } }
Hinweis: Der entsprechende Handler ist onReadNodeAttributesFinished
.
Siehe auch readNodeAttributes() und ReadResult.
writeNodeAttributesFinished(writeResults) |
Wird gesendet, wenn die mit writeNodeAttributes() gestartete Schreibanforderung beendet ist. Der Parameter writeResults ist ein Array von WriteResult Einträgen, die die vom Server angeforderten Werte enthalten.
for (var i = 0; i < writeResults.length; i++) { console.log(writeResults[i].nodeId); console.log(writeResults[i].namespaceName); console.log(writeResults[i].attribute); if (writeResults[i].status.isBad) { // value was not written } }
Hinweis: Der entsprechende Handler ist onWriteNodeAttributesFinished
.
Siehe auch writeNodeAttributes() und WriteResult.
Dokumentation der Methode
connectToEndpoint(endpointDescription) |
Stellt eine Verbindung zu dem mit endpointDescription angegebenen Endpunkt her.
Siehe auch EndpointDescription.
disconnectFromEndpoint() |
Trennt eine bestehende Verbindung.
readNodeAttributes(valuesToBeRead) |
Diese Funktion wird verwendet, um mehrere Werte von einem Server in einem Durchgang zu lesen. Gibt true
zurück, wenn die Leseanforderung erfolgreich übermittelt wurde.
Der Parameter valuesToBeRead muss ein JavaScript-Array mit ReadItem Einträgen sein.
// List of items to read var readItemList = []; // Item to be added to the list of items to be read var readItem; // Prepare an item to be read // Create a new read item and fill properties readItem = QtOpcUa.ReadItem.create(); readItem.ns = "http://qt-project.org"; readItem.nodeId = "s=Demo.Static.Scalar.Double"; readItem.attribute = QtOpcUa.Constants.NodeAttribute.DisplayName; // Add the prepared item to the list of items to be read readItemList.push(readItem); // Add further items [...] if (!connection.readNodeAttributes(readItemList)) { // handle error }
Das Ergebnis der Leseanforderung wird durch das Signal readNodeAttributesFinished() bereitgestellt.
Siehe auch readNodeAttributesFinished() und ReadItem.
writeNodeAttributes(valuesToBeWritten) |
Diese Funktion wird verwendet, um mehrere Werte in einem Durchgang auf einen Server zu schreiben. Gibt true
zurück, wenn die Schreibanforderung erfolgreich abgeschickt wurde.
Der Parameter valuesToBeWritten muss ein JavaScript-Array mit WriteItem Einträgen sein.
// List of items to write var writeItemList = []; // Item to be added to the list of items to be written var writeItem; // Prepare an item to be written // Create a new write item and fill properties writeItem = QtOpcUa.WriteItem.create(); writeItem.ns = "http://qt-project.org"; writeItem.nodeId = "s=Demo.Static.Scalar.Double"; writeItem.attribute = QtOpcUa.Constants.NodeAttribute.Value; writeItem.value = 32.1; writeItem.valueType = QtOpcUa.Constants.Double; // Add the prepared item to the list of items to be written writeItemList.push(writeItem); // Add further items [...] if (!connection.writeNodeAttributes(writeItemList)) { // handle error }
Das Ergebnis der Schreibanforderung wird durch das Signal Connection::writeNodeAttributesFinished() bereitgestellt.
Siehe auch Connection::writeNodeAttributesFinished() und WriteItem.
© 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.