The DataChangeFilter defines the conditions under which a DataChange Notification should be reported and, optionally, a range or band for value changes where no DataChange Notification is generated. This range is called Deadband. The DataChangeFilter is defined in Table 146.

Table 146 – DataChangeFilter

Name

Type

Description

DataChangeFilter

structure

trigger

Enum

DataChangeTrigger

Specifies the conditions under which a data change notification should be reported. The DataChangeTrigger enumeration is defined in 7.10.

If the DataChangeFilter is not applied to the monitored item, STATUS_VALUE is the default reporting behaviour.

deadbandType

UInt32

A value that defines the Deadband type and behaviour.

ValueNameDescription

0 NoneNo Deadband calculation should be applied.

1 AbsoluteAbsoluteDeadband (see below)

2 PercentPercentDeadband (This type is specified in OPC 10000-8).

deadbandValue

Double

The Deadband is applied only if* the trigger includes value changes and* the deadbandType is set appropriately.

Deadband is ignored if the status of the data item changes.

DeadbandType = AbsoluteDeadband:

For this type the deadbandValue contains the absolute change in a data value that shall cause a Notification to be generated. This parameter applies only to Variables with any Number data type.

An exception that causes a DataChange Notification based on an AbsoluteDeadband is determined as follows:

Generate a Notification if (absolute value of (last cached value - current value) > AbsoluteDeadband)

The last cached value is defined as the last value pushed to the queue.

If the item is an array of values, the entire array is returned if any array element exceeds the AbsoluteDeadband, or the size or dimension of the array changes.

DeadbandType = PercentDeadband:

This type is specified in OPC 10000-8

The DataChangeFilter does not have an associated result structure.