Hello j_boyss:
Regarding the tach signal, neither Mach or the dspmc controller incorporate it into their operation.
The tach signal is a feedback to the motor amplifier (or drive); it is integral to the function of the amplifier control of the motor. The amplifier receives the +/- 10v signal from the dspmc controller, and turns on the appropriate power diodes for direction, and motor velocity.
The response of the motor is known to the dspmc controller, as it is monitoring the encoder signals, the "A" channel being one direction, and the "B" channel being the opposite direction; the total amount of travel of an axis, from point (A) to point(B) is a known number of encoder counts by definition (it knows how many encoder counts per inch or mm) , and also supplying the +/- voltage signal.
The dspmc controller then applies the correct signal to accelerate and then decelerate (known as an S curve) to that position, at the commanded speed, which originated from the program in Mach. The dspmc does all this calculation according to the motor tuning parameters which have been input into the motor tuning PID (Proportional - Integral - Derivative: see Wiki) program.
When you tune the motors, each axis has a separate screen in the tuning section. You can see this S curve on the screen, and make changes in the PID settings for the best response. This capability of the dspmc is one of its strong points, regarding motor control. The actual internal actions in the controller are very complex, but the program makes the entire process very simple.
The tuning parameters are saved, and will be used from there on, at every start-up.
The dspmc controller is a "remote device" from Mach. It stores in a buffer, the incoming Mach3 X,Y,Z.... signals. Although they (Mach3 and the dspmc) work together, they are separate entities, that basically "talk to each other."
Regarding your question about the motors and the leadscrew:
As per above, the motor tuning involves the actual work involved to accelerate the weight of a machine table. The tuning is one of the final tasks to do, before using the machine.
Reference switches:
Some users do not use the reference capability. However, I personally believe it is a fundamental part of a CNC machine control.
If you use a "Z" index channel for setting the "Machine Zero", you can return to a known fixture position or setup position, without having to re-indicate a fixture. The reference switches are at the table travel limit. Usually at the machine's extreme + X, +Y, and +Z.
By using the encoder "Z" channel, the accuracy and repeatability of the resultant "Machine Zero" is as accurate as the encoder itself.
Conversely, if you use micro switches alone for the "Machine reference zero", your position is only as accurate as the mechanical repeat accuracy of the switch, which is not comparable to the digital encoder.
Another value to having a "Machine Zero" reference, is you can set your table "safe zones", a physical limit set in the ports and pins setup, with a given distance beyond which the program will not go. This will prevent the machine from tripping the limit switches, as it will not travel beyond whatever you set as that point in X,Y,or Z.
The "Work" zero positions are the G54, G55.....etc, which are referenced from the "Machine Zero".
If you have "reference" switches for X,Y,Z, you do a "Ref All" at a cold start-up. The machine moves in sequence through each axis, and automatically sets the machine "Zero". You then can click on "Go to Zero", and the machine will move to whatever work position is curently set, i.e. G54, G55, G56...... etc.
This process is automatic, and takes less than a minute. It is far quicker than using an edge finder to locate X, and Y, then having to put in a specific tool to re-set the machine "Z" home.
On a cold start, Mach does not know where it is (as in a known digital position) in relationship to the physical machine. All commercial CNC machines use a "Machine Zero" reference position.
Hope this is helpful