kernelv_ch_get_variable_value()

Prototyp

KERNELV_RETURN

kernelv_ch_get_variable_value (unsigned long int chanIndex,
                                                    char* varName,
                                                    KERNELV_VARIABLE *var);

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.