Table 165 defines the NotificationData parameter used for data change notifications. This structure contains the monitored data items that are to be reported. Monitored data items are reported under two conditions:

  1. if the MonitoringMode is set to REPORTING and a change in value or its status (represented by its StatusCode) is detected;
  2. if the MonitoringMode is set to SAMPLING, the MonitoredItem is linked to a triggering item and the triggering item triggers.

See 5.12 for a description of the MonitoredItem Service set, and in particular the MonitoredItem model and the Triggering model.

After creating a MonitoredItem, the current value or status of the monitored Attribute shall be queued without applying the filter. If the current value is not available after the first sampling interval the first Notification shall be queued after getting the initial value or status from the data source.

Table 165 – DataChangeNotification

Name

Type

Description

DataChangeNotification

structure

Data change Notification data.

monitoredItems []

MonitoredItem Notification

The list of MonitoredItems for which a change has been detected. This structure is defined in-line with the following indented items.

clientHandle

IntegerId

Client-supplied handle for the MonitoredItem. The IntegerId type is defined in 7.19

Value

DataValue

The StatusCode, value and timestamp(s) of the monitored Attribute depending on the sampling and queuing configuration.

If the StatusCode indicates an error then the value is to be ignored.

If not every detected change has been returned since the Server's queue buffer for the MonitoredItem reached its limit and had to purge out data and the size of the queue is larger than one, the Overflow bit in the DataValue InfoBits of the statusCode is set.

DataValue is a common type defined in 7.11.

diagnosticInfos []

DiagnosticInfo

List of diagnostic information. The size and order of this list matches the size and order of the monitoredItems parameter. There is one entry in this list for each Node contained in the monitoredItems parameter. This list is empty if diagnostics information was not requested or is not available for any of the MonitoredItems. DiagnosticInfo is a common type defined in 7.12.