Mike Lynce at
http://www.cncci.com/ helped me understand this.
What he taught me was:
G28 is a two part command.
First part is a rapid move to the coordinate location included with the command in the current coordinate system. This is an intermediate position.
The 2nd part is a rapid move (all at once) to machine zero for the same coordinates listed.
The simplest use of this command is to return Z to machine zero for tool change after making the preparatory move. Since only a move in Z is desired, Z is the only axis listed. Since we do not want the machine to move in Z during the preparatory we use G91 G28 Z0. We could also have used G91 G28 Z.1 that would first rapid up 0.1 then rapid to machine zero. Using Z0 is just simpler.
This command does introduce G91 so be sure to call G90 afterward.
Another use would be to rapid to machine zero in three axis at once (ouch!). First get away from every thing then rapid in all three axis to machine zero.
G91 G28 X0 Y0 Z4
This helped me.
Cheers,
Jim
www.tahlcam.com