Zero Offest Shifts (G53,G54...59)
G53 zero shift suppression
Command | G53 (default setting) |
Cancellation | G54..G57 |
Deactivate any zero offset shift translation. This adjustment is the default. The deactivation becomes active also for the current block. See sections Zero Offset Shift and G58/ G59 for details.
G54..G57 adjustable zero shift
Command | G54 |
Cancellation | G53 |
Activates the translation that is associated with the given G
-Code (TZ54…TZ57
). Also activates the translations of G58
and G59
. The translations apply to the current block and all succeeding blocks until changed. See section Zero Offset Shift for details.
G58, G59 programmable zero shift
Command | G58 or G59 |
Cancellation | G53 |
Set the translation that is associated with the given G
-Code. The new translation value is given by the parameters X,Y,Z
, which are mandatory. By default, the associated translations are zero. See section Zero Offset Shift for details.
Example:
The resulting MCS (machine coordinate system) path and the applied translations of this example are shown in Figure “ExampleG54G58G59”.
- The first line sets the translation that is associated with
G54
to[0,5,0]
. - The next line sets the programmed translation of
G58
to[0,10,0]
. Since zero-offset-shifts are still disabled (defaultG53
), the PCS (program coordinate system) and MCS (machine coordinate system) match. - Accordingly, the block
N20
results in a linear movement from MCS (machine coordinate system) coordinate[0,0,0]
to[20,0,0]
. - The next line activates
G54
and programs a linear movement alongN30
, wherebyG54
becomes active before the movement. The programmed PCS (program coordinate system) coordinate[40,0,0]
is mapped to the MCS (machine coordinate system) coordinate[40,15,0]
. - The next line sets the programmed transformation
G59
to[0,5,0]
. Thereby, the effective translation changes from[0,15,0]
to[0,20,0]
. Since the current MCS (machine coordinate system) coordinate must not be affected by this change, the current PCS (program coordinate system) coordinate is set to[40,-5,0]
, implicitly. - The succeeding
ST
-functionframeGet
stores these coordinates in[pcsX,pcsY,pcsZ]
. - The next line merely programs the
X
-coordinate of the end of segmentN50
. Therefore, the PCS (program coordinate system) coordinate of the end of segmentN50
is[60,-5,0]
, which is mapped to the MCS (machine coordinate system) coordinate[60,15,0]
. In other words: The translationG59
is active, but does not become apparent due to the adaption of the current PCS (program coordinate system) coordinate. (See section Applying Transformations for details.) - It becomes apparent by the last line, which sets the PCS (program coordinate system) coordinate of the end of segment
N60
to[80,0,0]
. This coordinate is mapped to the MCS (machine coordinate system) coordinate[80,20,0]
.
!zeroOffsetShiftSet(g:=54, x:=0, y:=5, z:=0);
N10 G58 X0 Y10 Z0
N20 G01 X20 Y0 F6000
N30 G54 X40 Y0
N40 G59 X0 Y5 Z0
!VAR pcsX, pcsY, pcsZ : LREAL; END_VAR
!frameGet(x=>pcsX, y=>pcsY, z=>pcsZ);
N50 X60
N60 X80 Y0
M02
Figure “ExampleG54G58G59”.