QOpcUaProvider Class
QOpcUaProvider 创建QOpcUaClient 的实例 ... 更多...
头文件: | #include <QOpcUaProvider> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS OpcUa) target_link_libraries(mytarget PRIVATE Qt6::OpcUa) |
qmake: | QT += opcua |
继承: | QObject |
公共函数
QOpcUaProvider(QObject *parent = nullptr) | |
QOpcUaClient * | createClient(const QString &backend, const QVariantMap &backendProperties = QVariantMap()) |
静态公共成员
QStringList | availableBackends() |
详细说明
QOpcUaProvider 允许用户通过使用 Qt XML 插件系统加载 QOpcUaPlugin 来创建QOpcUaClient 的实例。
示例
这段代码使用第一个可用的后端创建了一个客户端:
QOpcUaProviderprovider.available = provider.availableBackends()QStringListavailable=provider.availableBackends();if(!available.isEmpty()) { QOpcUaClient*client =provider.createClient(available[0]);if(client) qDebug() << "Client successfully created"; }
成员函数文档
[explicit]
QOpcUaProvider::QOpcUaProvider(QObject *parent = nullptr)
使用给定的parent 创建新的 OPC UA 提供程序。
[static]
QStringList QOpcUaProvider::availableBackends()
返回QStringList 可用插件。
[invokable]
QOpcUaClient *QOpcUaProvider::createClient(const QString &backend, const QVariantMap &backendProperties = QVariantMap())
通过将选定的backend 作为插件加载并创建客户端对象,返回指向QOpcUaClient 对象的指针。如果插件加载失败,则返回nullptr
。
如果不再需要返回的QOpcUaClient 对象,则由用户负责删除。
可选参数backendProperties 可用于以键值对的形式传递自定义后端特定设置。这些设置针对正在实例化的后端。
可用设置包括
设置字符串 | 后端 | 描述 |
---|---|---|
minimumClientIterateIntervalMs | 打开62541 | 后台不再评估该参数,取而代之的是clientIterateIntervalMs 。 |
客户端迭代间隔时间 | 打开 62541 | 定义后端的客户端迭代间隔。如果客户端导致 CPU 负载过大,将该值设置得比默认值高,将减少 CPU 负载,但代价是增加对服务请求和订阅值更新的响应时间。默认值为 50ms。 |
asyncRequestTimeoutMs | 打开 62541 | 定义向 OPC UA 服务器发出异步请求的超时。如果服务器在超时前未回复服务请求,则服务调用失败,完成信号将包含bad 状态代码。默认值为 15000ms。 |
注: 可通过元对象系统和 QML 调用该函数。请参阅Q_INVOKABLE 。
© 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.