6.9.1 Overview

The HistoryUpdate Service defined in OPC 10000-4 can perform several different functions. The historyUpdateDetails parameter is an Extensible Parameter that specifies which function to perform and the details that are specific to that function. See OPC 10000-4 for the definition of Extensible Parameter. Table 61 lists the symbolic names of the valid Extensible Parameter structures. Some structures will perform different functions based on the setting of its associated parameters. For simplicity a functionality of each structure is listed. For example, text such as ‘using the Replace data functionality’ refers to the function the HistoryUpdate Service performs using the Extensible Parameter structure UpdateDataDetails with the performInsertReplace enumeration parameter set to REPLACE.

Table 61 – HistoryUpdateDetails parameter Symbolic Names
Symbolic NameFunctionalityDescription
UpdateDataDetailsInsert data

This function inserts new values into the history database at the specified timestamps for one or more HistoricalDataNodes

The Variable’s value is represented by a composite value defined by the DataValue data type.

UpdateDataDetailsReplace data

This function replaces existing values into the history database at the specified timestamps for one or more HistoricalDataNodes.

The Variable’s value is represented by a composite value defined by the DataValue data type.

UpdateDataDetailsUpdate data

This function inserts or replaces values into the history database at the specified timestamps for one or more HistoricalDataNodes.

The Variable’s value is represented by a composite value defined by the DataValue data type.

UpdateStructureDataDetailsInsert data

This function inserts new StructuredHistoryData or Annotations into the history database at the specified timestamps for one or more HistoricalDataNodes.

The Variable’s value is represented by a composite value defined by the DataValue data type.

UpdateStructureDataDetailsReplace data

This function replaces existing StructuredHistory Data or Annotations into the history database at the specified timestamps for one or more HistoricalDataNodes.

The Variable’s value is represented by a composite value defined by the DataValue data type.

UpdateStructureDataDetailsUpdate data

This function inserts or replaces StructuredHistoryData or Annotations into the history database at the specified timestamps for one or more HistoricalDataNodes.

The Variable’s value is represented by a composite value defined by the DataValue data type.

UpdateStructureDataDetailsRemove data

This function removes StructuredHistoryData or Annotations from the history database at the specified timestamps for one or more HistoricalDataNodes.

The Variable’s value is represented by a composite value defined by the DataValue data type.

UpdateEventDetails Insert eventsThis function inserts new Events into the history database for one or more HistoricalEventNodes.
UpdateEventDetails Replace eventsThis function replaces values of fields in existing Events into the history database for one or more HistoricalEventNodes.
UpdateEventDetails Update eventsThis function inserts new Events or replaces existing Events in the history database for one or more HistoricalEventNodes.
DeleteRawModifiedDetails Delete rawThis function deletes all values from the history database for the specified time domain for one or more HistoricalDataNodes.
DeleteRawModifiedDetails Delete modifiedSome historians can store multiple values at the same Timestamp. This function will delete specified values and qualities for the specified timestamp for one or more HistoricalDataNodes.
DeleteAtTimeDetailsDelete at timeThis function deletes all values in the history database for the specified timestamps for one or more HistoricalDataNodes.
DeleteEventDetailsDelete eventThis function deletes Events from the history database for the specified filter for one or more HistoricalEventNodes.

The HistoryUpdate Service is used to update or delete, DataValues, Annotations or Events. For simplicity the term “entry” will be used to mean either DataValue, Annotation, or Event depending on the context in which it is used. Auditing requirements for History Services are described in OPC 10000-4. This description assumes the user issuing the request and the Server that is processing the request support the capability to update entries. See OPC 10000-3 for a description of Attributes that expose the support of Historical Updates.

If the HistoryUpdate Service is called with two or more of DataValues, Events or Annotations in the same call the Server operational limits MaxNodesPerHistoryUpdateData and MaxNodesPerHistoryUpdateEvents (defined in OPC 10000-5) can be ignored. The Server can return the service result code Bad_TooManyOperations if it is not able to handle the combination of DataValues, Events or Annotations. It is recommended to call the HistoryUpdate Service individually with DataValues, Events or Annotations.

Table 62 defines the HistoryUpdateDetails structure.

Table 62 – HistoryUpdateDetails Structure
NameTypeDescription
HistoryUpdateDetailsStructure

Its representation in the AddressSpace is defined in Table 63.

Table 63 – HistoryUpdateDetails definition
Attribute Value
BrowseNameHistoryUpdateDetails
IsAbstractTrue
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of the Structure DataType defined in OPC 10000-3
Conformance Units
Historical Access Update Value