kernelv_get_acs_actual_positions()
Prototyp
KERNELV_RETURN | kernelv_get_acs_actual_positions (unsigned long* positions, |
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. |