The HistoryRead Service returns different types of data depending on whether the request asked for the value Attribute of a Node or the history Events of a Node. The historyData is an Extensible Parameter whose structure depends on the functions to perform for the HistoryReadDetails parameter. See OPC 10000-4 for details on Extensible Parameters.

Table 25 defines the structure of the HistoryData used for the data to return in a HistoryRead.

Table 25 – HistoryData Details

Name

Type

Description

HistoryData

Structure

dataValues[]

DataValue

An array of values of history data for the Node. The size of the array depends on the requested data parameters.

Table 26 defines the structure of the HistoryModifiedData used for the data to return in a HistoryRead when IsReadModified = True.

Table 26 – HistoryModifiedData Details

Name

Type

Description

HistoryModifiedData

Structure

dataValues[]

DataValue

An array of values of history data for the Node. The size of the array depends on the requested data parameters.

modificationInfos[]

ModificationInfo

modificationTime

UtcTime

The time the modification was made. Support for this field is optional. A null shall be returned if it is not defined.

updateType

HistoryUpdateType

The modification type for the item.

userName

String

The name of the user that made the modification. Support for this field is optional. A null shall be returned if it is not defined.

Table 27 defines the HistoryEvent parameter used for Historical Event reads.

The HistoryEvent defines a table structure that is used to return Event fields to a Historical Read. The structure is in the form of a table consisting of one or more Events, each containing an array of one or more fields. The selection and order of the fields returned for each Event are identical to the selected parameter of the EventFilter.

Table 27 – HistoryEvent Details

Name

Type

Description

Events []

HistoryEventFieldList

The list of Events being delivered.

eventFields []

BaseDataType

List of selected Event fields. This will be a one-to-one match with the fields selected in the EventFilter.

Table 25 defines the structure of the HistoryAnnotationData used for the data to return in a HistoryRead.

It is the same structure used for normal HistoryData.