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 31 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_2.

Table 31 – HistoryUpdateDetails parameter TypeIds

Symbolic Name

Functionality

Description

UpdateDataDetails

Insert 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.

UpdateDataDetails

Replace 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.

UpdateDataDetails

Update 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.

UpdateStructureDataDetails

Insert data

This function inserts new Structured History 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.

UpdateStructureDataDetails

Replace data

This function replaces existing Structured History 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.

UpdateStructureDataDetails

Update data

This function inserts or replaces Structured History 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.

UpdateStructureDataDetails

Remove data

This function removes Structured History Data 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 events

This function inserts new Events into the history database for one or more HistoricalEventNodes .

UpdateEventDetails

Replace events

This function replaces values of fields in existing Events into the history database for one or more HistoricalEventNodes .

UpdateEventDetails

Update events

This function inserts new Events or replaces existing Events in the history database for one or more HistoricalEventNodes .

DeleteRawModifiedDetails

Delete raw

This function deletes all values from the history database for the specified time domain for one or more HistoricalDataNodes .

DeleteRawModifiedDetails

Delete modified

Some historians may store multiple values at the same Timestamp. This function will delete specified values and qualities for the specified timestamp for one or more HistoricalDataNodes .

DeleteAtTimeDetails

Delete at time

This function deletes all values in the history database for the specified timestamps for one or more HistoricalDataNodes .

DeleteEventDetails

Delete event

This 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 (See OPC 10000-5) may be ignored. The Server may 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.