There are several posts on the forum about this.
The machine keeps it's position in machine co-ordinates. These are displayed on the DRO's when the machine co-ordinates button is pressed and the led surround is lit. In theory, the only way to zero the machine co-ordinates is to have homing switches and home the machine. However, when Mach was written, if you do not have home switches and they are not activated on the Ports and Pins, RefAll Home will zero them anywhere. You could, therefore, as Hood says, place your table in any position and home the machine co-ordinates. How accurate this would be depends on you.
The "home" position is probably no good for machining, and certainly will not be the start position of your GCode Program. For this you use offstes - G54 to G58 and then another 250 or so under G59 - plenty to go at.
The idea is that you wake up in the morning, and in a stupor, press the RefAllHome button. The machine then moves to it's "home" position. So the machine is now happy - it knows where it is. As Hood says, you cannot rely on it being in the same state as when you switched it off.
Having now woken up, for the first run, you then need to jog your table to the 0.0.0 position of your program. If you input G55 on the MDI line, then change to the program co-ordinates (by pressing the machine co-ordinates button - the led goes out) and zero each axis individually, then G55 is set to the start co-ordinates of your program. You can check this on Config/Fixtures. Run your program.
The next time, before you start, insert a G55 command in your GCode at the begining, followed by a G0 X0Y0Z0.
Start up, and "home" the machine. Run the program, and the first thing it will do is get the offset from the table, then move to the X0Y0Z0 position of the program, and then run the program.
The offset table is saved when you close down, and reactivated when you start up, so once set up, it can be used as many times as you want.
If your case, with a fixed position for your work piece, once "home" switches are fitted, the rest is easy.
As Hood says, optical switches are probably better than fixed mechanical switches. I use lasers shining onto detectors, and these are accurate to several 1/10ths of a thou, and have the advantage - if I accidentally overrun doing something manually, I don't plough through them.
Jim Pinder