Note
A SIMATIC PLC is limited to maximal 26 structure levels starting with FW 4.0.
Previous FW versions only support 8 structure levels maximal !
You will get a warning if this limit is violated and the related variable is automatically set to hidden so that the download succeeds.
[Warn] sld: The following members exceed the structure depth of 8 supported for OPC UA and Web-server and had been set in-accessible:
[Warn] sld: 's8.level8' because of usage in 'CONFIGURATION:s1.level2.level3.level4.level5.level6.level7'
[Warn] sld: For more details see https://console.dev.simatic-ax.siemens.io/docs/sld/extern-accessibility#restrictions.
Example code the generate the warning message
CONFIGURATION config
VAR_GLOBAL
{S7.extern=readwrite}
s1 : Struct1; // level 1
{S7.extern=readwrite}
s8 : Struct8;
{S7.extern=readwrite}
s7 : Struct7;
END_VAR
END_CONFIGURATION
TYPE
{S7.extern=readwrite}
Struct8 : STRUCT level9: BOOL; END_STRUCT;
{S7.extern=readwrite}
Struct7 : STRUCT level8: Struct8; END_STRUCT;
{S7.extern=readwrite}
Struct6 : STRUCT level7: Struct7; END_STRUCT;
{S7.extern=readwrite}
Struct5 : STRUCT level6: Struct6; END_STRUCT;
{S7.extern=readwrite}
Struct4 : STRUCT level5: Struct5; END_STRUCT;
{S7.extern=readwrite}
Struct3 : STRUCT level4: Struct4; END_STRUCT;
{S7.extern=readwrite}
Struct2 : STRUCT level3: Struct3; END_STRUCT;
{S7.extern=readwrite}
Struct1 : STRUCT level2: Struct2; END_STRUCT;
END_TYPE
Note
The best way to avoid such warnings is to define a STRUCT and expose only this structure.
The advantage of this method is that you have a clearly defined interface to external systems, which can easily be controlled.