The Historical Access model defines additional Properties that are applicable for both HistoricalDataNodes and HistoricalEventNodes.

The DataVariable or Object that has Annotation data will add the Annotations Property as shown in Table 2.

Table 2 – Annotations Property

Name

Use

Data Type

Description

Standard Properties

Annotations

O

Annotation

The Annotations Property is used to indicate that the history collection exposed by a HistoricalDataNode supports Annotation data. Annotation DataType is defined in Subclause 5.5.

Since it is not allowed for Properties to have Properties, the Annotations Property is only available for DataVariables or Objects.

The Annotations Property shall be present on every HistoricalDataNode that supports modifications, deletions, or additions of Annotations weather or not Annotations currently exist. Annotation data is accessed using the standard HistoryRead functions. Annotations are modified, inserted or deleted using the standard HistoryUpdate functions and the UpdateStructuredDataDetails structure. The presence of the Annotations Property does not indicate the presence of Annotations on the HistoricalDataNode.

A Server shall add the Annotations Property to a HistoricalDataNode only if it will also support Annotations on that HistoricalDataNode. See OPC 10000-4 for adding Properties to Nodes. A Server shall remove all Annotation data if it removes the Annotations Property from an existing HistoricalDataNode.

As with all HistoricalNodes, modifications, deletions or additions of Annotations will raise the appropriate Historical Audit Event with the corresponding NodeId.

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

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 will provide the Property. This Property is formally defined in Table 7.

Table 7 – Historical Events Properties

Name

Use

Data Type

Description

Standard Properties

HistoricalEventFilter

M

EventFilter

A filter used by the Server to determine which HistoricalEventNode fields are available in history. It may also include 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.

HistoricalEventNodes are Objects or Views in the AddressSpace that expose historical Events. These Nodes are identified via the EventNotifier Attribute, and provide some historical subset of the Events generated by the Server.

Each HistoricalEventNode is represented by an Object or View with a specific set of Attributes. The HistoricalEventFilter Property specifies the fields available in the history.

Not every Object or View in the AddressSpace may be a HistoricalEventNode. To qualify as HistoricalEventNodes , a Node has to contain historical Events. To see if historical Events are available, a Client will look for the HistoryRead/Write states in the EventNotifier Attribute. See OPC 10000-3 for details on the use of this Attribute.

Figure 4 illustrates the basic AddressSpace Model of an Event that includes History.

image007.png

Figure 4 – Representation of an Event with History in the AddressSpace

Subclause 5.3.4 lists the Attributes of Objects or Views that have particular importance for historical Events. They are specified in detail in OPC 10000-3. The following Attributes are particularly important for HistoricalEventNodes .

  • EventNotifier

The EventNotifier Attribute is used to indicate if the Node can be used to read and/or update historical Events.

OPC UA Servers can support several different functionalities and capabilities. The following standard Objects are used to expose these capabilities in a common fashion, and there are several standard defined concepts that can be extended by vendors. The Objects are outlined in OPC 10000-1.

image008.png

Figure 5 – Server and HistoryServer Capabilities

The ServerCapabilitiesType Objects for any OPC UA Server supporting Historical Access shall contain a Reference to a HistoryServerCapabilitiesType Object.

The content of this BaseObjectType is already defined by its type definition in OPC 10000-5. The Object extensions are formally defined in Table 8.

These properties are intended to inform a Client of the general capabilities of the Server. They do not guarantee that all capabilities will be available for all Nodes. For example not all Nodes will support Events, or in the case of an aggregating Server where underlying Servers may not support Insert or a particular Aggregate. In such cases the HistoryServerCapabilities Property would indicate the capability is supported, and the Server would return appropriate StatusCodes for situations where the capability does not apply.

Table 8 – HistoryServerCapabilitiesType Definition

Attribute

Value

BrowseName

HistoryServerCapabilitiesType

IsAbstract

False

References

NodeClass

Browse Name

Data Type

Type Definition

ModelingRule

HasProperty

Variable

AccessHistoryDataCapability

Boolean

PropertyType

Mandatory

HasProperty

Variable

AccessHistoryEventsCapability

Boolean

PropertyType

Mandatory

HasProperty

Variable

MaxReturnDataValues

UInt32

PropertyType

Mandatory

HasProperty

Variable

MaxReturnEventValues

UInt32

PropertyType

Mandatory

HasProperty

Variable

InsertDataCapability

Boolean

PropertyType

Mandatory

HasProperty

Variable

ReplaceDataCapability

Boolean

PropertyType

Mandatory

HasProperty

Variable

UpdateDataCapability

Boolean

PropertyType

Mandatory

HasProperty

Variable

DeleteRawCapability

Boolean

PropertyType

Mandatory

HasProperty

Variable

DeleteAtTimeCapability

Boolean

PropertyType

Mandatory

HasProperty

Variable

InsertEventCapability

Boolean

PropertyType

Mandatory

HasProperty

Variable

ReplaceEventCapability

Boolean

PropertyType

Mandatory

HasProperty

Variable

UpdateEventCapability

Boolean

PropertyType

Mandatory

HasProperty

Variable

DeleteEventCapability

Boolean

PropertyType

Mandatory

HasProperty

Variable

InsertAnnotationCapability

Boolean

PropertyType

Mandatory

HasComponent

Object

AggregateFunctions

--

FolderType

Mandatory

HasProperty

Variable

ServerTimestampSupported

Boolean

PropertyType

Optional

All UA Servers that support Historical Access shall include the HistoryServerCapabilities as part of its ServerCapabilities.

The AccessHistoryDataCapability Variable defines if the Server supports access to historical data values. A value of True indicates the Server supports access to the history for HistoricalNodes , a value of False indicates the Server does not support access to the history for HistoricalNodes . The default value is False. At least one of AccessHistoryDataCapability or AccessHistoryEventsCapability shall have a value of True for the Server to be a valid OPC UA Server supporting Historical Access.

The AccessHistoryEventCapability Variable defines if the server supports access to historical Events. A value of True indicates the server supports access to the history of Events, a value of False indicates the Server does not support access to the history of Events. The default value is False. At least one of AccessHistoryDataCapability or AccessHistoryEventsCapability shall have a value of True for the Server to be a valid OPC UA Server supporting Historical Access.

The MaxReturnDataValues Variable defines the maximum number of values that can be returned by the Server for each HistoricalNode accessed during a request. A value of 0 indicates that the Server forces no limit on the number of values it can return. It is valid for a Server to limit the number of returned values and return a continuation point even if MaxReturnValues = 0. For example, it is possible that although the Server does not impose any restrictions, the underlying system may impose a limit that the Server is not aware of. The default value is 0.

Similarily, the MaxReturnEventValues specifies the maximum number of Events that a Server can return for a HistoricalEventNode.

The InsertDataCapability Variable indicates support for the Insert capability. A value of True indicates the Server supports the capability to insert new data values in history, but not overwrite existing values. The default value is False.

The ReplaceDataCapability Variable indicates support for the Replace capability. A value of True indicates the Server supports the capability to replace existing data values in history, but will not insert new values. The default value is False.

The UpdateDataCapability Variable indicates support for the Update capability. A value of True indicates the Server supports the capability to insert new data values into history if none exists, and replace values that currently exist. The default value is False.

The DeleteRawCapability Variable indicates support for the delete raw values capability. A value of True indicates the Server supports the capability to delete raw data values in history. The default value is False.

The DeleteAtTimeCapability Variable indicates support for the delete at time capability. A value of True indicates the Server supports the capability to delete a data value at a specified time. The default value is False.

The InsertEventCapability Variable indicates support for the Insert capability. A value of True indicates the Server supports the capability to insert new Events in history. An insert is not a replace. The default value is False.

The ReplaceEventCapability Variable indicates support for the Replace capability. A value of True indicates the Server supports the capability to replace existing Events in history. A replace is not an insert. The default value is False.

The UpdateEventCapability Variable indicates support for the Update capability. A value of True indicates the Server supports the capability to insert new Events into history if none exists, and replace values that currently exist. The default value is False.

The DeleteEventCapability Variable indicates support for the deletion of Events capability. A value of True indicates the Server supports the capability to delete Events in history. The default value is False.

The InsertAnnotationCapability Variable indicates support for Annotations. A value of True indicates the Server supports the capability to insert Annotations. Some Servers that support Inserting of Annotations will also support editing and deleting of Annotations. The default value is False.

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. If the Server does not support Aggregates the Folder is left empty.

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. This property is optional but it is expected all new Servers include this property.

This DataType describes Annotation information for the history data items. Its elements are defined in Table 9.

Table 9 – Annotation Structure

Name

Type

Description

Annotation

Structure

message

String

Annotation message or text.

userName

String

The user that added the Annotation, as supplied by the underlying system.

annotationTime

UtcTime

The time the Annotation was added. This will probably be different than the SourceTimestamp.

AuditEvents are generated as a result of an action taken on the Server by a Client of the Server. For example, in response to a Client issuing a write to a Variable, the Server would generate an AuditEvent describing the Variable as the source and the user and Client Session as the initiators of the Event. Not all Servers support auditing, but if a Server supports auditing then it shall support audit Events as described in 5.6. Profiles (see OPC 10000-7) can be used to determine if a Server supports auditing. Servers shall generate Events of the AuditHistoryUpdateEventType or a sub-type of this type for all invocations of the HistoryUpdate Service on any HistoricalNode. See OPC 10000-3 and OPC 10000-5 for details on the AuditHistoryUpdateEventType model. In the case where the HistoryUpdate Service is invoked to insert Historical Events, the AuditHistoryEventUpdateEventType Event shall include the EventId of the inserted Event and a description that indicates that the Event was inserted. In the case where the HistoryUpdate Service is invoked to delete records, the AuditHistoryDeleteEventType or one of its sub-types shall be generated. See 6.7 for details on updating historical data or Events.

In particular using the Delete raw or Delete modified functionality shall generate an AuditHistoryRawModifyDeleteEventType Event or a sub-type of it. Using the Delete at time functionality shall generate an AuditHistoryAtTimeDeleteEventType Event or a sub-type of it. Using the Delete Event functionality shall generate an AuditHistoryEventDeleteEventType Event or a sub-type of it. All other updates shall follow the guidelines provided in the AuditHistoryUpdateEventType model.

This is a subtype of AuditHistoryUpdateEventType and is used for categorization of History Event update related Events. This type follows all the behaviour of its parent type. Its representation in the AddressSpace is formally defined in Table 10.

Table 10 – AuditHistoryEventUpdateEventType definition

Attribute

Value

BrowseName

AuditHistoryEventUpdateEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditHistoryUpdateEventType defined in OPC 10000-3, i.e. it has HasProperty References to the same Nodes.

HasProperty

Variable

UpdatedNode

NodeId

PropertyType

Mandatory

HasProperty

Variable

PerformInsertReplace

PerformUpdateType

PropertyType

Mandatory

HasProperty

Variable

Filter

EventFilter

PropertyType

Mandatory

HasProperty

Variable

NewValues

HistoryEventFieldList [ ]

PropertyType

Mandatory

HasProperty

Variable

OldValues

HistoryEventFieldList [ ]

PropertyType

Mandatory

This EventType inherits all Properties of the AuditHistoryUpdateEventType. Their semantic is defined in OPC 10000-3.

The UpdateNode identifies the Attribute that was written on the SourceNode.

The PerformInsertReplace enumeration reflects the parameter on the Service call.

The Filter reflects the Event filter passed on the call to select the Events that are to be updated.

The NewValues identify the value that was written to the Event.

The OldValues identify the value that the Events contained before the update. It is acceptable for a Server that does not have this information to report a null value. In the case of an insert it is expected to be a null value.

Both the NewValues and the OldValues will contain Events with the appropriate fields, each with appropriately encoded values.

This is a subtype of AuditHistoryUpdateEventType and is used for categorization of history value update related Events. This type follows all the behaviour of its parent type. Its representation in the AddressSpace is formally defined in Table 11.

Table 11 – AuditHistoryValueUpdateEventType definition

Attribute

Value

BrowseName

AuditHistoryValueUpdateEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditHistoryUpdateEventType defined in OPC 10000-3, i.e. it has HasProperty References to the same Nodes.

HasProperty

Variable

UpdatedNode

NodeId

PropertyType

Mandatory

HasProperty

Variable

PerformInsertReplace

PerformUpdateType

PropertyType

Mandatory

HasProperty

Variable

NewValues

DataValue[]

PropertyType

Mandatory

HasProperty

Variable

OldValues

DataValue[]

PropertyType

Mandatory

This EventType inherits all Properties of the AuditHistoryUpdateEventType. Their semantic is defined in OPC 10000-3.

The UpdatedNode identifies the Attribute that was written on the SourceNode.

The PerformInsertReplace enumeration reflects the parameter on the Service call.

The NewValues identify the value that was written to the Event.

The OldValues identify the value that the Event contained before the write. It is acceptable for a Server that does not have this information to report a null value. In the case of an insert it is expected to be a null value.

Both the NewValues and the OldValues will contain a value in the DataType and encoding used for writing the value.

This is a subtype of AuditHistoryUpdateEventType and is used for categorization of structured data update related Events. This type follows all the behaviour of its parent type. Its representation in the AddressSpace is formally defined in Table 12.

Table 12 – AuditHistoryAnnotationUpdateEventType definition

Attribute

Value

BrowseName

AuditHistoryAnnotationUpdateEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditHistoryUpdateEventType defined in OPC 10000-3, i.e. it has HasProperty References to the same Nodes.

HasProperty

Variable

PerformInsertReplace

PerformUpdateType

PropertyType

Mandatory

HasProperty

Variable

NewValues

DataValue[]

PropertyType

Mandatory

HasProperty

Variable

OldValues

DataValue[]

PropertyType

Mandatory

This EventType inherits all Properties of the AuditHistoryUpdateEventType. Their semantic is defined in OPC 10000-3.

The PerformInsertReplace enumeration reflects the coresponding parameter on the Service call.

The NewValues identify the Annotaion that was written. In the case of a remove it is expected to be a null value.

The OldValues identify the value that the Annotation contained before the write. It is acceptable for a Server that does not have this information to report a null value. In the case of an insert or remove it is expected to be a null value.

Both the NewValues and the OldValues will contain a value in the DataType and encoding used for writing the value.

This is a subtype of AuditHistoryUpdateEventType and is used for categorization of history delete related Events. This type follows all the behaviour of its parent type. Its representation in the AddressSpace is formally defined in Table 13.

Table 13 – AuditHistoryDeleteEventType definition

Attribute

Value

BrowseName

AuditHistoryDeleteEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditHistoryUpdateEventType defined in OPC 10000-3, i.e. it has HasProperty References to the same Nodes.

HasProperty

Variable

UpdatedNode

NodeId

PropertyType

Mandatory

HasSubtype

ObjectType

AuditHistoryRawModifyDeleteEventType

HasSubtype

ObjectType

AuditHistoryAtTimeDeleteEventType

HasSubtype

ObjectType

AuditHistoryEventDeleteEventType

This EventType inherits all Properties of the AuditUpdateEventType. Their semantic is defined in OPC 10000-3.

The UpdatedNode property identifies the NodeId that was used for the delete operation.

This is a subtype of AuditHistoryDeleteEventType and is used for categorization of history delete related Events. This type follows all the behaviour of its parent type. Its representation in the AddressSpace is formally defined in Table 14.

Table 14 – AuditHistoryRawModifyDeleteEventType definition

Attribute

Value

BrowseName

AuditHistoryRawModifyDeleteEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditHistoryDeleteEventType defined in Table 13, i.e. it has HasProperty References to the same Nodes.

HasProperty

Variable

IsDeleteModified

Boolean

PropertyType

Mandatory

HasProperty

Variable

StartTime

UtcTime

PropertyType

Mandatory

HasProperty

Variable

EndTime

UtcTime

PropertyType

Mandatory

HasProperty

Variable

OldValues

DataValue[]

PropertyType

Mandatory

This EventType inherits all Properties of the AuditHistoryDeleteEventType. Their semantic is defined in 5.6.5.

The isDeleteModified reflects the isDeleteModified parameter of the call.

The StartTime reflects the starting time parameter of the call.

The EndTime reflects the ending time parameter of the call.

The OldValues identify the value that history contained before the delete. A Server should report all deleted values. It is acceptable for a Server that does not have this information to report a null value. The OldValues will contain a value in the DataType and encoding used for writing the value.

This is a subtype of AuditHistoryDeleteEventType and is used for categorization of history delete related Events. This type follows all the behaviour of its parent type. Its representation in the AddressSpace is formally defined in Table 15.

Table 15 – AuditHistoryAtTimeDeleteEventType definition

Attribute

Value

BrowseName

AuditHistoryAtTimeDeleteEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditHistoryDeleteEventType defined in Table 13, i.e. it has HasProperty References to the same Nodes.

HasProperty

Variable

ReqTimes

UtcTime[]

PropertyType

Mandatory

HasProperty

Variable

OldValues

DataValue[]

PropertyType

Mandatory

This EventType inherits all Properties of the AuditHistoryDeleteEventType. Their semantic is defined in 5.6.8.

The ReqTimes reflect the request time parameter of the call.

The OldValues identifies the value that history contained before the delete. A Server should report all deleted values. It is acceptable for a Server that does not have this information to report a null value. The OldValues will contain a value in the DataType and encoding used for writing the value.

This is a subtype of AuditHistoryDeleteEventType and is used for categorization of history delete related Events. This type follows all the behaviour of its parent type. Its representation in the AddressSpace is formally defined in Table 16.

Table 16 – AuditHistoryEventDeleteEventType definition

Attribute

Value

BrowseName

AuditHistoryEventDeleteEventType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the AuditHistoryDeleteEventType defined in Table 13, i.e. it has HasProperty References to the same Nodes.

HasProperty

Variable

EventIds

ByteString[]

PropertyType

Mandatory

HasProperty

Variable

OldValues

HistoryEventFieldList

PropertyType

Mandatory

This EventType inherits all Properties of the AuditHistoryDeleteEventType. Their semantic is defined in 5.6.5.

The EventIds reflect the EventIds parameter of the call.

The OldValues identify the value that history contained before the delete. A Server should report all deleted values. It is acceptable for a Server that does not have this information to report a null value. The OldValues will contain an Event with the appropriate fields, each with appropriately encoded values.