The HistoryRead Servicereturns different types of data depending on whether the request asked for the value Attributeof a Node or the history Eventsof a Node. The historyData is an Extensible Parameterwhose structure depends on the functions to perform for the HistoryReadDetailsparameter. See OPC 10000-4for details on Extensible Parameters.

Table 25defines the structure of the HistoryDataused 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 26defines the structure of the HistoryModifiedDataused 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 27defines the HistoryEvent parameter used for Historical Eventreads.

The HistoryEvent defines a table structure that is used to return Eventfields 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 Eventare identical to the selected parameter of the EventFilter.

Table 27– HistoryEvent Details

Name

Type

Description

Events []

HistoryEventFieldList

The list of Eventsbeing delivered.

eventFields []

BaseDataType

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

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

It is the same structure used for normal HistoryData.