FB-Name

UA_HistoryUpdate

This Function Block is used to insert or replace or update data in the historical database.

VAR_INPUT

B

Execute

BOOL

FB performs its task on rising edge on this input.

B

ConnectionHdl

DWORD

Connection handle.

B

NodeHdl

DWORD

Node handle.

B

PerformInsert

BOOL

PerformInsert

PerformReplace

Description

TRUE

FALSE

The passed value will only be written to the history if no value exists at the specified timestamp.

FALSE

TRUE

The passed value will only be written to the history if a value exists at the specified timestamp. The existing value will be replaced.

TRUE

TRUE

The passed value will be inserted if no value exists for the timestamp but will also replace an existing value at the given timestamp.

B

PerformReplace

BOOL

B

DataValueCount

UNIT

Number of values to be inserted, replaced or updates

B

DataValues

ARRAY of UAHADataValue

Array of UAHADataValue

See UAHADataValue

B

Timeout

TIME

Time to response.

VAR_OUTPUT

B

Done

BOOL

FB has completed its task.

B

Busy

BOOL

The FB is not finished and new output values are to be expected

B

Error

BOOL

Signals that an error has occurred within the Function Block.

B

ErrorID

DWORD

Error code. (StatusCode)

B

ValueErrorIDs

ARRAY OFDWORD

Contains an error code for each valid element.

Notes: The idea of this scenario is to have an OPC UA server with HA (Historical Access) functionality available, either local on the same system or remotely in the network. In traditional way the OPC UA Server is responsible to collect data on his own from the underlying process. This FB UA_HistoryUpdate allows the OPC UA-HA Server to stay inactive and wait that an OPC UA client is actively pushing data into OPC UA-HA-Server making use of the Server’s HistoryUpdate interface.

UA_HistoryUpdate

BOOL

Execute

Done

BOOL

DWORD

ConnectionHdl

Busy

BOOL

DWORD

NodeHdl

Error

BOOL

BOOL

PerformInsert

ErrorID

DWORD

BOOL

PerformReplace

ValueErrorIDs

ARRAY OF DWORD

UINT

DataValueCount

ARRAY OF UAHADataValue

DataValues

TIME

Timeout