Machine Co-ordinates are used by the machine to keep track or where it is. They are of little vlaue to we mere mortals, becasue they are just numbers. As the machine moves, it adds to these co-ordinates, offsets, tool lengths etc etc. It seems to know what it is doing - but not I.
If you say that you do not have homing switches, but you want to home, then, you have in fact home swithces. It is just that yours are manual, not automatic. I assume you must have some stop block or similar that you run up to, so that you know your position is correct. It you then "Ref All Home" because your switches are deactivated, the machine code readings will go to 0,0,0. This is "home"
Press the Machine Co-ords button, so the led goes out, and zero the axis. You are now zeroing the "Program Co-ordinates" This is the one by which we keep track of the program as it moves through.
I do not understand what you mean when you say that you have tied the machine coordinates to the Program Co-ordinates. They will not tie.You can, as just described, have them co-incidental, i.e. there is no offset between them, but they are not tied.
If you now jog your machine to the start position of your program, and type in the MDI line G54, and then zero your Program Co-ordinates display, then if you check the Machine Co-ordinates, this has not changed. If you check the fixtures list, you will find that G54 has changed to relect the new offset between the two sets of DRO's.
As far as I know, the tool display shows your program in Program Co-ordinates, and if you are starting at 0,0,0 then the display will have the toolpath outlined round it.
The process of writing a program is such that you write the program from a 0.0.0 position convenient to the program, not the machine. If you write the program and run it into Mach 3, it will give you the maximum and minimum values of each axis, so you can check if it is too large for the table. If, for example, you then cut a square of paper to those maximum and minimum values , and lay it on your table in the most convenient position, with the 0.0.0 psoition clearly marked, all you have to do is home your machine (by whatever means), jog the machine to the 0.0.0 point of your program, and set an offset,
To do this , you simply type in the offset number you wish to use,e.g. G56 then zero the Program Co-ordinates DRO. If you check G56 fixture you will find it reflects the offset from your Machine 0.0.0 position.
If you add G56 , followed by G0 X0 Y0 to the beginning of your program then :-
If you "home your machine" and run the program, the first thing it will do is move to the 0.0.0 position of the program.
Obviously, if you fit in a block or something to poisition your workpiece to, then, the program is repeatable and accurate.