The Historical Data model defines additional ObjectTypes and Objects. These descriptions also include required use cases for HistoricalDataNodes.

The Historical Access Data model extends the standard type model by defining the HistoricalDataConfigurationType.This Objectdefines the general characteristics of a Node that defines the historical configuration of any HistoricalDataNodethat is defined to contain history. It is formally defined in Table 3.

All Instancesof the HistoricalDataConfigurationTypeuse the standard BrowseNameas defined in Table 6.

Table 3– HistoricalDataConfigurationType definition

Attribute

Value

BrowseName

HistoricalDataConfigurationType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasComponent

Object

AggregateConfiguration

--

AggregateConfigurationType

Mandatory

HasComponent

Object

AggregateFunctions

--

FolderType

Optional

HasProperty

Variable

Stepped

Boolean

PropertyType

Mandatory

HasProperty

Variable

Definition

String

PropertyType

Optional

HasProperty

Variable

MaxTimeInterval

Duration

PropertyType

Optional

HasProperty

Variable

MinTimeInterval

Duration

PropertyType

Optional

HasProperty

Variable

ExceptionDeviation

Double

PropertyType

Optional

HasProperty

Variable

ExceptionDeviationFormat

ExceptionDeviationFormat

PropertyType

Optional

HasProperty

Variable

StartOfArchive

UtcTime

PropertyType

Optional

HasProperty

Variable

StartOfOnlineArchive

UtcTime

PropertyType

Optional

HasProperty

Variable

ServerTimestampSupported

Boolean

PropertyType

Optional

AggregateConfiguration Objectrepresents the browse entry point for information on how the Servertreats Aggregatespecific functionality such as handling Uncertain data. This Objectis required to be present even if it contains no Aggregateconfiguration Objects. Aggregatesare defined inOPC 10000-13.

AggregateFunctions is an entry point to browse to all Aggregatecapabilities supported by the Serverfor Historical Access. All HistoryAggregates supported by the Servershould be able to be browsed starting from this Object. Aggregatesare defined inOPC 10000-13.

TheStepped Variablespecifies whether the historical data was collected in such a manner that it should be displayed as SlopedInterpolation(sloped line between points) or as SteppedInterpolation(vertically-connected horizontal lines between points) when raw datais examined. This Propertyalso effects how some Aggregatesare calculated. A value of True indicates the stepped interpolation mode. A value of False indicates SlopedInterpolationmode. The default value is False.

TheDefinition Variableis a vendor-specific, human readable string that specifies how the value of this HistoricalDataNodeis calculated. Definition is non-localized and will often contain an equation that can be parsed by certain Clients.

Example: Definition::= “(TempA – 25) + TempB”

The MaxTimeInterval Variablespecifies the maximum interval between data points in the history repository regardless of their value change (see OPC 10000-3for definition of Duration).

The MinTimeInterval Variablespecifies the minimum interval between data points in the history repository regardless of their value change (see OPC 10000-3for definition of Duration).

The ExceptionDeviation Variablespecifies the minimum amount that the data for the HistoricalDataNodeshall change in order for the change to be reported to the history database.

The ExceptionDeviationFormat Variablespecifies how the ExceptionDeviation is determined. Its values are defined in Table 4.

The StartOfArchive Variablespecifies the date before which there is no data in the archive either online or offline.

The StartOfOnlineArchive Variablespecifies the date of the earliest data in the online archive.

The ServerTimestampSupported Variableindicates support for the ServerTimestampcapability. A value of True indicates the Serversupports ServerTimestampsin addition to SourceTimestamp. The default is False.

Table 4– ExceptionDeviationFormat Values

Value

Description

ABSOLUTE_VALUE_0

ExceptionDeviation is an absolute Value.

PERCENT_OF_VALUE_1

ExceptionDeviation is a percentage of Value.

PERCENT_OF_RANGE_2

ExceptionDeviation is a percentage of InstrumentRange (see OPC 10000-8).

PERCENT_OF_EU_RANGE_3

ExceptionDeviation is a percentage of EURange (see OPC 10000-8).

UNKNOWN_4

ExceptionDeviation type is Unknown or not specified.

This ReferenceTypeis a concrete ReferenceTypethat can be used directly. It is a subtype of the Aggregates ReferenceTypeand will be used to refer from a Historical Node to one or more HistoricalDataConfigurationType Objects.

The semantic indicates that the target Node is “used” by the source Nodeof the Reference. Figure 2informally describes the location of this ReferenceTypein the OPC UA hierarchy. Its representation in the AddressSpaceis specified in Table 5.

image005.png

Figure 2– ReferenceType hierarchy

Table 5– HasHistoricalConfiguration ReferenceType

Attributes

Value

BrowseName

HasHistoricalConfiguration

InverseName

HistoricalConfigurationOf

Symmetric

False

IsAbstract

False

References

NodeClass

BrowseName

Comment

The subtype of Aggregates ReferenceTypeis defined in OPC 10000-5.

This Objectis used as the browse entry point for information about HistoricalDataNodeconfiguration. The content of this Objectis already defined by its type definition in Table 3. It is formally defined in Table 6. If a HistoricalDataNode has configuration defined then one instance shall have a BrowseNameof ‘HA Configuration’. Additional configurations may be defined with different BrowseNames. All Historical Configuration Objectsshall be referenced using the HasHistoricalConfiguration ReferenceType. It is also highly recommended that display names are chosen that clearly describe the historical configuration e.g. “1 Second Collection”, “Long Term Configuration” etc.

Table 6– Historical Access configuration definition

Attribute

Value

BrowseName

HA Configuration

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

HasTypeDefinition

Object

Type

HistoricalDataConfigurationType

Defined in Table 3

HistoricalDataNodesare always a part of other Nodes in the AddressSpace.They are never defined by themselves. A simple example of a container for HistoricalDataNodeswould be a “Folder Object”.

Figure 3illustrates the basic AddressSpaceModel of a DataVariablethat includes History.

image006.png

Figure 3– HistoricalVariablewith Historical Data Configuration and Annotations

Each HistoricalDataNodewith history shall have the Historizing Attribute(see OPC 10000-3)defined and may reference a HistoricalAccessConfiguration Object. In the case where the HistoricalDataNode is itself a Propertythen the HistoricalDataNodeinherits the values from the Parent of the Property.

Not every Variablein the AddressSpace might contain history data. To see if history data is available, a Clientwill look for the HistoryRead/Write states in the AccessLevel Attribute(see OPC 10000-3for details on use of this Attribute).

Figure 3only shows a subset of Attributesand Properties. Other Attributesthat are defined for Variablesin OPC 10000-3, may also be available.

Subclause 5.2.6 lists the Attributesof Variablesthat have particular importance for historical data. They are specified in detail in OPC 10000-3.

  • AccessLevel
  • Historizing