On 09/08/2015 12:08 PM, Stuart Stevenson wrote: > Why would a subsequent tapping operation need to use any index? Once the > spindle is homed you should not need to look for index other than a > convenient place to start the motion. > You could then specify an angle to start. > Easy to cut multilead threads then. > Well, in THEORY, you are certainly right. But, the way LinuxCNC is set up, it wants to zero the spindle to the index pulse before every G33.1 or similar operation. So, if the spindle has been drilling, milling or whatever, the spindle count may have wound up to the millions. So, it activates the encoder_index feature and zeroes the spindle count on the next appearance of the index pulse, and then calculates the Z plunge relative to that zero position.
Now, you COULD figure out the right number by modulo division and work it that way. But, the trajectory planner knows nothing about the spindle's count/rev value, and also if the spindle had accumulated many millions of counts, the modulo division of a very large floating point number might not be very precise. So, the HAL component that reads the spindle encoder scales the encoder to 1.0 unit per rev, and references it to the most recent index pulse at the beginning of the tapping or other spindle-synched operation. This way, there is no discontinuity in the spindle position value. If the spindle position rolled over back to zero on each rev, anything that synched to the spindle for more than one rev would have to account for that. Jon ------------------------------------------------------------------------------ Monitor Your Dynamic Infrastructure at Any Scale With Datadog! Get real-time metrics from all of your servers, apps and tools in one place. SourceForge users - Click here to start your Free Trial of Datadog now! http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140 _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
