Allgemeine Eigenschaften
Versionshinweis
Ab den CNC-Version V.2.11.2077, V2.11.2847, V3.1.3081.07, V3.1.3115 bzw. V4.18.0 sind V.P.-, V.L.- und V.S.-Variablen über die kanalspezifische Schnittstelle, mit Einschränkungen, erreichbar.
- Für das Lesen und Schreiben von V.*.-Variablen gibt es eine gemeinsame, kanalspezifische Schnittstelle. Dies gilt für folgende V.*.-Variablen:
- V.E.-Variablen
- V.G.-Variablen
- V.A.-Variablen
- V.CYC.-Variablen (*)
- V.P.-Variablen (*)
- V.L.-Variablen (*)
- V.S.-Variablen (*)
- Für achsspezifische Variablen (V.A) gibt es zusätzlich eine achsspezifische Schnittstelle. In der kanalspezifischen Schnittstelle muss bei achsspezifischen Variablen zur Adressierung der gewünschten Achse an den Variablennamen der Achsname angehängt werden. In der achsspezifischen Schnittstelle hingegen wird implizit der Variablenwert der aktuell auf diesem Platz einsortierten Achse gelesen. Beispiel:
Achsspezifische Schnittstelle: V.A.ACT_POS
Kanalspezifische Schnittstelle: V.A.ACT_POS.X - Der Zugriff auf den Variablenwert kann über Name oder Handle stattfinden, wobei letzterer schneller ist. Ausgenommen sind die mit (*) markierten Variablen. Diese sind nur per Name zugreifbar!
Das Handle der Variablen ist variabel (abhängig von der Konfiguration)! Daher kann es über den Variablennamen abgefragt werden. - Um auch ohne „Vorwissen“ auf die Variablen zugreifen zu können, kann die Anzahl der vorhandenen Variableneinträge ermittelt und die Variablenbeschreibungen pollend (per Index) abgefragt werden.
- Variablenarrays mit elementarem Datentyp (auch mehrdimensionale Felder und „Endknoten“ von Variablenstrukturen) werden als Einheit behandelt. Beispiel:
V.E.array_sgn32, V.E.struct.array_uns32, V.G.NP[0].V, V.G.NP[1].V
Bei Lesen oder Schreiben einer Array-Variablen kann entweder auf einzelnes Element oder komplettes Feld zugegriffen werden. Beispiel:
V.G.NP[0].V[1] -> einzelnes Element
V.G.NP[0].V -> Komplettes Array V.G.NP[0].V[0] ... V.G.NP[0].V[n] - Variablenstrukturen werden in ihre Einzelelemente aufgelöst, d.h. der Variablenname setzt sich aus Strukturnamen, Elementname und Array Indizes zusammen. Beispiele:
V.G.WZ_AKT.SPDL_AX_NR
V.E.Trajektorie.Vektor.x, V.E.Trajektorie.Vektor.y, V.E.Trajektorie.Vektor.z
V.E.struct1[0].struct2[0].array_sgn32, ..., V.E.struct1.struct1[5].struct2[8].array_sgn32
(Endknoten „array_sgn32“ wird als Einheit behandelt!)