端点发现 QML 类型

提供有关服务器上可用的端点的信息。 更多...

导入语句import QtOpcUa
QtOpcUa 5.13

属性

信号

方法

  • EndpointDescription at(index)

详细描述

允许获取和访问有关服务器上可用的端点的信息。

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);
        }
    }
}

属性文档

connection : Connection

用于请求信息的连接。

如果未设置此属性,将使用默认连接,如果有的话。

另请参阅ConnectionConnection::defaultConnection


count : int

元素中的端点当前数量。在使用任何端点发现的数据之前,您应检查status 是否成功检索到信息。

另请参阅statusStatus


serverUrl : string

从服务器获取端点的发现 URL。每次更改 URL 时,都会启动针对给定服务器的请求。

开始请求时,将清除可用的端点列表,并将状态设置为 Status.GoodCompletesAsynchronously。一旦请求完成后,status 会改变。

在访问端点列表之前,请确保已检查 status

另请参阅endpointsChanged


status : Status

该元素的当前状态。如果上次检索端点成功,则状态为 Status.Good

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

另请参阅Status


信号文档

endpointsChanged()

当检索请求开始、完成或失败时发出。在调用函数中,您应首先检查对象的状态状态。如果状态是状态.GoodCompletesAsynchronously,则请求仍在运行。如果状态是状态.Good,则请求已完成,可以读取端点描述。如果状态不好,则发生了错误,并且状态包含返回的错误代码。

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
        }
}

注意:相应的事件处理器是onEndpointsChanged

另请参阅:状态countat状态端点描述


方法说明

端点描述 at(index)

返回指定索引处的端点描述。如果没有可用端点或索引无效,则返回无效端点描述。在使用此信息之前,您应检查状态是否成功地检索了信息。

if (endpoints.status.isGood) {
    if (endpoints.count > 0)
        var endpointUrl = endpoints.at(0).endpointUrl();
        console.log(endpointUrl);
} else {
    // handle error
}

另请参阅:count状态端点描述


© 2024 Qt 公司有限公司。本文件中包含的文档贡献属于其各自所有者的版权。此处提供的文档根据GNU自由文档许可证版本1.3的条款进行许可,由自由软件基金会发布。Qt 及其相应的标志是芬兰的 Qt 公司及其在全球的子公司和分支机构拥有的商标。所有其他商标是其各自所有者的财产。