=====G28 Home===== The G28 command, as well as the G28.1-G28.9 serve to create a home position and then return to it when required. | G28.1 | Home Position Set | | G28.2 | Home Position #1 Save | | G28.3 | Home Position #2 Save | | G28.4 | Home Position #3 Save | | G28.5 | Home Position #1 Restore | | G28.6 | Home Position #2 Restore | | G28.7 | Home Position #3 Restore | | G28.9 | Home Position Address | G28.2, G28.3 and G28.4 are used to record the current machine position coordinate for a certain axis. The syntax for such a command will be, for example, "G28.2 X0" to indicate that the current x-axis position is to be recorded as home position #1. NOTE: The recorded value will NOT be zero in this case, but rather the current position for selected axis. The number after the axis symbol is IGNORED. The G28.5, G28.6 and G28.7 commands will then be used to retrieve these axis values. G28.2, G28.3 and G28.4 are used to record the current machine position coordinate for a certain axis. For the G28 command itself, the XYZ position in the G28 line determines the intermediate position relative to its current position (since typically the G91 command is used in that line, as an absolute position is often hard to determine). Therefore, a code such as G91 G28 X0Y0Z0 means that the intermediate position is at zeros relative to the current position. Therefore, the machine will go directly to the point listed in Work Offsets -> G28 Home Position. If the command would instead be something like G91 G28 X0Y0Z5 then the machine would first move up by 5 (Z5) prior to moving to the G28 Home Position. The G28.9 command allows to move to a coordinate stored in a particular register. For example, G10 L81 P101 Q5021 (Store X position in register 101) G90 G28.9 X101 F100 (Move to initial X) will first store the value from global variable #5021 to register #101, and then the G28.9 command will move to this original position at a certain given speed (in this case, F100).