kernelv_get_axis_names()

Prototyp

KERNELV_RETURN

kernelv_get_axis_names(char* axisNames,
                                         unsigned long int maxByteSize,
                                         unsigned long int *returnSize,
                                         unsigned long int *nAxis);

 

Beschreibung

Liefert die in den jeweiligen Kanälen verwendeten Achsnamen einer Achse. Der Achsname ist der Name, mit dem die Achse in einem NC-Programm angesprochen wird. Nur Achsen, die in einem Kanal sind haben einen Achsnamen.

Zurückgeliefert wird ein Array von Zeichenketten fester Länge. Die Länge einer einzelnen Zeichenkette (inklusive terminierender Null) kann wie folgt ermittelt werden:

Namenslänge = returnSize / Anzahl der konfigurierten Achsen.

Die Anzahl der konfigurierten Achsen kann mit der Funktion kernelv_get_axis_count() ermittelt werden.

Die Indizes der zurückgegebenen Achsnamen entsprechen der Konfigurationsreihenfolge. Siehe auch Abschnitt 1.2.3.1.

Falls der Achsname kürzer ist als Namenslänge – 1 Zeichen, wird die Zeichenkette mit dem Wert \0 aufgefüllt.

Die Indizes der zurückgegebenen Achsnamen entsprechen der Konfigurationsreihenfolge. Siehe auch Abschnitt 1.2.3.1.

Falls der vom Aufrufer bereitgestellte Speicher zu klein für die zurückzugebenden Werte ist, wird der Wert ERR_CNC_RET_MEMORY zurückgegeben, in die Variable returnSize wird in diesem Falle der zur Rückgabe minimal benötigte Speicher in Bytes eingetragen.

Parameter

Name

Typ

Bedeutung

axisNames

char*

Zeiger auf Speicherbereich für die zurückzugebenden Achsnamen.

maxByteSize

unsigned long

Größe des Speicherbereiches für die Achsnamen.

returnSize

unsigned long*

Anzahl der in axisNames zurückgegebenen Bytes.

nAxis

unsigned long*

Anzahl der in axisNames zurückgegebenen Achsnamen.

Rückgabewerte

Symbol

Wert

Bedeutung

RET_FINISHED

0

Die Funktion wurde fehlerfrei durchgeführt.

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. Im Parameter returnSize wird die Anzahl der benötigten Bytes zurückgegeben.

Beispiel

example

Es sind 4 Achsen konfiguriert, nur die Achsen mit den Indizes 0 (Achsname ‚X2’) und 2 (Achsname ‚C’) sind einem Kanal zugeordnet:

Ein Aufruf von kernelv_get_axis_names() liefert folgende Werte zurück:

Parameter

Wert

Kommentar

returnSize

80

Anzahl der konfigurierten Achsen * Namenslänge

nAxis

2

Anzahl der Achsen, die aktuell einem Kanal zugeordnet sind.

axisNames

 

Siehe folgende Tabelle.

Die Länge (nameLength) einer einzelnen Zeichenkette ist damit:

namelength = returnSize / Anzahl konf. Achsen = 80 / 4 = 20

axisNames hat den folgenden Aufbau:

Offset

Wert

0

X’, ‘2’; \0, \0, \0 ….

20 (1 * nameLength)

\0, \0, \0, …..

40 (2 * nameLength)

C’; \0, \0, \0 ….

60 (3 * nameLength)

\0, \0, \0, …..