kernelv_get_axis_names()
Prototyp
KERNELV_RETURN | kernelv_get_axis_names(char* axisNames,
|
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
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, ….. |