The recommended operation of my self-reversing tapping head (and others like it that are designed for manual operation) is to stop the machine feed short of the bottom of the hole, and allow the tap to self-feed the rest of the way. For example, mine self-feeds 0.20" before stopping and going into neutral. The tapping cycle should calculate the time it takes for this self-feed and dwell. This cycle requires one more input, the amount of self-feed. If this amount is zero, then you would get the same tapping cycle as now.
I have modified this cycle in the post processor for my mill (Tormach) and successfully tested it. The changes are as follows, and could be integrated into the post processor for virtually any mill:
First, add a new property, the "reversingHeadTravel" (reversingHeadFeed is already present):
reversingHeadFeed: 1.6, // percentage of tapping feed to retract the tool with reversing tapping head
reversingHeadTravel: 0.20 // head self-feed
And the corresponding property definition:
reversingHeadFeed: {title:"Self-reversing head feed ratio", description:"The reversing gear ratio for retracting the tool.", type:"number"},
reversingHeadTravel: {title:"Self-reversing head travel", description:"The tapping head self-feed after machine feed stops.", type:"number"}
The function "expandTappingPoint()" is changed to:
function expandTappingPoint(x, y, z) {
onRapid(x, y, cycle.clearance);
writeBlock(mFormat.format(49)); // disable feed override
onLinear(x, y, z + properties.reversingHeadTravel, cycle.feedrate);
// dwell while head extends
var dwell = 60 * properties.reversingHeadTravel / cycle.feedrate;
if (dwell != 0) {
writeBlock(gFormat.format(4), "P" + secFormat.format(dwell));
}
onLinear(x, y, cycle.clearance, cycle.feedrate * properties.reversingHeadFeed);
writeBlock(mFormat.format(48)); // enable feed override
}
You can see a dwell time is calculated, and G04 is used to dwell while the head self-feeds.
This code also disables feed/speed override around the tapping operation using M48 and M49, as recommended (by Tapmatic, for example). This prevents the speed & feed from getting out of sync if a manual override is in effect.
I have attached the complete Tormach post processor with these changes. (I have changed some default values that may not be what you'd want to distribute.)
Show More