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 Object defines the general characteristics of a Node that defines the historical configuration of any HistoricalDataNode that is defined to contain history. It is formally defined in Table 3.

All Instances of the HistoricalDataConfigurationType use the standard BrowseName as 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 Object represents the browse entry point for information on how the Server treats Aggregate specific functionality such as handling Uncertain data. This Object is required to be present even if it contains no Aggregate configuration Objects. Aggregates are defined inOPC 10000-13.

AggregateFunctions is an entry point to browse to all Aggregate capabilities supported by the Server for Historical Access. All HistoryAggregates supported by the Server should be able to be browsed starting from this Object. Aggregates are defined inOPC 10000-13.

The Stepped Variable specifies 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 data is examined. This Property also effects how some Aggregates are calculated. A value of True indicates the stepped interpolation mode. A value of False indicates SlopedInterpolation mode. The default value is False.

The Definition Variable is a vendor-specific, human readable string that specifies how the value of this HistoricalDataNode is 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 Variable specifies the maximum interval between data points in the history repository regardless of their value change (see OPC 10000-3 for definition of Duration).

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

The ExceptionDeviation Variable specifies the minimum amount that the data for the HistoricalDataNode shall change in order for the change to be reported to the history database.

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

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

The StartOfOnlineArchive Variable specifies the date of the earliest data in the online archive.

The ServerTimestampSupported Variable indicates support for the ServerTimestamp capability. A value of True indicates the Server supports ServerTimestamps in 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 ReferenceType is a concrete ReferenceType that can be used directly. It is a subtype of the Aggregates ReferenceType and 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 Node of the Reference. Figure 2 informally describes the location of this ReferenceType in the OPC UA hierarchy. Its representation in the AddressSpace is 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 ReferenceType is defined in OPC 10000-5.

This Object is used as the browse entry point for information about HistoricalDataNode configuration. The content of this Object is 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 BrowseName of ‘HA Configuration’. Additional configurations may be defined with different BrowseNames. All Historical Configuration Objects shall 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

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

Figure 3 illustrates the basic AddressSpace Model of a DataVariable that includes History.

image006.png

Figure 3 – Historical Variable with Historical Data Configuration and Annotations

Each HistoricalDataNode with 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 Property then the HistoricalDataNode inherits the values from the Parent of the Property.

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

Figure 3 only shows a subset of Attributes and Properties. Other Attributes that are defined for Variables in OPC 10000-3, may also be available.

Subclause 5.2.6 lists the Attributes of Variables that have particular importance for historical data. They are specified in detail in OPC 10000-3.

  • AccessLevel
  • Historizing