Fixture Offsets (G54-G59.3)

Figure 8-1: Offsets

Work or fixture offset are used to make a part home that is different from the absolute, machine coordinate system. This allows the part programmer to set up home positions for multiple parts. A typical operation that uses fixture offsets would be to mill multiple copies of parts on "islands" in a piece, similar to figure [fig:offsets]

The values for offsets are stored in the VAR file that is requested by the INI file during the startup of an EMC. In our example below we'll use G55. The values for each axis for G55 are stored as variable numbers.

5241 0.000000

5242 0.000000

5243 0.000000

5244 0.000000

5245 0.000000

5246 0.000000

In the VAR file scheme, the first variable number stores the X offset, the second the Y offset and so on for all six axes. There are numbered sets like this for each of the fixture offsets.

Each of the graphical interfaces has a way to set values for these offsets. You can also set these values by editing the VAR file itself and then issuing a [reset] so that the EMC reads the new values. For our example let's directly edit the file so that G55 takes on the following values.

5241 2.000000

5242 1.000000

5243 -2.000000

5244 0.000000

5245 0.000000

5246 0.000000

You should read this as moving the zero positions of G55 to X = 2 units, Y= 1 unit, and Z = -2 units away from the absolute zero position.

Once there are values assigned, a call to G55 in a program block would shift the zero reference by the values stored. The following line would then move each axis to the new zero position. Unlike G53, G54 through G59.3 are modal commands. They will act on all blocks of code after one of them has been set. The program that might be run using figure [fig:offsets] would require only a

single coordinate reference for each of the locations and all of the work to be done there. The following code is offered as an example of making a square using the G55 offsets that we set above.

G55 G0 x0 y0 z0

g1 f2 z-0.2000





g0 z0

g54 x0 y0 z0


"But," you say, "why is there a G54 in there near the end." Many programmers leave the G54 coordinate system with all zero values so that there is a modal code for the absolute machine based axis positions. This program assumes that we have done that and use the ending command as a command to machine zero. It would have been possible to use g53 and arrive at the same place but that command would not have been modal and any commands issued after it would have returned to using the G55 offsets because that coordinate system would still be in effect.

G54 use preset work coordinate system 1

G55 use preset work coordinate system 2

G56 use preset work coordinate system 3

G57 use preset work coordinate system 4

G58 use preset work coordinate system 5

G59 use preset work coordinate system 6

G59.1 use preset work coordinate system 7

G59.2 use preset work coordinate system 8

G59.3 use preset work coordinate system 9

automate logo
Smithy logo

  800-476-4849  |  170 Aprill Drive  |  Ann Arbor, Michigan 48103  |  USA
Entrust Seal