Qt OPC UA 概要
OPC UAは、産業用アプリケーションにおけるデータモデリングとデータ交換のためのプロトコルです。
OPC UAサーバーは、参照によって接続されたノードのメッシュで編成されたデータへのアクセスを提供します。さまざまな参照タイプとメタデータを含むノードを使用することで、クライアントは事前に構造を知らなくてもデータをナビゲートし、解釈することができます。
各ノードには、読み取りと書き込みが可能な一意の識別子と属性があります。特に、値を格納するVariableノードと、パラメータと戻り値を記述するノードを持つ呼び出し可能なMethodノードがあります。イベント発生時の通知や、Variableノードの値変化の監視も提供されます。
参照を使用してノードを組み合わせることで、複雑なオブジェクトを作成できます。継承も可能です。OPC UAは、特殊なニーズに合わせて拡張可能な既成モデルをサポートしています。
OPC UAは、プラットフォームに依存しないOPC Classicの後継で、組込みセンサーから製造実行や企業資源計画システムまで、あらゆるレベルでの使用を目的としています。OPC UAは、サービス要求と応答用の標準化されたメッセージに基づくサービス指向アーキテクチャを備えています。これらのメッセージがエンコードされ、ネットワーク上で転送されるには、さまざまな方法があります。最も一般的な方法は、TCPを介したバイナリーエンコーディングです。
OPC UAプロトコルで実装されている機能
次の表は、Qt OPC UA でサポートされている OPC UA の機能をまとめたものです。
機能 |
---|
読み取り |
バッチ読み取り |
履歴読み取り(Raw) |
書き込み |
一括書き込み |
多次元配列 |
ブラウズ |
データ変更サブスクリプション |
イベント・サブスクリプション |
サブスクリプションの変更 / 監視対象項目 |
メソッド呼び出し |
ブラウズ・パスの解決 |
エンドポイントの取得 |
サーバーの検索 |
ノード管理 |
ノードの登録 |
ノードの登録解除 |
データ型
現在、OPC UAデータタイプのサブセットは、Qt OPC UA でサポートされています。
データ型 | Qt OPC UA データ型 |
---|---|
Int16, Int32, Int64 | 直接使用 |
UInt16, UInt32, UInt64 | 直接使用 |
バイト | quint8 |
バイト | qint8 |
ブール | 直接使用 |
Double | 直接使用 |
Float | 直接使用 |
文字列 | QString |
LocalizedText | QOpcUaLocalizedText |
日付 | QDateTime |
バイト文字列 | QByteArray |
Xml要素 | QString |
NodeId | QString |
GUID | QUuid |
修飾名 | QOpcUaQualifiedName |
ステータスコード | QOpcUa::UaStatusCode |
範囲 | QOpcUaRange |
EU情報 | QOpcUaEUInformation |
複素数 | QOpcUaComplexNumber |
ダブル複素数 | QOpcUaDoubleComplexNumber |
軸情報 | QOpcUaAxisInformation |
XV | QOpcUaXValue |
引数 | QOpcUaArgument |
拡張ノードID | QOpcUaExpandedNodeId |
拡張オブジェクト | QOpcUaExtensionObject |
構造定義 | QOpcUaStructureDefinition |
構造体フィールド | QOpcUaStructureField |
列挙定義 | QOpcUaEnumDefinition |
EnumField | QOpcUaEnumField |
診断情報 | QOpcUaDiagnosticInfo |
SimpleAttributeOperand | QOpcUaSimpleAttributeOperand |
AttributeOperand | QOpcUaAttributeOperand |
LiteralOperand | QOpcUaLiteralOperand |
ElementOperand | QOpcUaElementOperand |
相対パス要素 | QOpcUaRelativePathElement |
ContentFilterElement | QOpcUaContentFilterElement |
EventFilter | QOpcUaMonitoringParameters::EventFilter |
クラスと所有権
QOpcUaClient とQOpcUaNode の2つの重要なクラスがユーザーに公開されています。
両クラスのオブジェクトはユーザーによって所有され、不要になったら削除しなければなりません。
ロギング・カテゴリー
次の表は、Qt OPC UA で使用されるロギング・カテゴリーをまとめたものです。
ロギング・カテゴリー | 説明 |
---|---|
qt.opcua | QOpcUaProvider とQOpcUaClient |
qt.opcua.plugins.open62541 | open62541プラグインによって生成されたメッセージ |
Open62541 固有のロギングカテゴリー
open62541 sdk のロギングカテゴリーは、コンパイル時に設定される open62541 のログレベルに依存します。デフォルトは 300 で、 info、warning、error および critical です。冗長な出力を減らすか増やすには、open62541 sdkを別の構成で再構築する必要があります。
以下の表に、open62541で使用されるロギング・カテゴリーを示します:
Open62541 ロギング・カテゴリー | 説明 |
---|---|
qt.opcua.plugins.open62541.sdk.network | open62541 ネットワークによって生成されたメッセージ |
qt.opcua.plugins.open62541.sdk.securechannel | open62541チャンネルが生成するメッセージ |
qt.opcua.plugins.open62541.sdk.session | open62541セッションが生成するメッセージ |
qt.opcua.plugins.open62541.sdk.server | open62541サーバーコンポーネントが生成するメッセージ |
qt.opcua.plugins.open62541.sdk.client | open62541クライアントが生成するメッセージ |
qt.opcua.plugins.open62541.sdk.userland | open62541ユーザーランドが生成するメッセージ |
qt.opcua.plugins.open62541.sdk.securitypolicy | open62541のセキュリティポリシーによって生成されたメッセージ |
ライセンス
Qt OPC UA モジュールは、The Qt Company から商用ライセンスで入手できます。さらに、フリーソフトウェアライセンスでも利用可能です。これらのフリー・ソフトウェア・ライセンスは、GNU Lesser General Public License, version 3 またはGNU General Public License, version 2 です。詳細はQt ライセンスを参照してください。
Qt OPC UA Qt 6.8.4では、以下の許諾ライセンスの下でサードパーティモジュールを含むことができます:
Mozilla Public License 2.0 and Creative Commons Zero v1.0 Universal and Creative Commons Attribution Share Alike 4.0 International and BSD 3-Clause "New" or "Revised" License and Apache License 2.0 and MIT License。 |
外部ライブラリへのリンクには、バックエンド・プロバイダーのライセンスが必要です。
Open62541
Open62541プラグインは、Qt OPC UA と同じライセンスで利用できます。Open62541ライブラリ自体のライセンスはMozilla Public License v2.0です。
セキュリティサポートは、open62541 ライブラリの OpenSSL プラグインによって提供されます。open62541 プラグインがセキュリティ・サポート付きでビルドされ、OpenSSL がターゲット・システムで利用できない場合、open62541 プラグインはロードに失敗します。
© 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.