Schwenkzyklus selbst gebaut

Bei Maschinen auf welchen nachträglich ein Schwenktisch montiert wurde, ist Steuerungsseitig oftmals kein Schwenkzyklus verfügbar. Dies macht es erforderlich, dass für jede Schwenkung manuell ein Nullpunkt angetastet und im Offset eingetragen wird. Dieses Vorgehen ist sehr umständlich und Fehleranfällig. Die Einrichtzeit und Ausschussquote wird erhöt, da z.B. bei einem schrägen Winkel erst nach der Bearbeitung eine entsprechende Korrektur vorgenommen werden kann.

Ablauf

Für die berechnung des Nullpunktes nach der Schwenkung werden gewisse Informationen benötigt, damit im anschluss unter zuhilfenahme der linearen Algebra die neue Position berechnet werden kann.

Der Ablauf sieht wie folgt aus:

  • Auslesen des Maschinennullpunktes (X, Y, Z)

  • Auslesen des Teilenullpunktes (X, Y, Z)

  • Berechnen der Position des Teilenullpunktes in bezug auf das Drehzentrum der Rotationsachsen

  • Berechnen der Position nach der Schwenkung in bezug auf das Drehzentrum der Rotationsachsen

  • Berechnen der neuen Position in Bezug auf den Maschinennullpunkt

  • Schreiben der neuen Position als Teilenullpunkt

  • Aktivieren des neuen Teilenullpunktes

Berechnen des Teilenullpunktes in relation zum Drehzentrum

Die Berechnung wird folgendermassen durchgeführt:

{PUNKT_X} = {TEILENULLPUNKT_X} - {ROTATIONSPUNKT_X}
{PUNKT_Y} = {TEILENULLPUNKT_Y} - {ROTATIONSPUNKT_Y}
{PUNKT_Z} = {TEILENULLPUNKT_Z} - {ROTATIONSPUNKT_Z}

Im Beispiel wird für die Position des Rotationszentrum ein beliebiger Wert verwendet. Sie müssen aber zwingend das genaue Rotationszentrum ermitteln um eine maximal mögliche Genauigkeit zu erreichen.

Adaptiert in Fanuc:

#21 = #5221 - [-200.5] (X)
#22 = #5222 - 333.56 (Y)
#23 = #5223 - 123.54 (Z)

Die Parameter #5221, #5222, #5223 enthalten die ensprechenden Werte aus der Offsettabelle für den Nullpunkg G54. Es wird noch eine Möglichkeit erläutert, wie sich das Auslesen ebenfalls parametrisieren lässt.

Berechnung der Drehung um die C-Achse

Die Rotation um die C-Achse kann durch die folgende Matrixdarstellung ausgedrückt werden

$$R_C(\phi) = \begin{bmatrix} cos(\phi) & -sin(\phi) & 0 \\ sin(\phi) & cos(\phi) & 0 \\ 0 & 0 & 1 \end{bmatrix}$$

Adaptiert in Fanuc sieht das anschliessend wie folgt aus:

#14 = [#4 * COS[#3]] - [#5 * SIN[#3]] (X)
#15 = [#5 * COS[#3]] + [#4 * SIN[#3]] (Y)
#16 = #6 (Z)
#21 = #[5221 + [[#11 - 54] * 20]] (X-WERT)
#22 = #[5222 + [[#11 - 54] * 20]] (Y-WERT)
#23 = #[5223 + [[#11 - 54] * 20]] (Z-WERT)

Berechnungen

Berechnen der Position des Teilenullpunktes

Die Rotation um die Y-Achse (Achse B) kann durch die folgende Matrixdarstellung ausgedrückt werden:

$$R_B(\theta) = \begin{bmatrix} cos(\theta) & 0 & sin(\theta) \\ 0 & 1 & 0 \\ -sin(\theta) & 0 & cos(\theta) \end{bmatrix}$$

und die Rotation um die Z-Achse (Achse C) durch:

$$R_C(\phi) = \begin{bmatrix} cos(\phi) & -sin(\phi) & 0 \\ sin(\phi) & cos(\phi) & 0 \\ 0 & 0 & 1 \end{bmatrix}$$

Dabei sind $\theta$ und $\phi$ die Rotationswinkel um die Y- bzw. Z-Achse.

Die kombinierte Rotation um die Y- und Z-Achse wäre dann die Matrixmultiplikation der beiden, $R = R_C R_B$:

$R = R_C(\phi) R_B(\theta)$

Dann wenden wir diese kombinierte Rotationsmatrix auf unseren Punkt $P’$ an:

$P’’ = R P'$

Hierbei ist $P’’$ der Punkt nach der Rotation.

$R = R_B(\theta) R_C(\phi)$ $= \begin{bmatrix} cos(\theta) & 0 & sin(\theta) \\ 0 & 1 & 0 \\ -sin(\theta) & 0 & cos(\theta) \end{bmatrix} \begin{bmatrix} cos(\phi) & -sin(\phi) & 0 \\ sin(\phi) & cos(\phi) & 0 \\ 0 & 0 & 1 \end{bmatrix}$ $= \begin{bmatrix} cos(\theta)cos(\phi) & -cos(\theta)sin(\phi) & sin(\theta) \\ sin(\phi) & cos(\phi) & 0 \\ -sin(\theta)cos(\phi) & sin(\theta)sin(\phi) & cos(\theta) \end{bmatrix}$