Auf dieser Seite

EndpointDiscovery QML Type

Liefert Informationen zu den auf einem Server verfügbaren Endpunkten. Mehr...

Import Statement: import QtOpcUa
Since: QtOpcUa 5.13
Status: Deprecated since 6.9

Dieser Typ ist seit QtOpcUa 6.9 veraltet. Wir raten dringend davon ab, ihn in neuem Code zu verwenden.

Eigenschaften

Signale

Methoden

  • EndpointDescription at(index)

Ausführliche Beschreibung

Ermöglicht das Abrufen und den Zugriff auf Informationen zu verfügbaren Endpunkten 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);
        }
    }
}

Dokumentation zu den Eigenschaften

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 Endpunktermittlung verwenden, sollten Sie unter status überprüfen, ob die Informationen erfolgreich abgerufen wurden.

Siehe auch status und Status.

serverUrl : string

Discovery-URL des Servers, von dem die Endpunkte abgerufen werden sollen. Bei jeder Änderung der URL wird eine Anfrage an den angegebenen Server gestartet.

Beim Starten der Anfrage wird die Liste der verfügbaren Endpunkte gelöscht und der Status auf „ Status.GoodCompletesAsynchronously “ gesetzt. Sobald die Anfrage abgeschlossen ist, ändert sich der Status zu „ status “.

Überprüfen Sie unbedingt status, bevor Sie auf die Liste der Endpunkte zugreifen.

Siehe auch endpointsChanged.

status : Status

Der aktuelle Status dieses Elements. War der letzte Abruf der Endpunkte erfolgreich, lautet der Status „ Status.Good “.

if (endpoints.status.isGood) {
    // do something
} else {
    // handle error
}

Siehe auch „ Status “.

Signal-Dokumentation

endpointsChanged()

Wird ausgelöst, wenn eine Abrufanfrage gestartet, abgeschlossen oder fehlgeschlagen ist. In einer aufgerufenen Funktion sollten Sie zunächst den Status status des Objekts überprüfen. Lautet der Status „ Status.GoodCompletesAsynchronously “, läuft die Anfrage noch. Lautet der Status „ Status.Good “, ist die Anfrage abgeschlossen und die Endpunktbeschreibungen können gelesen werden. Ist der Status nicht „good“, 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 lautet „ onEndpointsChanged “.

Siehe auch status, count, at, Status und EndpointDescription.

Methodendokumentation

EndpointDescription at(index)

Gibt die Endpunktbeschreibung unter der angegebenen Adresse 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 daraus verwenden, sollten Sie unter 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.

© 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.