7.19 UA_WriteList

FB-Name UA_WriteList
This Function Block is used to write values to multiple nodes using a list of node handles.
VAR_INPUT
BExecuteBOOLOn rising edge node values will be written.
BConnectionHdlDWORDConnection handle.
BNodeHdlCountUINTNumber of valid elements in the array to write.
BNodeHdlsARRAY OF
DWORD

Array of Node Handles.

Length is vendor-specific (MAX_ELEMENTS_NODELIST). See Constants of Array Lengths
Shall be same size like the Variables array length.

BNodeAddInfosARRAY OF
UANodeAdditionalInfo

See UANodeAdditionalInfo. Array of UANodeAdditionalInfo. Specifies the attribute and IndexRange.

Length is vendor-specific (MAX_ELEMENTS_NODELIST). See Constants of Array Lengths
Shall be same size like the Variables array length.

This parameter is optional. If not existing, the UAAI_Value (13) will be taken from internal implementation.

BTimeoutTIMETime to response.
VAR_OUTPUT
BDoneBOOLFB has completed its task.
BBusyBOOLThe FB is not finished and new output values are to be expected.
BErrorBOOLSignals that an error has occurred within the FB. Set to TRUE if either ErrorID or any of the NodeErrorIDs indicates an error.
BErrorIDDWORDError code for the OPC UA service call.
BNodeErrorIDsARRAY OF
DWORD

Array of DWORD. Contains an error code for each valid element of the Variables array.

Length is vendor-specific (MAX_ELEMENTS_NODELIST). See Constants of Array Lengths
Shall be same size like the Variables array length.

VAR_IN_OUT
BVariablesARRAY OF
Vendor specific
Vendor specific.
Length is vendor-specific (MAX_ELEMENTS_NODELIST). See Constants of Array Lengths.

Notes: Vendors can handle “Variables” in a vendor specific way. Independent of the vendor specific solution the mapping of the controller data type and OPC UA data type shall be handled in the function block.

VAR_IN_OUT: “Variables” as would provide best type save solution for users: The client firmware is able to map the UA memory layout to the controller layout. The firmware client can receive the type definition from the OPC UA Server.

Workaround would be to provide a byte array as “Variables” and the firmware client just provide the blob (UA memory layout – so called “raw data”) into that byte array.

A “Variable” could be the name of the variable so the internal firmware can get address, length, data type of variable.

UA_WriteList
BOOLExecuteDoneBOOL
DWORDConnectionHdlBusyBOOL
UINTNodeHdlCountErrorBOOL
ARRAY OF DWORDNodeHdlsErrorIDDWORD
ARRAY OF STRUCTNodeAddInfosNodeErrorIDsARRAY OF DWORD
TIMETimeout
ARRAY OF Vendor specificVariablesVariablesARRAY OF Vendor specific