Arrays

By default, arrays are mapped as individual nodes in the server's address space. An OPC UA client still has the option of accessing individual elements of the array.

The following array in the PLC would thus be displayed as a single node, with the array limits being defined via the node attributes.

{attribute 'OPC.UA.DA' := '1'}
arrMyArray : ARRAY[0..3] OF INT;
Arrays 1:

The advantage is a considerable reduction in the complexity of the server address space and memory consumption, since not every position of an array needs to be made available as an individual node in the namespace.

Older OPC UA clients may not yet support this function. Therefore, a special configuration switch enables all individual elements of an array to be provided as individual nodes in the namespace. This is as follows:

Arrays 2:

In addition to the root element of the array, all individual elements are also available as separate nodes. This configuration switch is available by activating the "LegacyArrayHandling" option on a data access device in the TwinCAT OPC UA Configurator.

Arrays 3:
Arrays 4:

Increased storage requirements

Activating this configuration switch significantly increases the address space of the server. Depending on the scope of the project and especially when using nested, complex arrays, this results in increased memory load of the TwinCAT OPC UA Server.
Make sure that your hardware device has sufficient main memory.