EndpointDiscovery QML Type

Liefert Informationen über verfügbare Endpunkte auf einem Server. Mehr...

Import Statement: import QtOpcUa
Since: QtOpcUa 5.13

Eigenschaften

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

Aktuelle Anzahl der Endpunkte in diesem Element. Bevor Sie Daten aus einer Endpunktsuche verwenden, sollten Sie unter status prüfen, ob die Informationen erfolgreich abgerufen wurden.

Siehe auch status und Status.


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

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.