このページでは

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 プラグインシステムを利用して QOpcUaPlugin を読み込むことで、QOpcUaClient のインスタンスを作成することができます。

例

このコードは、利用可能な最初のバックエンドを使用してクライアントを作成します:

QOpcUaProvider provider;
QStringList available=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 を使用すると、バックエンド固有のカスタム設定をキーと値のペアとして渡すことができます。これらの設定は、インスタンス化されるバックエンドに固有のものです。

使用可能な設定は次のとおりです。

設定文字列バックエンド説明
minimumClientIterateIntervalMsopen62541このパラメータは、バックエンドではもはや評価されず、clientIterateIntervalMs に置き換えられました。
clientIterateIntervalMsopen62541バックエンドのクライアント反復間隔を定義します。クライアントによる CPU 負荷が高すぎる場合、この値をデフォルトより大きく設定すると、サブスクリプションからのリクエストや値の更新に対するバックエンドのクライアント反復間隔を定義します。クライアントによる CPU 負荷が高すぎる場合、この値をデフォルトより大きく設定すると、サブスクリプションからのサービスリクエストや値の更新に対する応答時間は長くなりますが、CPU 負荷は軽減されます。デフォルト値は 50ms です。
asyncRequestTimeoutMsopen62541OPC UA サーバーへの非同期リクエストのタイムアウトを定義します。タイムアウトが発生する前にサーバーがサービスリクエストに応答しない場合、サービス呼び出しは失敗し、finished シグナルにはbad ステータスコードが含まれます。デフォルト値は 15000ms です。

注:この関数は 、メタオブジェクトシステムおよびQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

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