QOpcUaProvider Class

QOpcUaProvider はQOpcUaClient のインスタンスを作成します

Header: #include <QOpcUaProvider>
CMake: find_package(Qt6 REQUIRED COMPONENTS OpcUa)
target_link_libraries(mytarget PRIVATE Qt6::OpcUa)
qmake: QT += opcua
Inherits: 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 を使用すると、バックエンド固有のカスタム設定をキーと値のペアとして渡すことができます。これらの設定は、インスタンス化されるバックエンドに固有のものです。

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

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

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

©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。