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) |
書き込み |
一括書き込み |
多次元配列 |
ブラウズ |
データ変更サブスクリプション |
イベント・サブスクリプション |
サブスクリプションの変更 / 監視対象アイテム |
メソッド呼び出し |
ブラウズ・パスの解決 |
エンドポイントの取得 |
サーバーの検索 |
ノード管理 |
ノードの登録 |
ノードの登録解除 |
データ型
現在Qt OPC UAでは、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 6.8.0のQt OPC UAには、以下のライセンスでサードパーティモジュールが含まれています:
Mozilla Public License 2.0 と Creative Commons Zero v1.0 Universal と Creative Commons Attribution Share Alike 4.0 International と BSD 3-Clause "New" or "Revised" License と Apache License 2.0 と MIT License です。 |
外部ライブラリへのリンクには、バックエンド・プロバイダーのライセンスが必要です。
Open62541
Open62541 プラグインは Qt OPC UA と同じライセンスで利用できます。Open62541ライブラリ自体のライセンスはMozilla Public License v2.0です。
セキュリティサポートはopen62541ライブラリのOpenSSLプラグインによって提供されます。open62541プラグインがセキュリティサポート付きでビルドされ、OpenSSLがターゲットシステムで利用できない場合、open62541プラグインはロードに失敗します。
open62541プラグインがセキュリティサポート付きでビルドされ、OpenSSLがターゲットシステムで利用できない場合、open62541プラグインはロードに失敗します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。