The Historical Event model defines additional Properties. These descriptions also include required use cases for HistoricalEventNodes.
Historical Access of Events uses an EventFilter. It is important to understand the differences between applying an EventFilter to current Event Notifications, and historical Event retrieval.
In real time monitoring Events are received via Notifications when subscribing to an EventNotifier. The EventFilter provides the filtering and content selection of Event Subscriptions. If an Event Notification conforms to the filter defined by the where parameter of the EventFilter, then the Notification is sent to the Client.
In historical Event retrieval the EventFilter represents the filtering and content selection used to describe what parameters of Events are available in history. These may or may not include all of the parameters of the real-time Event, i.e. not all fields available when the Event was generated may have been stored in history.
The HistoricalEventFilter may change over time so a Client may specify any field for any EventType in the EventFilter. If a field is not stored in the historical collection then the field is set to null when it is referenced in the selectClause or the whereClause.
A HistoricalEventNode that has Event history available shall provide the Property. This Property is formally defined in Table 10.
Table 10 – Standard Historical Events Properties
Name |
Use |
Data Type |
Description |
HistoricalEventFilter |
M |
EventFilter |
A filter used by the Server to determine which Event fields are available in history. It also includes a where clause that indicates the types of Events or restrictions on the Events that are available via the HistoricalEventNode. The HistoricalEventFilter Property can be used as a guideline for what Event fields the Historian is currently storing. But this field may have no bearing on what Event fields the Historian is capable of storing or what was stored in the past. |
ConformanceUnits |
|||
|
The Historical Access Event model extends the standard type model by defining the HistoricalEventConfigurationType. This Object defines the general characteristics of a Node that defines the historical configuration of any HistoricalEventNode that is defined to contain history. It is formally defined in Table 11.
Instances of this type shall be referenced by a HistoricalEventNode using the HasHistoricalConfiguration ReferenceType where the source node is the HistoricalEventNode and the destination node is the instance.
Table 11 – HistoricalEventConfigurationType definition
Attribute |
Value |
||||
BrowseName |
HistoricalEventConfigurationType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
HasComponent |
Object |
EventTypes |
-- |
FolderType |
Mandatory |
HasProperty |
Variable |
StartOfArchive |
UtcTime |
PropertyType |
Optional |
HasProperty |
Variable |
StartOfOnlineArchive |
UtcTime |
PropertyType |
Optional |
ConformanceUnits |
|||||
EventTypes is an entry point to browse to all EventTypes that can be stored by the Historian. For all EventTypes listed in this folder, all mandatory items in the listed type shall be capable of being stored as part of the Event history. It is recommended that all optional properties that are supported by the EventType can also be stored as part of the Event history.
The StartOfArchive Variable specifies the date before which there is no Event data in the archive either online or offline.
The StartOfOnlineArchive Variable specifies the date of the earliest Event data in the online archive.
The Attributes of Objects or Views that have importance for historical Events are specified in detail in OPC 10000-3. The following Attributes are particularly important for a HistoricalEventNode:
- EventNotifier OptionSet bits:
- HistoryRead 2 Indicates if the history of the Events is readable. (0 means not readable, 1 means readable).
- HistoryWrite 3 Indicates if the history of the Events is writable. (0 means not writable, 1 means writable).
The EventNotifier Attribute is used to indicate if the Node can be used to read and/or update historical Events.