Lo que dice Fedvac, a mi modo de ver, es la opción correcta: se lee la posición real de la mesa, no contando los pulsos.
El problema aparece en como meter estos datos al CAM. En el Mach3, lo que he visto, son cacharros para meter señales auxiliares de control (finales de carrera, posicionadores,etc,etc), pero ninguno para leer reglas (chinas u ópticas)
En el EMC2 hay que hacerse una HAL (hardware abstration layer); para enterarnos: un programa que corre por debajo y que ataca a un hardware destinado a leer las reglas; y ahí es donde veo el problema: como estamos de programar drivers en Linux??
Desde luego, si se ponen reglas ópticas, ya por la experiencia, hay que poner los drivers adecuados para leerlas.