Almost all current model machining center controls use fixture offsets for program zero assignment. With most, the distance from the machine's reference position (commonly called the zero return position) to the program zero point must be determined for each axis. These distances are called program zero assignment values.
If your setups are not predictable (as most are not), using the machine's zero return position as the point of reference for fixture offset entries is an acceptable use of fixture offsets. However, if you make very predictable setups, as is the case with subplates, it will be wiser to shift the point of reference for fixture offset entries to a more logical position, as is shown in the illustration provided above.
This particular control uses a special fixture offset called the common offset to shift the point of reference for fixture offset entries. In this example, we're shifting the point of reference to the lower-left hole (A-1). Because the component tooling used with this subplate is predictable, specifying the location of program zero relative to hole A-1 is easy—as the illustration shows. If you're using subplates with component tooling, you should be using this method to assign program zero. It eliminates the need for program zero assignment value measurements during setup.
Not all machining center controls provide this ability; however, if yours does, there are some other reasons why you'll find it helpful to shift the point of reference.
Allow for variations in pallet changers: Though these devices are accurately made, there may be a small deviation from one pallet to the next. This means that the distance from the machine's zero return position to the center of the pallet may vary from pallet to pallet. Of course, this will cause problems with machining accuracy.
The common fixture offset can help you overcome this problem. You can measure the distances from the machine's zero return position to each pallet's center and top. This need only be done once.
If there are deviations in pallets, each pallet will have its own set of common fixture offset values. A G 10 command at the beginning of the program being run on each pallet can specify the correct common fixture offset values for the pallet being run. (PO specifies fixture offset number zero)..
Allow for variations after a mishap: When a crash occurs, it is likely that one or more axes will "slip" by a small amount. So fixture offset values for all qualified setups previously made will be incorrect. If you make a lot of qualified setups, and if your fixture offset entries are included in your program with G 10 commands, this can be a real problem. When the machine is repaired, the repair person should be able to get each axis back to its original position. If they cannot accomplish this, you can avoid having to change the fixture offset values in all programs by storing the variations in the common fixture offset.
Allow for the differences in spindle gap from one machine to another: If you are measuring tool lengths off-line for several machining centers, you may notice a small difference in the way the spindle taper is bored from one machine to another. This will cause problems with your tool length compensation values. Instead of making a special measuring gauge for each machine, the deviation from machine to machine can be stored in the Z-axis value of the common fixture offset. From this point, the same tool length compensation value will work in every machine.
Enhance safety during dry-runs: When verifying programs, it can be helpful to run the program above the setup. If you increase the Z value of the common fixture offset by, let's say, 5 inches, all movements the machine makes will be 5 inches above their normal movements.