kernelv_ch_get_variable_value()
Prototyp
KERNELV_RETURN | kernelv_ch_get_variable_value (unsigned long int chanIndex, |
Beschreibung
Lesen einer Variablen aus dem CNC-Kernel. Aktuell können die folgenden Variablentypen gelesen werden:
Typ | Beispiel |
Externe Variablen | V.E.VAR_1 |
Globale Variablen, siehe (1) | V.G.CNC_RELEASE |
Achsspezifische Variablen | V.A.+SWE.X |
Programmglobale, eigendefinierte Variablen | V.P.VAR_1 |
Programmübergreifende, eigendefinierte Variablen | V.S.VAR_1 |
Programmlokale, eigendefinierte Variablen | V.L.VAR_1 |
Variablen des Typs V.G.WZ[]. können aktuell nicht gelesen werden.
Die Identifikation der zu lesenden Variablen erfolgt anhand ihres Namens und des Kanalindex.
Als Name ist der vollständige Name (inklusive Präfix V.E. und Arrayindex bei Arrayvariablen) anzugeben.
Beispiel: „V.E.VAR_FLOAT_ARRAY[3]“
Die Rückgabe des Wertes erfolgt in der Struktur KERNELV_VARIABLE *var.
Falls beim Lesen der Variablen ein Fehler auftrat, wird ein Fehlercode zurückgegeben.
Parameter
Name | Typ | Bedeutung |
chanIndex | unsigned long | Kanalindex des Kanals von dem die Variable gelesen werden soll. |
varName | char* | Zeiger auf den Variablennamen. |
var | KERNELV_VARIABLE* | Zeiger auf Struktur, in die der Variablenwert und Typ geschrieben werden soll. |
Rückgabewerte
Symbol | Wert | Bedeutung |
RET_FINISHED | 0 | Die Funktion wurde fehlerfrei durchgeführt. |
ERR_INVALID_CHAN | -1 | Der übergebene Kanalindex ist größer als die Anzahl der konfigurierten Kanäle - 1 |
ERR_CNC_NOT_INIT | -3 | Der Simulations-CNC-Kern ist noch nicht initialisiert. |
ERR_CNC_RET_MEMORY | -4 | Der oder die Rückgabewerte passen nicht in den bereitgestellten Speicher. |
ERR_INTERNAL_ERROR | -11 | Es ist ein DLL-interner Fehler aufgetreten. |
ERR_UNKNOWN_VARIABLE | -12 | Der Variablenname ist im CNC-Kern nicht bekannt. |
ERR_VARIABLE_SYNTAX | -13 | Der Variablenname ist syntaktisch nicht korrekt, z.B. schließende Klammer bei Arrayvariablen fehlt. |
ERR_VAR_NAME_LENGTH | -18 | Der an die Funktion übergebene Variablenname überschreitet die maximal zulässige Länge (KERNELV_VAR_NAME_LENGTH). |
ERR_ARRAY_NOT_SUPPORTED | -21 | Bei manchen Echtzeit Varianten der CNC ist es möglich ein Array ‚en block‘ zu lesen, indem beim Zugriff der Arrayindex weggelassen wird, diese Zugriffsart wird aktuell von der kernelv-DLL nicht unterstützt. |