What's new
What's new

Side Mounted Tool Changer and Fanuc 0iMD

sneebot

Stainless
Joined
May 14, 2001
Location
Massachusetts
I have a new (used) machine coming with a Fanuc 0iMD control and a side mounted 20 position tool changer. I have some questions about the tool changer/ control combination.

-Initially loading tools into the machine sounds like you would do a tool call (T7M6 for example) and then manually load the T7 tool in the spindle do another tool call and repeat.
-This brings up: are tools higher than T20 allowed in the tool changer? If so how does one know what (out of the 100s of tools) the control current thinks are in the tool changer? If not why have so many offsets?
-I'm confused as to how the Fanuc control tracks where tools are in the tool changer, from what I've read there is no pot or position number in the tool offsets table. If you want to remove (for example) T5 and replace it with T55 how do you tell the control you are performing this operation?

Any illumination on the logic of this system would be helpful.
 
You have a random pot tool changer. New, pot 1 equals tool 1. That rapidly changes as you make tool changes. Call tool 5, then tool 7, tool 5 goes back in pot 7. Keeping track is done on a data page in the control. Our controls have a tool data page that is easily accessible by the operator, though this could be dangerous. Tread lightly changing any tool data page whether on the Fanuc side or the MTB side. Periodically, you can change this be like new again. Too1, pot 1, tool 2, pot 2 and so on. I wouldn't recommend changing the tool data page to anything other than tools 1-20 but it might be able to be done. The reason for so many offsets is so that you can use multiple offsets with any given tool. For example, tool 5 might use offset 5, 25, 35 and so on. It let's you control offsets for multiple features that use the same tool.

Paul
 
I have a new (used) machine coming with a Fanuc 0iMD control and a side mounted 20 position tool changer. I have some questions about the tool changer/ control combination.

-Initially loading tools into the machine sounds like you would do a tool call (T7M6 for example) and then manually load the T7 tool in the spindle do another tool call and repeat.
-This brings up: are tools higher than T20 allowed in the tool changer? If so how does one know what (out of the 100s of tools) the control current thinks are in the tool changer? If not why have so many offsets?
-I'm confused as to how the Fanuc control tracks where tools are in the tool changer, from what I've read there is no pot or position number in the tool offsets table. If you want to remove (for example) T5 and replace it with T55 how do you tell the control you are performing this operation?

Any illumination on the logic of this system would be helpful.

Ordinarily you can only have tools T1 to T21 (20 in magazine and 1 in spindle). If you want to replace a tool with another different style, and the existing T20 is being removed to make way for the new, then the new tool will then be T20. An excess number of offsets is desirable and usual for a variation of reasons, one main one being that you can double up with different offsets for individual tools, for Cutter Radius Comp for example.

If you want to have a large inventory of tools (100s), with tool length and tool radius offsets already set in the control, then you can do this via a reasonably simple Custom Macro Program. In this case, the only limit to the upper bound of the Tool Number Call is the number of tool offsets available; the Macro Program will determine the actual, physical tool number to call (T1 to T21) and the correct offsets to use. Good house keeping is a must for such a set up.

It depend on the Machine Tool Builder the method used to keep track of the Tool Number/Tool Pot number relationship. Some use an Absolute encoder, others use an Incremental encoder where the magazine needs to be Referenced Returned on Power Up. These two types usually put the tool back in the same pot, and is more frequently used on machine with Large capacity magazines. Kitamura MyCentre with large capacity chain magazine is a good example of an Absolute encoder type. Where random placement of tools in tool pots is used, the control keeps track of the Tool Number/Tool Pot Number relationship via the PLC (PMC in Fanuc speak) program and a data table.

Regards,

Bill
 
Bill,
This sounds like what I would like to do (even if it's not with 100s of tools, but more than the magazine will hold):

If you want to have a large inventory of tools (100s), with tool length and tool radius offsets already set in the control, then you can do this via a reasonably simple Custom Macro Program. In this case, the only limit to the upper bound of the Tool Number Call is the number of tool offsets available; the Macro Program will determine the actual, physical tool number to call (T1 to T21) and the correct offsets to use. Good house keeping is a must for such a set up.

In this scenario if tools 1-20 are (currently) loaded and you wanted T55 (for example). First would be to call a tool you did not need T7M6, when that was in the spindle, manual swap T7 and T55, then edit the PMC data table? Thus going forward it would recognize T55 when you called it through the Macro?

I want to avoid constantly reassigning T1-20 every time I want to swap something odd or different in.
 
One good thing about the side mounted toolchanger is that you can save real time:
Call the next too into change position while you are running your program.
Compared to the older rotary toolchanger, you can save up to 20 seconds, or even more per tool change.
You had to put your tool back into the same slot before it started turning to find the next tool.
What you have now was a very, very good timesaving developement and it works well.
Good luck, if you need to see mill examples, look at my website, doccnc.com
Heinz.
 
Bill,
This sounds like what I would like to do (even if it's not with 100s of tools, but more than the magazine will hold):



In this scenario if tools 1-20 are (currently) loaded and you wanted T55 (for example). First would be to call a tool you did not need T7M6, when that was in the spindle, manual swap T7 and T55, then edit the PMC data table? Thus going forward it would recognize T55 when you called it through the Macro?

I want to avoid constantly reassigning T1-20 every time I want to swap something odd or different in.

There is no editing of the data table, the control can only recognize the tool capacity of the machine. Even if it were the case where you could edit a table to accommodate large tool numbers, there lay the potential for human error. The whole system is managed by the Macro Program using a math function applied to the tool number that will result in the correct tool number within the range of tool capacity of the machine. I have posted the program in answer to same question as yours, but I'm not sure where; it was a while ago. I'll see if I can find it and post again.

Regards,

Bill
 
Bill,
If no data editing how does the control 'know' (in the above crude example) when you manually do the swap between T7 and T55 and thus know that when another tool change occurs it will be putting T55 in the magazine. Or am I thinking about this in the wrong way?

thanks,
Matt
 
You won't be able to call T55. You can insert T55 into T7 (or any Tool position), but you will be changing to T7, then calling up H55 for length compensation (and if you wish to use cutter comp, D55)

So:

T7(TOOL 55. MAKE SURE T55 IS IN TOOL POSITION 7)
M6
G90G80G40G17
G0G54X0Y0S1000M3
G43H55Z1.M8
...

99% sure that whatever MTB made the machine, it will alarm out if you try to call a tool number that is higher than the machine can hold (21 tools in your case)
 
I have okumas with side arm tool changers that use random pots. They have a tool/pot data table and you can definatly change what tool is in each pot.

I also had a okuma millac with a fanuc 31iA control that used random pots. It was the same way. There was a tool/pot table and it was user editable.

I have a Bridgeport GX1000 with an OSP control that is set up for a large family of parts. The control is able to store 100 tool offsets, but the tool changer only holds 30 tools. I made a tool list in excel that I use to keep track of the tools. I probably have 60 tools in the tool list and all my programs are written with the tools in the list. When I run a program I look in the tool/pot table and see if the tools I need are in there. If not I exchange tools I'm not using with those that I need. I enter whatever number the tool is in the tool/pot table. If I had to call each tool a different number it would get confusing as hell. Use the tool/pot table to keep track of which tools are in the machine that's what it's there for.
 
Bill,
If no data editing how does the control 'know' (in the above crude example) when you manually do the swap between T7 and T55 and thus know that when another tool change occurs it will be putting T55 in the magazine. Or am I thinking about this in the wrong way?

thanks,
Matt

I think what he's trying to say, is there is only a certain number of tools that the control will recognize. You cannot go into the tool management/data page and just assign numbers that are above the carousel capacity. I do believe it would alarm out.
I would suggest, (and I think this is where bill is going) that if you have a library of commonly used tools that outnumber the chamber capacity, then, it would be a good idea (depending on the number of offsets available too you) assign them with their own offset. Ex, t20 (1/2 endmill, h20/d20) isn't running on next job. So, I'll take the 3/8 drill and put it in tool position 20, call it H40. So every time you use that 3/8 drill, you know it's offset is in H40. I do this. And, as a rule, I usually swap a drill for an endmill. Never a end mill for a end mill. Just for d-COMP reasons.
It works great. Just don't break tools down if you can. Then the offset will always be there. You just have yo keep track of your tooling and offset#s.
 
Now that I think of it, if you have constant running jobs, that take same tooling and program, you could assign the known offsets for said tools by using a G90 G10 L(?) P(?) Line for each tool in the program. Put the known offsets in them lines,jic any errors were made or changes to offsets/comps were changed since last run of them tools.
Can't for the life of me remember the line for h offsets.
I use it to set work offsets/shifts. I've never used it for height offsets. I know you can tho. Someone here could fill in the blanks I'm sure
 
-in gerenal, we made the program
T7 M6(call tool)
T8(prepare the tool in pot,which you will use for next tool)
G90G80G40G17
G0G54X0Y0S1000M3
G43H7Z1.M8
-Some machine will have T0 or T21 function, just for setup new parts, you will use T0 or T21 ,manual load the indicator to center the X0,Y0
-The machine remember the tool number in pot, and have "Tool Number/Tool Pot number" page,you will check the page when the tool number is wrong,for example the machine shootdown when tool exchange
-We change the tool in machine spindle
call T7,
unload T7,
load another tool in spindle,
change T7 offset
 
Bill,
If no data editing how does the control 'know' (in the above crude example) when you manually do the swap between T7 and T55 and thus know that when another tool change occurs it will be putting T55 in the magazine. Or am I thinking about this in the wrong way?

thanks,
Matt
Hi Matt,
dandrummerman21 and snydersux425 are correct in what I meant.

I couldn't find the Thread where I Posted this before, so following is a bare bones version. If your machine uses a Macro Program for the Tool Change, you will have to incorporate the following Macro Program (O9001) in your existing Macro.

Following is a snippet from a Main Program calling a Tool Change Subprogram with a Tool Number greater than the Magazine Capacity of the machine.
O1000
-------------------
-------------------
-------------------
T55 M06
S4000 M03
G90 G54 G00 X_ _ Y_ _
G43 Z_ _ H55 M08
-------------------
-------------------
-------------------
M30
%

The 20 in #3 = [#4120 MOD 20] is a maximum magazine capacity of 20. You can hard code the Magazine Capacity, or you could store it in a Nonvolatile Macro Variable (=> #500), such as #520, and have the following blocks replace those that contain 20 respectively in the Tool Change Macro.

#3 = [#4120 MOD #520]
#3 = #520

However, its unlikely that the magazine capacity of the machine will ever change, but the above method allows for setting the Magazine capacity without messing with the program once completed. You may find that you use this Macro on more than one machine, all having different Tool Magazine capacities.

O9001 (TOOL CHANGE MACRO)
#1 = #4003 (STORE GROUP 3 G CODE)
#2 = #4120 (STORE CURRENT MODAL TOOL NUM)
G91 G28 Z0.0
#3 = [#4120 MOD 20]
IF [#3 GT 0]GTOT10
#3=20
N10 T#3 M06
G#1 (RESTORE GROUP 3 G CODE)
#4120 = #2 (RESTORE CURRENT MODAL TOOL NUM)
M99
%

In the above example, T#3 will equate to T15 for T55 specified in the Main Program. Tool Num 55 would have to occupy the position of T15 in the magazine.

Regards,

Bill
 
All,
Ok, I understand what's going on now- thanks.

Bill,
I'm going to have to noodle through your Macro-- I think I understand what you are doing but not how it is supposed to work.
 
All,
Ok, I understand what's going on now- thanks.

Bill,
I'm going to have to noodle through your Macro-- I think I understand what you are doing but not how it is supposed to work.

Hi Matt,
MOD of a number is the remainder after dividing by another number. For example 40 MOD 3 = 4; 3 goes into 40 12 times and 4 is the remainder. By using MOD and the capacity of the Magazine, the result will always be between Zero and 1 less than the capacity of the Magazine. Zero will result when the Base number (Tool Number being called in Main Program) is a multiple of the Tool Magazine capacity. Accordingly, when Zero is the result, the Variable is set to the Magazine Capacity for the tool Number. This method allows no upper limit to the Tool Number used, the result will always be within the capacity of the Magazine.

In the following code, the programs drops through to N10 when #3 is other than Zero.

IF [#3 GT 0]GTOT10
#3=20
N10 T#3 M06

Regards,

Bill
 
Bill,
Got it. That's an interesting little trick and a slightly different approach than I though you were originally suggesting. Thanks for the explanation it helped a lot.

Matt
 
On my Mori, which also has the Oi-MD I can call tool 76, 90, 135 as long as it's defined in to tool list.

It's a 30 pot random changer

T75
M6
G0 G90 G54 bla, bla, bla...
G43 H75 Z1. T90
 
Wow, really-- that's what I was hoping for. Is the 'tool list' a Mori specific function or an Oi-MD function? How do you define a tool?

Machine should arrive Monday at which point I'll be able to actually start playing at the control...
 
Wow, really-- that's what I was hoping for. Is the 'tool list' a Mori specific function or an Oi-MD function? How do you define a tool?

Machine should arrive Monday at which point I'll be able to actually start playing at the control...
Hi Matt,
Its MTB specific. The MTB writes the PLC interface between control and machine hardware. I've seen a number of machines where you can set tool numbers beyond the Tool Magazine capacity, but its not general across the board. The Macro method will work for any machine that has the User Macro option; just about all late model machines.

The only drawback with the method I've shown you, is that high number new tools must go into the pot that corresponds to its calculated Tool Number. The big advantage is that you don't have to remember to change information in the data table.

Regards,

Bill
 
Last edited:
The only drawback with the method I've shown you, is that high number new tools must go into the pot that corresponds to its calculated Tool Number. The big advantage is that you don't have to remember to change information in the data table.

Yes I realized this was a workaround and basically assigns a specific T1-20 number to higher tool numbers but it could be very useful.

I'm curious to see how the machine (2010 Hardinge) handles/ manages the tool changing in general. I like the idea of the Mori set-up as Rstewart describes, but as you note the machine may be set up differently.
 








 
Back
Top