Almost all current model CNC machine tools have a special reference position. For machines having Fanuc or Fanuc-compatible controls, this special position is called the zero return position. Other names for the machine’s reference position include the home position, grid zero, and machine origin.
Regardless of what this position is called, it is a very important location along each axis. With most machines, for example, this position is the point of reference for program zero assignment. It is also used as the point of reference to set the over-travel boundaries in each axis. Because it is such an important position, most machines require that you send the machine to its reference position during the machine’s power up procedure.
Fanuc and Fanuc-compatible controls use a G28 to send the machine to its reference position. For example, the command G91 G28 X0 Y0 Z0, if executed on a machining center, will send the machine straight to its zero return position in all axes. Since it is such an important position, many machine tool builders use the zero return position as the point of activation for certain machine accessories. With many machining centers, for example, the zero return position in one or more axes is the tool changing position. It will also be the pallet change position for machines that have pallet changers.
With turning centers that have auto-loading systems, the zero return position is commonly the auto-load position. When it comes to programming, most positions in your CNC program will be taken from the program zero point. And as you know, program zero can be specified in any location, and its position within each axis of the machine will usually change from one program to another.
There are times, however, when being able to specify positions in your program from the machine’s reference position can be very helpful. Consider, for example, vertical machining centers that have after-market manual pallet changers. The X and Y axes must be sent to a special position that allows the operator to activate the manual pallet changer mechanism to swap pallets. While it may sound easy, the distance from the program zero point to the pallet change position will change with every program, making it quite challenging to program the machine to go to the pallet changing position (you’d almost have to make the setup and then measure the distance from program zero to the pallet change position for every job).
On the other hand, the distance from the machine’s reference position to the pallet changing position will remain consistent, regardless of where the program zero point is placed. Fanuc uses the command word G53 to specify movements relative to the machine’s reference position. G53 automatically selects the rapid mode, and all specified values will be taken (in absolute) from the machine’s reference position. Note that the reference position is commonly at the extreme plus end of each axis.
If the machine is not at its reference position, the polarity of positions relative to the reference position will be negative. In the manual pallet changer example, say you measure (one time) the distance from the machine’s reference position to the pallet change position in X and Y. The distance in X is -10.3762. The distance in Y is -14.3837 inches.
In your program, the command G53 X-10.3762 Y-14.3837 will send the machine (at rapid) directly to the pallet change position, regardless of the machine’s current position. Since this command’s point of reference is not the program zero point, this command would work in every program. For machining centers, other times you’ll want to consider programming from the machine’s reference position include when using tool length measuring probes (to program the movement in XY to bring the spindle right above the probe), when moving the machine to a convenient workpiece loading position, and when moving the machine to a convenient manual tool loading position.
For turning centers, this technique can be helpful with bar feeders and pullers (to specify the bar stop’s approach position), with tailstocks that are moved along with the machine’s Z axis, and when specifying a common tool changing position for the program.