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.
Instances of the HistoricalDataConfigurationType use the standard BrowseName as defined in 5.2.4.
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 |
HasProperty |
Variable |
MaxTimeStoredValues |
Duration |
PropertyType |
Optional |
HasProperty |
Variable |
MaxCountStoredValues |
UInt32 |
PropertyType |
Optional |
ConformanceUnits |
|||||
Historical Access Exception Storage |
|||||
Historical Access Periodic Storage |
|||||
Historical Access Default HistoricalData Configuration |
|||||
Historical Access Archive Period |
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 in OPC 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 in OPC 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 RawData 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).
If MaxTimeInterval=MinTimeInterval and they do not equal 0 then data is collected based on a periodic sampling rate at the defined interval.
The ExceptionDeviation Variable specifies the minimum amount that the data for the HistoricalDataNodes 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 presence of the optional Variable ServerTimestampSupported indicates the Server supports the storage of ServerTimestamps. A value of True indicates the Server (and this configuration) stores ServerTimestamps in addition to SourceTimestamp. The default is False.
The MaxTimeStoredValues is the maximum time period that is available for historical data. This is set if the historian is a circular buffer based on time (e.g. it stores the last 6 hours of data).
The MaxCountStoredValues is the maximum number of values that can be stored for a single point assigned to this configuration.
Typically, either MaxTimeStoredValues or MaxCountStoredValues is provided, if both are provided the smaller of the two applies. E.g. if 3 hours are specified and 10,000 values, then for a slowly changing point the 3 hour would be the cut off, but for a point that change more than once a second the 10,000 values would be encountered first.
Table 4 – ExceptionDeviationFormat Items
Name |
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 (InstrumentRange is defined in OPC 10000-8). |
PERCENT_OF_EU_RANGE |
3 |
ExceptionDeviation is a percentage of EURange (EURange is defined in OPC 10000-8). |
UNKNOWN |
4 |
ExceptionDeviation type is Unknown or not specified. |
Its representation in the AddressSpace is defined in Table 58.
Table 5 – ExceptionDeviationFormat definition
Attribute |
Value |
|||||
BrowseName |
ExceptionDeviationFormat |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of the 0:Enumeration type defined in OPC 10000-5 |
||||||
0:HasProperty |
Variable |
0:EnumStrings |
0:LocalizedText [] |
0:PropertyType |
|
|
Conformance Units |
||||||
Historical Access Exception Storage |
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
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 can be defined with different BrowseNames. It is highly recommended that display names for historical configuration historical configuration are chosen that clearly describe the historical configuration e.g. “1 Second Collection”, “Long Term Configuration”, etc. All historical configuration Objects shall be referenced using the HasHistoricalConfiguration ReferenceType.
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 |
||
|