kernelv_ch_get_cs_rot_matrix()

Prototyp

KERNELV_RETURN

kernelv_ch_get_cs_rot_matrix(unsigned long int chanIndex,
                                                 unsigned short csIndex,
                                                 double *matrix,
                                                 unsigned long int bufferSize,
                                                 unsigned long int *retBytes);

Beschreibung

Liefert die Rotationsmatrix des durch den Parameter csIndex angegebenen Koordinatensystems zurück.

Es wird eine 3x3 Drehmatrix zurückgegeben, mit der das Koordinatensystem aus dem unterlagerten Koordinatensystem erzeugt werden kann.

Es wird die Rotationsmatrix zurückgegeben, die z.B. durch die Parameter ϕ1, ϕ2 ϕ3 des folgenden NC-Befehls erzeugt wird:

#CS DEF [CS1] [ <v1>,<v2>,<v3>,<ϕ1>,<ϕ2>,<ϕ3> ]

Falls an dem angegebenen Index im Koordinatensystems-Stack kein Koordinatensystem definiert ist, wird die Einheitsmatrix zurückgegeben und der Rückgabewert der Funktion ist ERR_CNC_NO_DATA.

Parameter

Name

Typ

Bedeutung

chanIndex

unsigned long

Kanalindex des Kanals.

csIndex

unsigned short

Index des Koordinatensystems im Koordinatensystem-Stack.

matrix

double*

Zeiger auf den Speicherplatz für die Rotationsmatrix.

bufferSize

unsigned long

Länge des Speicherbereiches für die Rotationsmatrix muss mindestens 3 x 3 x sizeof(double) sein.

returnLength

unsigned long*

Zeiger auf den Wert, in den die tatsächlich zurückgegebene Anzahl Bytes geschrieben werden soll.

Falls der übergebene Speicher zu klein für die Rückgabe des Wertes ist, wird der Rückgabewert ERR_CNC_RET_MEMORY zurückgegeben und es wird über diesen Parameter die benötigte Speichergröße zurückgegeben.

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. In diesem Fall wird über returnLength die zur Rückgabe benötigte Mindestgröße zurückgegeben.

ERR_READ_ERR

-26

Beim Lesen von Daten aus der kernelv-DLL ist ein Fehler aufgetreten.

ERR_CNC_NO_DATA

-28

Die angeforderten Daten sind nicht verfügbar. An der durch den Aufrufparameter csIndex angegebenen Stelle im Koordinatensystem-Stack steht kein definiertes Koordinatensystem. Es wird die Einheitsmatrix zurückgegeben.

ERR_INVALID_PARAMETER

-30

Es wurde ein ungültiger Parameter übergeben:

Der in Parameter csIndex übergebene Koordinatensystemindex ist größer als der maximal mögliche Index im Koordinatensystem-Stack.