Errata exists for this version of the document.
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.