EndpointDiscovery QML Type
Liefert Informationen über verfügbare Endpunkte auf einem Server. Mehr...
Import Statement: | import QtOpcUa |
Since: | QtOpcUa 5.13 |
Eigenschaften
- connection : Connection
- count : int
- serverUrl : string
- status : Status
Signale
Methoden
- EndpointDescription at(index)
Ausführliche Beschreibung
Ermöglicht das Abrufen von und den Zugriff auf Informationen über verfügbare Endpunkte auf einem Server.
QtOpcUa.Connection { id: connection backend: availableBackends[0] defaultConnection: true } QtOpcUa.ServerDiscovery { discoveryUrl: "opc.tcp://127.0.0.1:43344" onServersChanged: { if (status.isGood) { if (status.status == QtOpcUa.Status.GoodCompletesAsynchronusly) return; // wait until finished if (count > 0) { // choose right server endpointDiscovery.serverUrl = at(0).discoveryUrls[0]; console.log("Using server URL:", endpointDiscovery.serverUrl); } else { // no servers retrieved } } else { // Fetching servers failed console.log("Error fetching server:", servers.status.status); } } } QtOpcUa.EndpointDiscovery { id: endpointDiscovery onEndpointsChanged: { if (status.isGood) { if (status.status == QtOpcUa.Status.GoodCompletesAsynchronusly) return; // wait until finished if (count > 0) { // choose right endpoint console.log("Using endpoint", at(0).endpointUrl, at(0).securityPolicy); connection.connectToEndpoint(at(0)); } else { // no endpoints retrieved } } else { // Fetching endpoints failed console.log("Error fetching endpoints:", status.status); } } }
Eigenschaft Dokumentation
connection : Connection |
Die Verbindung, die für die Abfrage von Informationen verwendet werden soll.
Wenn diese Eigenschaft nicht festgelegt ist, wird die Standardverbindung verwendet, sofern vorhanden.
Siehe auch Connection und Connection::defaultConnection.
count : int |
serverUrl : string |
Discovery URL des Servers, von dem die Endpunkte abgerufen werden. Jedes Mal, wenn die URL geändert wird, wird eine Anfrage an den angegebenen Server gestartet.
Beim Starten der Anfrage wird die Liste der verfügbaren Endpunkte geleert und der Status auf Status.GoodCompletesAsynchronously gesetzt. Sobald die Anfrage beendet ist, ändert sich status.
Stellen Sie sicher, dass Sie status überprüfen, bevor Sie auf die Liste der Endpunkte zugreifen.
Siehe auch endpointsChanged.
status : Status |
Der aktuelle Status dieses Elements. Falls der letzte Abruf von Endpunkten erfolgreich war, lautet der Status Status.Good.
if (endpoints.status.isGood) { // do something } else { // handle error }
Siehe auch Status.
Signal Dokumentation
endpointsChanged() |
Wird ausgegeben, wenn eine Abrufanfrage begonnen, beendet oder fehlgeschlagen ist. In einer aufgerufenen Funktion sollten Sie zunächst die status des Objekts überprüfen. Wenn der Status Status.GoodCompletesAsynchronously ist, läuft die Anfrage noch. Wenn der Status Status.Good lautet, ist die Anfrage beendet und die Endpunktbeschreibungen können gelesen werden. Wenn der Status nicht gut ist, ist ein Fehler aufgetreten und status enthält den zurückgegebenen Fehlercode.
onEndpointsChanged: { if (endpoints.status.isGood) { if (endpoints.status.status == QtOpcua.Status.GoodCompletesAsynchronusly) return; // wait until finished if (endpoints.count > 0) { var endpointUrl = endpoints.at(0).endpointUrl(); console.log(endpointUrl); } } else { // handle error } }
Hinweis: Der entsprechende Handler ist onEndpointsChanged
.
Siehe auch status, count, at, Status, und EndpointDescription.
Methode Dokumentation
EndpointDescription at(index) |
Gibt die Endpunktbeschreibung unter der angegebenen index zurück. Falls keine Endpunkte verfügbar sind oder der Index ungültig ist, wird eine ungültige Endpunktbeschreibung zurückgegeben. Bevor Sie Daten aus dieser Methode verwenden, sollten Sie status überprüfen, ob der Abruf der Informationen erfolgreich war.
if (endpoints.status.isGood) { if (endpoints.count > 0) var endpointUrl = endpoints.at(0).endpointUrl(); console.log(endpointUrl); } else { // handle error }
Siehe auch count, status, und EndpointDescription.
© 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.