OPC UA ServerとClient

OPC UAではデータが蓄えられ、公開する側をServerといいます。Severは、ネットワーク上でIPアドレス、サーバ名で一意化され、Endpointと呼ばれます。ClientがServerにアクセスする場合は、"opc.tcp://192.168.0.1:4840"というような形式でEndpointUrlを指定します。OPC UAでポート番号は4840を使用します。

Serverは、カレントデータ(最新データ)だけを保存するメモリー上の大きな構造体を持ち、ServerがClientに提供するObjectと関連情報のセットをAddressSpaceといいます。ヒストリカルデータは、AddressSpaceではなく、Serverのコンフィグファイルで指定されたデータベース、ファイルシステム、他のメモリー領域に保存されます。1つのOPC UA Serverは、1つのAddressSpaceしか持てないため、AddressSpaceはNamespaceで区別されます。NamespaceはCompanion Information Modelの仕様書でNamespace UriとIndexが指定されます。

データを操作する側をClientといいます。ServerはAddressSpaceという実体がありますが、Clientは基本的にはライブラリィです。Clientアプリケーションを作成する部品として使用されます。GUIを搭載したClientもありますが、これらはあくまでも開発者用のデバックツールです。

OPC UA通信ではServerは値だけをClientに提供するのではなく、値と構造体情報を同時に提供します。Clientは、構造体情報をデコードし値を読み取ります。Clientを軽く考える傾向がありますが、ClientもServerと同様、もしくはそれ以上に複雑な機能を提供するため選定には十分配慮してください。

中継機は、ServerとClientを搭載しレイヤー間、例えばFA機器とMESの間のデータを連携する役割を担います。