サブスクリプション

OPC UAはポーリングではなくより洗練されたサブスクリプションを提供します。Clientは選択したNodeをサブスクライブするためにMonitoredItemsに指定します。MonitoredItemsに指定されたNodeはServerにより監視され、値や状態データなどに変更があった場合、ClientにData Change Notification(データ変更の通知)をPublishします。変更の通知を受けたClientは変更されたデータをServerから取得します。このメカニズムにより転送されるデータの量が大幅に削減されます。Subscriptionの目的はNodeをMonitoredItemsにグループ化しEvent情報を形成することです。

Server側の設定

MonitoredItemsの対象となるNodeはObjectまたはViewで、EventNotifier Attributeを使用しMonitoredItemsに指定することが可能です。EventNotifier Attributeの「SubscribeToEvents」を0から1に変更するのはClientからServerのObjectまたはViewに設定する必要があります。

Data Change Notification

AddressSpaceでMonitoredItemsにグループ化されたVariable Nodeの値(Value)や作成者など(State)に変更があった場合にServerからClientに発行されるEventをData Change Notificationと言います。ClientはData Change Notificationを受けて次の動作、例えばには変更された値を取得しそれをデータベースに保存するなどの判断します。

Event Notification

ClientがMethodがCallした場合、SeverからClientに発行される通知をEvent Notificationと言います。