Client SDKの機能

Empress iData OPC UA ClientはOPC UA 1.04で定義されているDiscovery、Secure Channel、Session、Node Management、Attribute、View、Browse、Query、Call、Monitored Item、Subscription用APIを実装しています。Service主な機能は下記の通りです。

1.基本APIについて

1 1つのNodeの値を読み取り(ID_UaClient_ReadNodeValue)機能を提供します。
2 複数のNode/Attributeのバッチ読み取り(ID_UaClient_Read)機能を提供します。
3 1つのNodeの値を書き込み(ID_UaClient_WriteNodeValue)機能を提供します。
4 複数のNode/Attributeのバッチ書き込み (ID_UaClient_Write)機能を提供します。
5 さまざまなInput、Output Argumentsを使用してサーバーメソッドをCallする (ID_UaClient_Call)機能を提供します。
6 AddressSpaceをブラウズする (ID_UaClient_Browse/ID_UaClient_BrowseNext)機能を提供します。
7 Translate BrowsePath to NodeId Serviceを使用する(ID_UaClient_TranslateBrowsePaths)機能を提供します。
8 Subscriptionの作成/変更/削除とSetPublishingModeの作成機能を提供します。
9 MonitoredItemsの作成/変更/削除とSetMonitoringModeの作成機能を提供します。
9 ID_UaClient_PublishもしくはRepublishから通知の取得機能を提供します

2.Subscriptionについて

Subscription機能を実装するためにイベントを設定します。イベントはServerからClientへ送信される通知です。Subscriptionによるデータ登録及び更新はメールの通知などでトリガーを起動しデータ更新する手法を意味します。

イベントの作成手順は以下の通りです


1 ClientがServerのどのNodeを監視するかを伝えます。
2 ServerはClientから通知されたNodeを監視します。
3 ServerはNodeのデータに更新が発生したら通知を作成します。
4 ClientはServerからの通知とNodeの更新したデータ情報を取得します。

2と3はServerが管理しClientに対して以下の機能を提供します。

   Nodeの監視機能
   データの更新があったかどうかを判断する機能
  Serverがイベント通知を作成する機能
  ServerがClientへイベントを送信する機能

イベントによる通知データ更新機能は以下のAPIの組み合わせで対応します。

  CreateSubscription、ModifySubscription、DeleteSubscriptions、CreateMonitoredItems
  ModifyMonitoredItem、DeleteMonitoredItems、SetMonitoringMode、SetTriggering

ServerはClientがどのNodeを監視するか記憶し、そのNodeの情報が更新されたかの監視(名前の変更、データの更新など)及び数字データが制限値を超えた場合などをClientに通知します。Nodeのイベント通知を受信しServerに通知する(データの更新など)か否かはClientが判断しServerに情報を通知する準備をします。

上記でNodeの情報通知をServerにするか否かの準備は完了しました。Clientがデータを更新するには以下のAPIを使用してください。
   Publish
   Republish

Clientはこの2つのAPIを使用しイベントによりデータ更新されることが可能になります。

通知機能に対しClient側に制限がある場合、Serverは自動的にClientの要求に従って通知を調整することが可能です。ただし、調整とは関係なくServerは必ず要求された間隔でNodeを監視します。ServerはPublish間隔(Serverのコンフィグファイルにて調整可能)以外、例えば一時的通知の保存量などの制限がありません。

3.AddressSpaceの検索機能

Empress iData OPC UA ClientはAddressSpaceの検索機能として下記のAPIを提供します。

Browse
(1)AddressSpaceにあるNodeを検索機能を提供します。
(2)検索結果が多すぎる場合は複数に分けて検索を実行する機能を提供します。
BrowseNext
Browseが複数に分けた検索の次を取得します。
TranslateBrowsePathsToNodeIds
Path(道)は複数のBrowseName(Nodeのアトリビュート)を作成します。
スタートNodeからPathを使用し終点のNodeを検索します。
動作数制限はありませんがPathの長さはデバイスによって異なります。

4.AddressSpaceにNodeを追加しNodeIDを設定する機能

RegisterNodes
Nodeのエイリアスを作成します。
UnregisterNodes
Nodeのエイリアスを削除します。
AddNodes
AddressSpaceにNodeを追加します。
各NodeにNodeIdを含めNodeに関する情報を設定できます。
追加したNodeはServerの再起動後も保存可能です。

5.ヒストリカルデータのReadとWrite機能

EmpressのOPC UA ClinetはOPC UAのHistoryReadとHistoryWriteに対応しています。HistoryReadはヒストリカルデータを読み取る時に使用し、HistoryWriteを書き込む時に使用します。2つのAPIの要求はVariableNodeに対してのみ実行されます。

HistoryRead
1つ要求の動作数は制限が特に請願はありません。 要求動作の種類は以下だけになります。
  • ReadRawModifiedDetailsの詳しい情報はOPC UA Part 11仕様を参照して下さい。
  • ReadAtTimeDetailsの詳しい情報はOPC UA Part 11仕様を参照して下さい。
  • HistoryWrite
    1つ要求の動作数は制限が特に請願はありません。 要求動作の種類は以下だけになります(詳しい情報はOPC UA Part 11仕様を参照して下さい)。
  • UpdateStructureDataDetails
  • DeleteRawModifiedDetails
  • DeleteAtTimeDetails
  •