Das neue Frame in der Framekette ergibt sich danach:
● Zielframe ist $P_SETFRAME:
$P_SETFRAME = $P_ACTFRAME : $AC_MEAS_FRAME :
INVFRAME($P_ACTFRAME) : $P_SETFRAME
● Ziel-Frame ist n-tes Kanalbasisframe $P_CHBFRAME[<n>]:
k = $MN_MM_NUM_GLOBAL_BASE_FRAMES
– Bei n = 0 ergibt sich TMP zu:
– Bei n ≠ 0 ergibt sich TMP zu:
$P_CHBFRAME[<n>] = INVFRAME(TMP) : $P_ACTFRAME : $AC_MEAS_FRAME :
INVFRAME($P_ACTFRAME) : TMP : $P_CHBFRAME[<n>]
● Ziel-Frame ist $P_IFRAME:
TMP =
$P_IFRAME = INVFRAME(TMP) : $P_ACTFRAME : $AC_MEAS_FRAME :
INVFRAME($P_ACTFRAME) : TMP : $P_IFRAME
Beispiel
Ein Frame, der z. B. über eine Messfunktion ermittelt wurde, soll im aktuellen SETFRAME so
eingetragen werden, dass das neue Gesamtframe sich als Verkettung des alten
Gesamtframes mit dem Mess-Frame ergibt. Das SETFRAME wird mit Hilfe von Frame-
Invertierungen entsprechend umgerechnet.
Programmcode
DEF INT RETVAL
DEF FRAME TMP
$TC_DP1[1,1]=120
$TC_DP2[1,1]=20.
$TC_DP3[1,1]= 10.
$TC_DP4[1,1]= 0.
$TC_DP5[1,1]= 0.
$TC_DP6[1,1]= 2.
T1 D1
g0 x0 y0 z0 f10000
G54
$P_CHBFRAME[0] = CROT(Z,45)
$P_IFRAME[X,TR] = -SIN(45)
$P_IFRAME[Y,TR] = -SIN(45)
$P_PFRAME[Z,TR] = -45
$AC_MEAS_VALID = 0
G1 X-1 Y-3
$AC_MEAS_LATCH[0] = 1
G1 X5 Y-3
Grundfunktionen
Funktionshandbuch, 12/2018, A5E40870716A AB
TMP = $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :
$P_NCBFRAME[<0...k>]
TMP = $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :
$P_NCBFRAME[<0..k>] : $P_CHBFRAME[<0...n> - 1]
$P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME : $P_BFRAME
K2: Achsen, Koordinatensysteme, Frames
Kommentar
; Typ
; 0
; (z) Laengenkorrekturvektor
; (y)
; (x)
; Radius
; Ecke mit 4 Messpunkten vermessen
; 1. Messpunkt anfahren
; 1. Messpunkt abspeichern
; 2. Messpunkt anfahren
11.5 Frames
843