今から学ぶOPC UA④ ―OPC UA用語の解説―
本コラムでは、OPC UAの概要から具体的な活用方法までを複数回にわたり解説していきます。
第4回目の今回は、「OPC UA用語の解説」です。
はじめに
OPC UAの概念を把握した後、実際に作業をはじめる際にぶつかるのが、そこで使われている用語ではないでしょうか。
OPC UAに限らず、用語を理解することは新たな仕様・規格を使いこなすための重要な一歩です。もちろんOPC UAの仕様書にも用語解説はありますが、ここではOPC UAを学びはじめた技術者が用語の意味をより具体的に想像できるように解説します。
今回はOPC UAで最も重要な4つの用語について解説します。
- 用語:情報モデル
- 用語:アドレススペース
- 用語:ネームスペース
- 用語:ノード
用語:情報モデル
OPC UAの情報モデル(Information Model)とは、ある「もの」を抽象化し、「もの(オブジェクト)」に必要な変数値(バリアブル)、機能(メソッド)、通知(イベント)を定義したものです。
例えば、業務用厨房機器のOPC UAコンパニオンスペックには、コーヒーマシーンの情報モデルがあます。その情報は次のように定義されています。
コーヒーマシーンにOPC UAサーバー機能を搭載する場合には、このモデルをそのまま使用することができますし、このモデルを使用して新たな情報モデルを定義することもできます。
OPC UAはさまざまな業界と連携し、コンパニオンスペックとして情報モデルを公開しています。
OPC UAサーバーを開発するに際して、コンパニオンスペックが存在する場合は、情報モデルを定義する時間を大幅に削減することができます。
用語:アドレススペース
アドレススペースは、OPC UAサーバーがOPC UAクライアントに公開する「情報(≒データ)」を配置する領域です。
OPC UAクライアントは、OPC UAサーバーのアドレススペースに設定されていないデータ、関数(メソッド)を使用できません。
用語:ノード
ノードは情報モデルを構成するデータの単位で、アドレススペースに展開されます。
OPC UAクライアントはノードを指定してOPC UAサーバーに操作を要求します。
ノードには以下の種類があります。
- オブジェクト
- バリアブル
- メソッド
- オブジェクトタイプ
- バリアブルタイプ
- レファレンスタイプ
- データタイプ
- ビュー
上述のノードはOPC UA仕様書にて構成データが定義されています。例えば、オブジェクトノードは以下のデータ(属性)を持ちます。
- NodeID
- NodeClass
- BrowseName
- DisplayName
- Description
- WriteMask
- UserWriteMask
- EventNotifier
同様に、バリアブルノードやレファレンスタイプノードなども構成データが定義されています(OPC UA仕様書 Part 3: Address Space Model 参照)。
また、タイプもノードとしてアドレススペースに存在するため、OPC UAサーバーが独自タイプを定義していても、OPC UAクライアントはその構成情報をOPC UAサーバーから読み出すことができます。
通常1つの情報モデルは複数のノードで構成されており、ノード間はレファレンスという参照関係で結び付けられます。
先に挙げたコーヒーマシーンも、複数のオブジェクトノード、バリアブルノードなどで構成されています。
用語:ネームスペース
ネームスペースは、アドレススペース内にある「小分けの領域」です。OPC UAクライアントはノードIDとネームスペースインデックス値を指定してOPC UAサーバーに操作を要求します。
情報ごとにネームスペースを割当てることでその情報を管理しやすくします。
もしコーヒーマシーンのOPC UAサーバーを構築した場合、各ノードは以下のように所属します。
まとめ
OPC UAは、IT/OT間でセキュアな接続を実現できる仕様としてさまざまな規格団体から注目されています。
ここでご紹介したものを含め、OPC UAの用語を知ることが、コンパニオンスペックの読み込みやOPC UAの構造を理解する一歩となります。
5回目となる次回は、「OPC UAの通信方式の解説」を予定しています。
この連載の記事一覧
Matrikon® FLEX™ OPC UA SDK
Matrikon社は、規格に準拠した高性能なOPC UAサーバーソフトウェア/クライアントソフトウェアを提供しています。
FLEX OPC UA SDKは、拡張性の高さを特長とするプラットフォーム非依存の組込み用OPC UAソリューションです。