What's new
What's new

Magazine Full - Manual Tool Change?

Fully Defined

Aluminum
Joined
Oct 12, 2013
Location
San Francisco, CA
I operate (and program for) a VMC with a Mitsubishi Meldas M64s control. It is a generic Taiwan-made .5M x 1M (20x40) box-way CAT40 beast.

When a program calls for a tool not currently in the magazine, I have to play musical chairs with the magazine before I even run it. I mostly have to do this for short programs using special tools, and it seems to me that this is the perfect scenario for just manually changing tools. However, I haven't figured out how to do this.

A tool change looks like this:

T13 M06
T128

How can tell the control to ask for a tool in the offsets but not in the magazine? And if this is possible, what is the sequence for going between in-magazine tools and manually changed tools?

I would especially like to set this up for regular use with the tap chuck. Since the same holding can accommodate an endless number of taps, it's silly to keep this holding in the magazine.
 
Just assign a different offset. Say your tap is tool 20. Pot 20 stays empty. Call up T20M6, you get an empty spindle. Put in an M0, load the tool by hand. Call up the offset G43 H20 Z1.0.

Next time you have a different tap, call up the same tool number but use a different offset. G43 H21 Z1.0.
 
Last edited:
I operate (and program for) a VMC with a Mitsubishi Meldas M64s control. It is a generic Taiwan-made .5M x 1M (20x40) box-way CAT40 beast.

When a program calls for a tool not currently in the magazine, I have to play musical chairs with the magazine before I even run it. I mostly have to do this for short programs using special tools, and it seems to me that this is the perfect scenario for just manually changing tools. However, I haven't figured out how to do this.

A tool change looks like this:

T13 M06
T128

How can tell the control to ask for a tool in the offsets but not in the magazine? And if this is possible, what is the sequence for going between in-magazine tools and manually changed tools?

I would especially like to set this up for regular use with the tap chuck. Since the same holding can accommodate an endless number of taps, it's silly to keep this holding in the magazine.

.
how does your machine handle offsets. if T13 does it use tool offset 13 and 14 ? or is there a column and rows for H13 and D13 ?
.
offset page often press one or 2 more times from G54 - G59 and P offset
if all tool offset positions are used then like a tool in magazine got to take one out i guess or you would be modifying a offset normally used for a tool in the magazine and have to remember to put it back the way it was.
.
some cnc any tool in spindle only uses H1 and D2. somehow part of tool change macro to auto load tool offsets for that tool. but that way you can manual load tool and manually enter H1 and D2
 
.
how does your machine handle offsets. if T13 does it use tool offset 13 and 14 ? or is there a column and rows for H13 and D13 ?
.
offset page often press one or 2 more times from G54 - G59 and P offset
if all tool offset positions are used then like a tool in magazine got to take one out i guess or you would be modifying a offset normally used for a tool in the magazine and have to remember to put it back the way it was.
.
some cnc any tool in spindle only uses H1 and D2. somehow part of tool change macro to auto load tool offsets for that tool. but that way you can manual load tool and manually enter H1 and D2

In the control, each tool has four offsets: Height, Wear, Radius & Wear. In HSMWorks I use "computer" for compensation type, meaning it doesn't call wear offsets in the program - only the height offset (all other values - including radius - are zero). I did not list it before, but a typical tool change will include G43, the clearance height in Z & then the tool offset (H128 for tool 128). Here is the first cutting operation in a program:

O210065 (CAM_ABLE_ST_BORING)
(T4 D=9.525 CR=0.787 - ZMIN=49.5 - BULLNOSE END MILL)
(T13 D=12.7 CR=0. TAPER=90DEG - ZMIN=56.5 - SPOT DRILL)
(T114 D=6.35 CR=0. TAPER=45DEG - ZMIN=48.25 - CHAMFER MILL)
(T128 D=8.5 CR=0. TAPER=118DEG - ZMIN=21.946 - DRILL)
N10 G90 G94 G17
N15 G21
N20 G28 G91 Z0.
N25 G90
(DRILL22)
N30 M09
N35 T13 M06
N40 T128
N45 S2506 M03
N50 G55
N55 M08
N65 G00 X-87. Y0.
N70 G43 Z82.5 H13
N80 G00 Z72.5
N85 G98 G81 X-87. Y0. Z56.5 R62.5 F251.
N90 G80
N95 Z82.5
N105 G28 G91 Z0.
N110 G90

If my program has a tool not in the magazine registry, which is different that the offsets, then it will error out on line N40.
 
Just assign a different offset. Say your tap is tool 20. Pot 20 stays empty. Call up T20M6, you get an empty spindle. Put in an M0, load the tool by hand. Call up the offset G43 H20 Z1.0.

Next time you have a different tap, call up the same tool number but use a different offset. G43 H21 Z1.0.

How would that work with G95 tapping?

The scenario I think would work best for me is to have sporadically-used tools in the cart, and the tap chuck (and my Haimer and DTI) right next to the machine. If ever these tools were called in a program, it would switch to an empty spindle and pause the machine while I loaded the tool, and then after it runs the tool it would pause the program while I removed it from the spindle again. I would prefer this to be called up by the tool library and post processor, if that were possible.

Are you saying I would have to manually edit the program each time I wanted to use a tool I don't keep in the magazine?
 
I think on the M64 you can only call up tools that appear in your registry. Because you have a 20? carousel calling anything above that will alarm out.
What jancollc is suggesting is the only way that I can see it working. So pot 20 stays empty and each time you need to add a different tool you just call a different offset for it. It seems like if you are not wide awake that you could mistakenly put the wrong tool in and hear a big BANG. So I would probably also add a note or even an operator message #3006-=1 (PUT M12 TAP IN) then an M00 and then a M00 (MAKE SURE THE RIGHT TOOL IS IN), he suggested when you load the different tools.
 
I do this fairly often since I have a 10 tool umbrella carousel (Haas SMM) and routinely run parts that need 15 or 16 tools, plus one pocket is always taken up by the probe...you get the idea. I've handled it two ways - the first was when I didn't have enough holders, but did have a tool setter in the machine, so I wrote a cycle to unload each tool (tool change, M00, comment in program w/ operator instructions, repeat for each tool to unload), have the operator replace cutters in the holders, reload tools (same cycle), and then use the Renishaw cycles to touch off each tool in sequence inside of the program.

Now that I have enough holders, I just use a different height offset as described above. It's much easier to do this if you can leave an empty pocket in the changer so you don't have to take a tool out and keep track of what came out and went in. I use H02-10 for anything that starts in the carousel and 12-20 for a second batch of tools, 22-30 if there's a third round for some reason. Make sure your control is set to allow H and T codes that don't match - on the Haas NGC at least, you have to change a setting to allow that.

I'm pretty sure some controls allow you to call T0 to put the current tool back in the magazine and leave the spindle empty, but the exact behavior will depend on your specific control and type of tool changer. It shouldn't break anything if you call up T0 M6 to find out what yours does, at worst you'll get an alarm.
 
How would that work with G95 tapping?

The scenario I think would work best for me is to have sporadically-used tools in the cart, and the tap chuck (and my Haimer and DTI) right next to the machine. If ever these tools were called in a program, it would switch to an empty spindle and pause the machine while I loaded the tool, and then after it runs the tool it would pause the program while I removed it from the spindle again. I would prefer this to be called up by the tool library and post processor, if that were possible.

Are you saying I would have to manually edit the program each time I wanted to use a tool I don't keep in the magazine?
It should be the same thing for any type of tool- what happens after the tool change is whatever you've programmed it to do.

"Tool 20" could be a face mill on one part and a tap on the next part, etc. It's just an empty pot that you reserve for manually changed tools. Put a note in the program that specifies what "tool 20" is on that part.

If you pick a tool number and stick with it, you should always get an empty spindle when you call that tool. It's then up to the operator to make sure that the tool he sticks in the spindle is the correct one.

As far as your CAM library, I have no idea. If you have all the tools pre-defined and you select the tool from a library, you need some way to assign it as "tool 20" in your code, or you have to do it manually. It would be nice if your CAM lets you call any tool "tool 20" and just use a different offset. Your library would have a bunch of "tool 20's", but they would all have different descriptions, and different H and D numbers.

Not a CAM guy, sorry. :o
 
The Heidenhain controller I'm currently using has all the tools numbered along with their z length & dia. offsets and you call up tool 0 so it empties the spindle, then stops and you have to manually load the tool then change the pocket "0" to the tool #, restart program and then stop and unload the tool and change the pocket "0" back to 0. In Mastercam you could designate each tool a # plus the "offset" # as a separate number so it posted out as such.
 
I think on the M64 you can only call up tools that appear in your registry. Because you have a 20? carousel calling anything above that will alarm out........

What can, and can not, be done with tool number calls will depend a lot on how the machine builder wrote their PLC ladder program. Mori Seiki allows tool numbers to 9999. The only requirement is that the tool number being called must be registered to a tool pot or magazine position. A builder can choose to restrict the tool numbers to the number of pots or magazine positions.

If the OP's machine allows tool numbers outside the range of pot numbers to be registered then I'd suggest registering 500 to what ever pot will be left empty to manage the manual tool loading. Using an unlikely tool number might lessen the chance of making an error.

Some machines need to be placed into a manual mode for the manual tool unclamp button to function. No big deal, just another thing to remember to do when the program hits the M0 after the T500 M6 command.

Since the OP's the machine is a CT taper it may have unequal size drive dogs on the spindle. I have seen lots of cases where a manual tool load ended up with the tool rotated 180 and not properly seated in the spindle taper. Usually results in a scrap part and sometimes the tool stuck in the spindle.
 
...Since the OP's the machine is a CT taper it may have unequal size drive dogs on the spindle. I have seen lots of cases where a manual tool load ended up with the tool rotated 180 and not properly seated in the spindle taper. Usually results in a scrap part and sometimes the tool stuck in the spindle.
I always M19 on the G28 Z move and load the tool with the dot facing me.

Important to have that habit when the tool only goes one way. Also speeds up the tool changes in the program when the spindle is already oriented when it gets to Z home, and the next tool is already staged.
 
What can, and can not, be done with tool number calls will depend a lot on how the machine builder wrote their PLC ladder program. Mori Seiki allows tool numbers to 9999. The only requirement is that the tool number being called must be registered to a tool pot or magazine position. A builder can choose to restrict the tool numbers to the number of pots or magazine positions.

That could be an issue if I am understanding you correctly and maybe I didn't explain myself properly in my post. He cannot have more than one tool assigned to a pot so I suggest that he calls the same tool number but just uses a different offset for each one.
 








 
Back
Top