Allgemeine Eigenschaften
- Für das Lesen und Schreiben von V.E, V.G, V.A und V.CYC Variablen gibt es eine gemeinsame, kanalspezifische Schnittstelle
- 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 hier die V.CYC-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!)