What's new
What's new

tool change macro needed, EXCEL PMC-10T24 W/ Fanuc 21-M need 9001 please help!

rcd machinist

Plastic
Joined
Feb 16, 2012
Location
california usa
tool change macro needed, EXCEL PMC-10T24 W/ Fanuc 21-M need 9001 please help!

I have seen a lot of Fanuc tool change macros but none specific to the 21-M, I do not know
if it necessarily has to be the exact control but i am sure the same machine type EXCEL PMC-10T24.

so I had to take the Boards out for a a repair and Fanuc Tech told me to back it up so i did but This being our only Fanuc and i have never had to work on or back it up i thought the usual machine and NC params would do! WRONG!

does anyone have #9001? I have seen alot of close ones but not the exact machine can anyone help me?
 
tool change macro needed, EXCEL PMC-10T24 W/ Fanuc 21-M need 9001 please help!

I have seen a lot of Fanuc tool change macros but none specific to the 21-M, I do not know
if it necessarily has to be the exact control but i am sure the same machine type EXCEL PMC-10T24.

so I had to take the Boards out for a a repair and Fanuc Tech told me to back it up so i did but This being our only Fanuc and i have never had to work on or back it up i thought the usual machine and NC params would do! WRONG!

does anyone have #9001? I have seen alot of close ones but not the exact machine can anyone help me?

Hello rcd machinist,
When a Tool Change Program is absolutely necessary, it is common for a hard copy of the program to be included in one of the manuals that came with the machine (if they still exist). Have you searched for such a program copy in any manuals you may have, It will be in the Machine Tool Manuals, not in the Fanuc Manuals.

Tool Change can be carried out completely by the PMC, or a combination of the PMC and the Tool Change Macro. Accordingly, a Tool Change Program can range from very simple, just positioning the axes at a convenient location and possible not really necessary, to quite complex and necessary, with interaction between it and the PMC. I would first determine how necessary a Tool Change Macro is for your machine.

As the program number is O9001, check if the number 6 is registered in parameter 6071. If so, replace it with Zero. With a 6 registered in this parameter, executing M06 will result in the control attempting to execute program O9001, with an alarm being raised if the program doesn't exist. By removing the reference to 6 in the parameters, M06 will be treated like a normal M code and processed by the PMC when executed.

As your Tool Change Program was O9001, it will be called as a Subprogram and not a Macro Program. In this case no arguments are passed, so your original Macro will not be expecting any data, except perhaps the System Variable for the last T Code executed, which isn't passed as an argument.

To test if your machine really needs a Tool Change Macro and after setting parameter 6071 to Zero, register the following Main Program under whatever program number is available:

O0001
N1 G91 G28 Z0.0
G28 X0.0 Y0.0
T01 M06
M30

Either you will have the Tool Change execute correctly, meaning that a Tool Change Program is not absolutely necessary, or an alarm will be raised. If a Tool Change Program is determined to be necessary and no one come to your rescue with the correct program, it becomes tough. However, if you, or if you can get someone that can follow the PMC Ladder, you will be able to backward engineer the required Tool Change Program, but a bit of time will be involved.

Regards,

Bill
 
Bill,
thank you for the response I appreciate it very much. I am pretty sure it involves combination of the PMC and the Tool Change Macro as it is a random tool carousel that has a arm with two tool claws that puts the spindle tool in the same pot as the tool it changed and the machine records where all the tool numbers are. I can make it change a tool in MDI so it is mechanical functional just cant record with out the macro/program.

Ill try to get back on the machine repair soon but i am also in production so busy busy!

thank you very much!
 
Bill,
thank you for the response I appreciate it very much. I am pretty sure it involves combination of the PMC and the Tool Change Macro as it is a random tool carousel that has a arm with two tool claws that puts the spindle tool in the same pot as the tool it changed and the machine records where all the tool numbers are. I can make it change a tool in MDI so it is mechanical functional just cant record with out the macro/program.

Ill try to get back on the machine repair soon but i am also in production so busy busy!

thank you very much!

Hello rcd machinist,
The PMC is able to do all of the above by itself; accordingly, what you have mentioned is no proof that a Tool Change Macro is absolutely necessary. In what way are you able to tool change in MDI Mode; I'm assuming by various commands? If so, then a Tool Change Program can be constructed to do the same. List the steps you used in MDI.

Regards,

Bill
 
I have a o9001 program in my Mynx. I'll post it tomorrow if you want.

But as Bill said I'm not sure it's absolutely needed?
 
sure that would be great! might give me a idea of what it looks like. I am in production on another machine so i have not had the time to go test the other replies but i will this afternoon hopefully. thank you all for the input, I have been tinkering with repairs myself for five or six years and do fairly well mechanically but the nc side of the machines are quite different from manufacturer to manufacturer. I have two retired machinery repairmen who are local and help me when i need it but this one has stumped us all!
 
sure that would be great! might give me a idea of what it looks like. I am in production on another machine so i have not had the time to go test the other replies but i will this afternoon hopefully. thank you all for the input, I have been tinkering with repairs myself for five or six years and do fairly well mechanically but the nc side of the machines are quite different from manufacturer to manufacturer. I have two retired machinery repairmen who are local and help me when i need it but this one has stumped us all!

Hello rcd machinist,
List the steps you're using when successfully tool changing in MDI. If these are commands steps executed in MDI then a Tool Change Program can be created from those steps.

The chances of two different makes of machines having the same Tool Change Program would be a bit like winning the lottery. Just because they have the same program number is totally irrelevant. It simply means that the Tool Change Program is being called as a Subprogram, in the same way a program is called with M98 and that O9001 just happened to be the program number used by the MTB. Program numbers O9001 to O9009 are allocated for this purpose and any one of them could have been used.

Regards,

Bill
 
Yes the pmc needs a 9001 program to run the tool change.

sorry couldnt find the thread a few days ago, then forgot. anyway here it is along with a pic of mine. Big ass beast, I mainly used to to cut parts off of 4x8 sheets of plastic and alum to feed out other cncs. had a vaccum table that stuck out 8"inchs on each side of the table on X too.

exceltoolchange.jpg

IMG_4656a.jpg
 
The toolchange macro pictured above is merely for convenience, not required.

Please explain? ( not arguing with you just dont understand.)

I delete mine by accident and tool change wouldn't happen in program during auto mode.

same thing happened with a supermax max one rebel a few years before that. Yci sent me the program.
 
Please explain? ( not arguing with you just dont understand.)

I delete mine by accident and tool change wouldn't happen in program during auto mode.

same thing happened with a supermax max one rebel a few years before that. Yci sent me the program.
Hello Delw,
Its a convenience in as much as the commands to Reference Return the Z axis and Orientate the Spindle don't have to be carried out in your Main Program each time a Tool Change is required. All of the command in your O9001 program could be executed from within the Main Program, therefore, a Tool Change Program for your machine is not a necessity, only a convenience.

A Tool Change program only become necessary, when there is an interaction between the PMC and the Program, when the PMC doesn't handle the whole exercise. Its in the hands of the MTB as to how much, if any, interaction there is between the PMC and the Program. In your case, there is Zero interaction.

Regards,

Bill
 
Last edited:
Hello Delw,
Its a convenience in as much as the commands to Reference Return the Z axis and Orientate the Spindle don't have to be carried out in your Main Program each time a Tool Change is required. All of the command in your O9001 program could be executed from within the Main Program, therefore, a Tool Change Program for your machine is not a necessity, only a convenience.

A Tool Change program only become necessary, when there is an interaction between the PMC and the Program, when the PMC doesn't handle the whole exercise. Its in the hands of the MTB as to how much, if any, interaction there is between the PMC and the Program. In your case, there is Zero interaction.

Regards,

Bill

Ok, now I understand it better.
basically its a convenience instead of typing out this in your main program every time you want to change a tool.

Thanks
 
Please explain? ( not arguing with you just dont understand.)

I delete mine by accident and tool change wouldn't happen in program during auto mode.......

When you deleted the O9001 program the control will alarm out because it can not find it. Parameter 6071 on the 21 control determines what M code will call O9001. A machine using a toolchange macro will have 6 registered in that parameter. On a machine using a "convenience" toolchange macro as in the screenshot, one would only need to clear the 6 from parameter 6071 and then include the explicit commands needed to do the toolchange in the main program.

Below is an example of a macro used on a machine that does not have M6 as a PLC function. It uses M6 purely as a macro call.

O9001(TOOL-CHANGE-MACRO)
IF[#1032EQ#20]GOTO1
M192
G91G0G30Z0
T#20
G28Z0
N1
G90
M99
%

Even this machine can be run without the macro, but the resulting toolchange behavior becomes pretty stupid when the program calls the tool currently in the spindle.
 
Okay I'm not sure if this helps you or not but:

%
:9001(ATC SUB CHANGE PRO,M06)
N01G80G40
N02M33
N03G91G30Z0.M19
N04M06
N05G90G94
N06M99
%
 
Okay I'm not sure if this helps you or not but:

%
:9001(ATC SUB CHANGE PRO,M06)
N01G80G40
N02M33
N03G91G30Z0.M19
N04M06
N05G90G94
N06M99
%

Hello Tichy,
Another Tool Change Program of convenience. There is no interaction between that program and the PMC; all of the above could be executed in the Main Program each time a Tool Change is required. I suspect that M33 will be to allow the Z axis to go into a forbidden area.

The OP has stated that he can successfully execute a Tool Change in MDI. Assuming that is via various commands an d he's not confusing MDI with some type of Manual Tool Change Function, he should be able to construct a viable Tool Change Program. Whatever can be done in MDI can be done using a Memory Stored program.

Regards,

Bill
 
Last edited:
Hello guys! Sorry for the delay on this thread i have a lot of irons in the fire all the time! So i could not wrap my brain around the idea that this machine could not do a change with out this sub program, today i changed the parameter 6071 to a zero and i told the machine to go to tool change z zero and oriented the spindle with mdi (manual data input) then tried a t1 m6; and she rotated the mag and selected t1 ans changed it wow what a miracle!!! I did this with no tools in the machine and now i am wondering if i do a t#m6 all by its self its not going to go t0 z zero and orient so now this is probably what the sub is for duh? It looks like the machine is registering all the positions in the pmc parameters. Im just happy im finally understanding this and i thank you guys for the help! I will see if i can get this sub to work now that i understand that the pmc is doing all the tool tracking without the sub! I got my fingers crossed!
 
Hello guys! Sorry for the delay on this thread i have a lot of irons in the fire all the time! So i could not wrap my brain around the idea that this machine could not do a change with out this sub program, today i changed the parameter 6071 to a zero and i told the machine to go to tool change z zero and oriented the spindle with mdi (manual data input) then tried a t1 m6; and she rotated the mag and selected t1 ans changed it wow what a miracle!!! I did this with no tools in the machine and now i am wondering if i do a t#m6 all by its self its not going to go t0 z zero and orient so now this is probably what the sub is for duh? It looks like the machine is registering all the positions in the pmc parameters. Im just happy im finally understanding this and i thank you guys for the help! I will see if i can get this sub to work now that i understand that the pmc is doing all the tool tracking without the sub! I got my fingers crossed!

As I said in an earlier Post, whatever can be done with MDI, can also be carried out with a Memory resident program.

An M Code registered parameter 6071 will create a reference to call program O9001 as a Subprogram and not a Macro. Accordingly, no arguments, such as the Tool Number, can be passed to the program. Therefore, you will have to have to read the Tool Number from the System Variable for T Code last executed.

Following is a Tool Change Program that will work.

O9001
#1 = #4003 (STORE CURRENT GROUP 3 G CODE)
G91 G28 Z0.0
G28 X0.0 Y0.0 (OPTIONAL - IF YOU WANT TO REFERENCE RETURN THE X/Y AXES)
M19
T#4120 M06
G#1 (RESTORE GROUP 3 G CODE)
M99
%

I believe the tool changer on your machine is the Umbrella Magazine Type. With this type of Magazine, the next tool in the program can't be pre-staged at the Ready Position, therefore, using System Variable #4120 works fine in the Tool Change Program. With this type of Tool Change and Magazine System, the Tool Change Program can be called with just a T Code by setting bit 5 of parameter 6001 to call program number O9000 with a T Code and reading the Tool Number stored in Common Variable #149 withing the Tool Change Program as follows:

O9000
#1 = #4003 (STORE CURRENT GROUP 3 G CODE)
G91 G28 Z0.0
G28 X0.0 Y0.0 (OPTIONAL - IF YOU WANT TO REFERENCE RETURN THE X/Y AXES)
M19
T#149 M06
G#1 (RESTORE GROUP 3 G CODE)
M99
%


Regards,

Bill
 
hello bill,
so my work on machine day is usually Friday's as we are closed and i can actually think in the quiet shop and this is where i have gotten so far on this thing!

this tool changer is a round one pointing horizontally to the left with a double arm for "random pot" tool changes so it puts what ever tool that was in the spindle back in the same pot as the last tool changed and it records it in the "system pmc, pmcprm,data" page and these numbers 99 to 124 record the tool position like
96=tool call#,
97= tool in spindle,
98= tool in standby mag pot,
99=standby mag pot number,
100=tool in spindle,
101= tool in mag position #1 all the way to
*
*
*
124=tool in pot #24.


so i got it to change tools and it is recording positions now but it will only change when it is at the second
Z zero position G28 or G30 and orient spindle. so i am thinking i need something like this to get the spindle ready.

O9001
G40 G80; (COMP OFF,CANNED CYCLE CANCEL)
G91 G28 OR G30 Z0. M9; (INCREMENTAL Z TOOL CHANGE POSITION,COOLANT OFF)
M91; (SPINDLE ORIENT)
M6; (TOOL CHANGE)
G90;(ABSOLUTE)
M99;(RETURN)
% (do i need one of these at the beginning?)


so i might not want the M6 in this program since when calling M6 in a production program triggers param#6071 to run this
"spindle ready program"? this is making me go around in circles.

Now i am having issues getting my O9001 program back into the machine, i have changed parameter #3202 bit4 NE9 to a 0 for
"not inhibited" but its not inputting my program as O9001 it keeps putting it in as O0001 what am i doing wrong, i obviously did not note this correctly when i did it before a very long time ago? do i need to have a % sign and the beginning and end? my note taking has much to be desired and i am working on that lol sorry for all the randomness i have here but this is all i have so far!

thank you for the help if i get this working ill send you a co. t shirt!
 
......
%
O9001
G40 G80; (COMP OFF,CANNED CYCLE CANCEL)
G91 G28 OR G30 Z0. M9; (INCREMENTAL Z TOOL CHANGE POSITION,COOLANT OFF)
M19; (SPINDLE ORIENT)
M6; (TOOL CHANGE)
G90;(ABSOLUTE)
M99;(RETURN)
% (do i need one of these at the beginning?)


so i might not want the M6 in this program since when calling M6 in a production program triggers param#6071 to run this
"spindle ready program"? this is making me go around in circles.......

Corrections ^ in red.

Even if you load the program and it registers as O0001, you can just alter it to O9001.

When the M6 is executed in the program and it calls the O9001 program because 6 is registered in parameter, the M6 inside the O9001 program will execute the PMC program for M6.
 
success! it is working after almost two years haha thank you guys for all the hand holding and i got it locked back up so no one can erase it again!

i am happy i got to get into the fanuc as we are getting a new machine with a newer fanuc control but as i grow with the repairs i know what to look for and what i need to read up on for maintenance and repairs also the right questions to ask.

now time to make some parts!
 








 
Back
Top