Think we may be getting a bit confused with MACHINE COORDINATES and WORK CO-ORDINATES.
Machine Co-ordinates are permanent co-ordinates
Work co-ordinates are temporary co-ordinates
Machine co-ordinates are where you use homing or set your home position.
It really does not matter where you set your homing position as long as it means something to you..... and that also does depend upon whether or if you are actually going to use them.
The purpose of homing a machine is to be able to set up its work envelope. you do not home a machine for Z 0.0 to be equal to the top of the material that is for your work co-ordinates.
"normally" Z home is the top of your Z-axis...... because that is where the cutting tool can always be located as a "safe" position
eg: G0 G53 Z0
this will normally send your cutting tool upwards to just before the limit switch.......
Work co-ordinates (such as TOM {Top Of Material)} are normally set in plasma using a floating head / touch off probe and or ohmic sensor..... and its just a temporary co-ordinate until your perform G31 (axis probe {aka SKIP function} because the bed of the plasma table is normally all over the place and cut up plus the material may not be flat and may warp)
when you are cutting "homing" axis just allows you to setup machine SOFT limits so that the machine will not go outside of those limits which can be useful if you dont have limit switches or if you want a slowdown zone (limit switches can still be useful..... Ive had some strange things happen when using Mach3 + scanything tracing parts....)}
In my case I chose my home position to be in the top (furtherst away from my operator position) LHS corner with the torch (Zaxis) at its highest point.
That way at the end of a cut I may choose to issue a G0 G53 Z0 , followed by a G0 G53 X0 Y0, so that when I load material onto the machine the torch + gantry is well out of the way, I then may issue a G0 X0 Y0 which will sent the torch back to my last set work co-ordinates position.
Normally in plasma we just use G54 as a single work co-ordinate offset and we move it around to suit the part we wish to cutout.... however if you use part cut sheets and keep the previous cutouts so you can use a full sheet then you may choose to use another G5x work offset which you could setup such as with a couple of alignment pegs so that if you load the part sheets once the machine is homed you always know exactly where the part cut sheets are aligned from.
I have a rotary axis and use G59 so that once the machine is homed I can then move it directly to align with the center of the rotary axis, and once the machine is homed, G59 G0 X0 Y0 is always the same location and aligns my Y axis (my 4th axis is actually a B axis)
With a plasma we normally don't worry about the bottom of the Z axis position, because it is usually below the table so don't set a soft limit (soft limits can have a deceleration zone sometimes)
However with a router you may consider setting up the wor co-ordinates g54-59 Z as being Top of spoilboard or top of table...... that way your tool should never go below the spoil when you add in tool length offsets etc..... not required with plasma.
Also worth noting that G31 seems to be G38.2 with MASSO controllers.
https://masso.com.au/docs/masso-cnc-con ... mentation/
I'll have a read of their info now and see if I can help any more.