General properties
Release Note

V.P., V.L. and V.S. variables are accessible over the channel-specific interface with restrictions as of CNC Builds V.2.11.2077, V2.11.2847, V3.1.3081.07, V3.1.3115 and V4.18.0.
- There is a common channel-specific interface to read and write V.*. variables. This applies to the following V.*. variables:
- V.E. variables
- V.G. variables
- V.A. variables
- V.CYC.variables (*)
- V.P. variables (*)
- V.L. variables (*)
- V.S. variables (*)
- In addition, there is an axis-specific interface for axis-specific variables (V.A.). In the channel-specific interface, the axis name for axis-specific variables must be affixed to the variable names to address the required axis. In the axis-specific interface on the other hand, the variable value of the axis currently assigned to this position is read implicitly. Example:
Axis-specific interface: V.A.ACT_POS
Channel-specific interface: V.A.ACT_POS.X - The variable value can be accessed by name or handle, whereby the handle is faster. Variables marked by (*) are an exception since they are only accessible by name.
The handle of the variable is variable (depending on the configuration). For this reason, a request can be sent by variable name. - In order to access the variable without “pre-knowledge”, the number of existing variable entries can be determined and the variable descriptions can be polled (by index).
- Variable arrays with an elementary data type (including multi-dimensional arrays and “end nodes” of variable structures) can be treated as a single unit. Example:
V.E.array_sgn32, V.E.struct.array_uns32, V.G.NP[0].V, V.G.NP[1].V
When an array variable is read or written, either a single element or a complete array can be accessed. Example:
V.G.NP[0].V[1] -> single element
V.G.NP[0].V -> complete array V.G.NP[0].V[0] ... V.G.NP[0].V[n] - Variable structures are resolved into their single elements, i.e. the variable name is composed of structure names, element name and array indices. Examples:
V.G.WZ_AKT.SPDL_AX_NR
V.E.trajectory.vector.x, V.E.trajectory.vector.y, V.E.trajectory.vector.z
V.E.struct1[0].struct2[0].array_sgn32, ..., V.E.struct1.struct1[5].struct2[8].array_sgn32
(end node “array_sgn32” is treated as a single unit).