Lese / Schreib Zugriff
Zugriffsmethoden P-/AEP-Parameter V.L/V.P/V.S-Variablen
Im Allgemeinen gibt es zwei verschiedene Vorgehensweisen, um auf die Variablen zuzugreifen. Die erste betrifft die P-Parameter, AEP-Parmeter, V.L.-Variablen, V.P.-Variablen und V.S.-Variablen. Für diese Gruppe von Variablen sind 4 Eigenschaften gegeben: Die Anzahl der vorhandenen Variablen, der Name über den Index gelesen, der Wert über den Index gelesen und der Wert über den Namen gelesen. Der Index startet bei 0 und ist immer lückenlos, d.h. man kann über den Index von 0 bis Anzahl-1 alle Variablennamen erhalten. Das Lesen des Wertes sollte dann ausschließlich über den Namen geschehen, da sich der Index einer Variablen ändern kann, z.B. wenn eine Variable aus der Mitte gelöscht wird. Diese Gruppe von Variablen kann nur Zahlen abspeichern, deswegen ist der Typ des Wertes immer REAL64.
Zugriffsmethoden V.A/V.G-Variablen
Die zweite Gruppe bilden die V.A.-Variablen und V.G.-Variablen. Eine Besonderheit bei diesen Variablentypen ist, dass der Name aus zwei Teilen besteht. Einem statischen Teil und einem dynamischen Teil. Der statische Teil wird übermittelt, wenn man den Namen der Variablen über den Index liest. Der dynamische Teil besteht entweder aus einem Achsnamen des jeweiligen Kanals oder aus einem Arrayindex, selten - aber möglich ist auch eine Kombination aus beidem. Der Achsname wird, mit einem Punkt getrennt, hinter dem Variablennamen (statischer Anteil) angehängt. Im Fall einer Arrayvariablen wird der maximal gültige Index in dem Namen übermittelt. Beim Zugriff ist dieser maximale Index durch den gewünschten zu ersetzen.
Beispiel: Variable ergänzen um Achsname
V.A.Variable: V.A.+SWE_MDS.X_ACHSE
Statischer Anteil: V.A.+SWE_MDS
Dynamischer Anteil: X_ACHSE
Beispiel (seltener Fall): Array Zugriff + Variable ergänzen um Achsname
V.G.Variable: V.G.NP[5].V.X_ACHSE
Statischer Anteil: V.G.NP[98].V
Dynamischer Anteil: X_ACHSE
Ergänzung um Achsname
Eine Ergänzung um den Achsnamen muss bei V.A.-Variablen immer stattfinden. Bei V.G.-Variablen gibt die Eigenschaft „V.G-node by index“ an, ob die Variable um einen Achsnamen zu ergänzen ist oder nicht. Ein Achsname ist anzuhängen wenn Node den Wert V_AXIS_NAME hat. Ob ein Array vorhanden ist, lässt sich nur durch das Durchsuchen des Namens auf die Zeichen „[„ oder „]“ prüfen.
Um die Anzahl der Aktuell vorhandenen Achsen in einem Kanal ermitteln zu können, existiert die Variable: |
Bestimmen des Variablentyps
Weiter ist der Typ der Variablen frei wählbar. Das heißt, dass man zusätzlich zu der Vorgehensweise wie bei P-Parametern etc. erst den Typ und die Länge bestimmen muss, um erfolgreich einen Wert lesen zu können. V.A.- und V.G.-Variablentypen unterstützen auch das Schreiben. Um ermitteln zu können ob eine Variable beschreibbar ist oder nicht, gibt es die Eigenschaft Mode. Hier wird der Schreib/Lesemodus übermittelt. Beim Schreiben der Variablen ist ein Speicherstream entsprechend der Struktur S_WRITE_VAR_DATA aufzubauen.
V.E.-Variablen
Einen weiteren Variablentyp stellen die V.E.-Variablen dar. Diese sind vom Zugriff her eine Mischung aus V.A.- / V.G.-Variablen und P-Parametern. Da die V.E.-Variablen NC-Programmunabhängig sind, können diese ausschließlich über ihren Index gelesen werden. Der Typ kann von V.E.-Variable zu V.E.-Variable unterschiedlich sein, jedoch kann sich der Typ nicht während der Laufzeit ändern (siehe [EXTV]). Dementsprechend muss das Lesen typenabhängig erfolgen (siehe z.B. P-Parameter). V.E.-Variablen können auch als Array angelegt sein.