kernelv_get_acs_actual_positions()

Prototyp

KERNELV_RETURN

kernelv_get_acs_actual_positions (unsigned long* positions,
                                                        unsigned long maxByteSize,
                                                        unsigned long* returnSize);

Beschreibung

Es werden die ACS-Istpositionen aller in der CNC vorhandenen Achsen in einem Array zurückgegeben.

Zur Berechnung der Istpositionen wird CNC-intern ein Lageregelkreis simuliert, wobei das mechanische Verhalten der Achse durch ein PT2-Glied nachgebildet wird.

Die Auflösung der Positionswerte beträgt 0,1 µm für translatorische Achsen bzw. 1*10-4° für Spindeln oder Moduloachsen.

Falls der vom Aufrufer bereitgestellte Speicher nicht zur Rückgabe aller Werte ausreicht, wird der Fehlercode ERR_CNC_RET_MEMORY zurückgegeben.

Zur Rückgabe aller Positionswerte müssen mindestens Achsanzahl * sizeof(signed long int) Bytes vom Aufrufer bereitgestellt werden.

Die Reihenfolge der Achspositionen im zurückgegebenen Array ist gleich der Konfigurationsreihenfolge der Achsen.

Parameter

Name

Typ

Bedeutung

positions

unsigned long*

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

maxByteSize

unsigned long

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

returnSize

unsigned long*

Anzahl der in positions zurückgegebenen Bytes.

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.