The DataChangeFilterdefines the conditions under which a DataChange Notificationshould be reported and, optionally, a range or band for value changes where no DataChange Notificationis generated. This range is called Deadband. The DataChangeFilteris 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 DataChangeTriggerenumeration is defined in 7.10.

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

deadbandType

UInt32

A value that defines the Deadbandtype and behaviour.

ValueNameDescription

0 NoneNo Deadbandcalculation should be applied.

1 AbsoluteAbsoluteDeadband (see below)

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

deadbandValue

Double

The Deadbandis applied only if* the triggerincludes value changes and* the deadbandTypeis set appropriately.

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

DeadbandType = AbsoluteDeadband:

For this type the deadbandValuecontains the absolute change in a data value that shall cause a Notificationto be generated. This parameter applies only to Variables with any Numberdata type.

An exception that causes a DataChange Notificationbased on an AbsoluteDeadbandis 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.