Kirsten -
To swing back onto the post, so to speak (although with that chimpanzee firing at me I am not so sure). I covered this in an earlier reply.
If you have your homing switches fitted, and they are working, then to set your offsets up takes only a moment.
Home your machine. If you have set "Auto Zero" on Config/Homing Limits, then your machine should home, and all the DRO's should go to zero - when looking at Machine Co-ordinates (the machine co-ordinates button should be lit). You cannot zero machine co-ordinates any other way except by homing (now you have the switches set up and working).
If you press the Machine Co-ordinates button, the led will go out, and your DROs will now display Program Co-ordinates. This may or may not be the same display. If it is not displaying 0,0,0 like the Machine Co-ordinates, then zero them, using the buttons at the side of the display.
Type in your MDI line "G54". This is the default offset. Mach 3 (and all other machines) keep track of their position in Machine Co-ordinates, but to make the display more recognisable to we mere mortals, it adds an offset to the display so that we can associate it with the program we are using. G54 is the default offset, and should be selected at all times when not actually running a program.
Jog your machine to the start point or 0,0,0 of your program. The Machine Co-ordinates will change, and the Program Co-ordinates will follow, but when you get to the correct position, zero the Program Co-ordinates.
If you check the Machine Co-ordinates, you will see that they have not changed, and the difference between the two is the offset.
If you check in Config/Fixtures you will see that G54 has changed - and now reflects the offset.
You can do this with the other offsets G55 - G58, G59P7 to G59P255.
The idea is that you include the offset in your program, at the beginning, so that when you switch on, you "home" the machine - so it knows where it is. If you then run the program, the offset will be read in, and the machine will move to the correct position for that program. Each program might have it's own offset, or sevral programs might share the same offset, if they start at the same point - e.g. work is set in the same position each time.
DO NOT zero your Program Co-ordinates while the program is running. It will automatically change the offsets. Only zero the Co-ordinates when setting up.
If you go to Config/General config - bottom right hand corner, you will see a box "Copy G54 from G59.253 on Startup"
If you want your machine to start in the same position on start up, then enter where you want the machine, and enter the offset in G59.253. This wil be copied into G54 and if you then go to 0,0,0 the machine will always move to the same place. If you are running a program, this does not matter, because once you run the program it will have it's own offset, which will over-ride G54.
Offsets do not accumulate, they are individual, and only one is in operation at one time. (However, Tool offsets then accumulate on machine offsets)