Errata exists for this version of the document.
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.
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.
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