Arrays
Standardmäßig werden Arrays im Adressraum des Servers als einzelne Node abgebildet. Ein OPC UA Client hat dennoch die Möglichkeit, auf Einzelelemente des Arrays zuzugreifen.
Das folgende Array in der SPS würde somit als einzelne Node dargestellt werden, wobei über die Node-Attribute die Arraygrenzen definiert würden.
{attribute 'OPC.UA.DA' := '1'}
arrMyArray : ARRAY[0..3] OF INT;
![Arrays 1:](Images/png/9007214876488075__Web.png)
Der Vorteil ist eine deutliche Reduzierung der Komplexität des Server-Adressraums und des Speicherverbrauchs, da nicht jede Position eines Arrays als einzelner Knoten im Namensraum zur Verfügung gestellt werden muss.
Ältere OPC UA Clients unterstützen diese Funktion gegebenenfalls noch nicht. Daher ermöglicht ein spezieller Konfigurationsschalter die Bereitstellung aller Einzelelemente eines Arrays als einzelne Knoten im Namensraum. Dies stellt sich wie folgt dar:
![Arrays 2:](Images/png/9007214876490507__Web.png)
Zusätzlich zu dem Rootelement des Arrays sind auch alle Einzelelemente als separate Nodes verfügbar. Dieser Konfigurationsschalter ist durch Aktivierung der Option „LegacyArrayHandling“ an einem Data-Access-Gerät im TwinCAT OPC UA Configurator verfügbar.
![Arrays 3:](Images/png/9007214876492939__Web.png)
![]() | Erhöhte Speicheranforderungen Durch Aktivierung dieses Konfigurationsschalters vergrößert sich der Adressraum des Servers deutlich. Je nach Umfang des Projekts und gerade auch bei Verwendung von verschachtelten, komplexen Arrays, hat dies eine erhöhte Speicherauslastung des TwinCAT OPC UA Servers zur Folge. |