What's new
What's new

Fanuc 3m Tool changer programs/subprograms

camaro_dan67

Cast Iron
Joined
Dec 4, 2009
Location
N.E. Pa.
I have been getting my mill back up and running from a mainboard problem. In the process of doing this I had to clear all the memory out of the machine. The control is the Fanuc 3m-c on a kiwa excel center. I'm not sure if it used sub programs to change tools or if it did it some other way. The tool changer has dedicated pockets. I can command an M19 and the spindle will orient but no other tool change functions work. The control has individual tool changer functions that normally can be commanded from the control panel but none of these work either. I contacted Kiwa and because of the age of the machine they weren't sure what to do either. Not sure what to do with this next. It would probably be best to find someone with the same machine but they are hard to find. Anyone have any ideas how to go about getting this working again? Thanks Dan
 
I found several codes in my Kiwa machine manual. I wanted to post them to see if anyone else thought they might be able to be made into a sub program for an automatic tool change. The manual lists m codes 0 to 99. It says:

M16 tool taking off from spindle.
M26 tool insertion into spindle.
M36 2nd atc arm go-ahead.
M46 2nd atc arm go-astern.

Could I make my own subprogram by sending the head home then simply putting these codes on their own line in the correct order? The only thing I'm not sure of is what in the subprogram will make the carousel change to the correct tool?
 
The control gives a p/s 071 alarm which is program is not registered or found in the control.
I found in the other manual that parameter 12 bit 4 looks like it hides or makes programs 9000 to 9999 not viewable or editable so I might try changing this bit to see if any programs are in the control. If there is any in there they most likely won't be correct for my machine since this motherboard is from another machine. I did however change all the chips on the board that were in sockets. I'm not sure which chips hold the programs in these controls.
 
The control gives a p/s 071 alarm which is program is not registered or found in the control.
I found in the other manual that parameter 12 bit 4 looks like it hides or makes programs 9000 to 9999 not viewable or editable so I might try changing this bit to see if any programs are in the control. If there is any in there they most likely won't be correct for my machine since this motherboard is from another machine. I did however change all the chips on the board that were in sockets. I'm not sure which chips hold the programs in these controls.

Hello Dan,
The fact that you're getting a p/s071 alarm, means that the program doesn't exist, so I wouldn't worry to much about looking for it.

In your first Post, you state that the Tool Changer has dedicated pockets. Do you mean by this, that Tools can only go back into the pockets from whence they came, ie. the next tool can't be called to the ready position and Tool Holders placed back into random pockets? A picture of the Tool Changer will help.

Do you get the p/s071 alarm when a "T" code alone is executed, or when M06 is executed. This is rather important to know, as it gives some clue as to the program number of the Tool Change Program before it was lost. If the error is raised when a "T" code is executed, then the program number will have been O9000. A Macro Program called by a "T" code is facilitated by setting parameter bit "TCS" to "1".

If the alarm is raised when M06 is executed, it means that the Tool Change Program was called by first registering the numeral "6" in a parameter that corresponds to a particular 9000 series program number. I won't have access to a FS3M manual until early in the New Year, but if you have the Fanuc Operators Manual at hand, you can look up the parameter numbers that are used for this purpose. Once you have the parameter numbers, look at the corresponding parameters of your machine for the registration of the number six. The Tool Change Program Numbers will correspond to the parameter number where the numeral 6 is registered.

Right now, when you attempt a Tool Change, the control looks for a Program Number that has been allocated to the parameter that has the numeral "6" registered, or program number O9000 in the case of the "TCS" bit being set. When it can't be found, the p/s071 alarm is raised.

Whether you can create a Tool Change Macro using the "M" code you listed is pure speculation. Some Tool Change Programs do no more than move the axes to a tool change position and in this case, all of the work is carried out by the PMC. Others rely on quite a bit of work being done by the Tool Change Program, in that the state of events and proximity switches are monitored within the Tool Change Program.

If its a case where most/all work is carried out by the PMC, it could well be that by simply Homing the Z axis and having the X/Y position of the spindle in a safe area, that executing M06 will bring about a tool change. The issue you have in testing that, is that it seems M06 is set to call a Tool Change Program which doesn't exist. Accordingly, you need to find the Program Number being called by M06 as explained earlier. Find that out and come back with your finding.

Regards,

Bill
 
Bill,
My machine can only take a tool from and put it back into the same pocket it came from.
I tried a few things this morning. I commanded something like T6 in mdi no alarm came up. I looked on the diagnostic page #117. The number 6 in binary was displayed.
Also #114 bit 3 changed when a T# was commanded.
I tried just commanding an M06 it tried to orient the spindle but didn't complete it.
I tried an M19 and it oriented the spindle correctly.
I also changed the bit thats supposed to let me view and edit the 9000 series programs and didn't find anything.
You mentioned finding the program number an M06 is calling and I'm not sure how to do that I looked through my maintenance and operators manuals and didn't find anything yet. I will keep looking maybe I just didn't find it yet. I also have manuals from Kiwa but I don't think they have things like that in them. What book were you referencing that you couldn't get to until the new year? Also how can I get a pic of the tool changer in my reply? Dan
 
Bill,
My machine can only take a tool from and put it back into the same pocket it came from.
I tried a few things this morning. I commanded something like T6 in mdi no alarm came up. I looked on the diagnostic page #117. The number 6 in binary was displayed.
Also #114 bit 3 changed when a T# was commanded.
I tried just commanding an M06 it tried to orient the spindle but didn't complete it.
I tried an M19 and it oriented the spindle correctly.
I also changed the bit thats supposed to let me view and edit the 9000 series programs and didn't find anything.
You mentioned finding the program number an M06 is calling and I'm not sure how to do that I looked through my maintenance and operators manuals and didn't find anything yet. I will keep looking maybe I just didn't find it yet. I also have manuals from Kiwa but I don't think they have things like that in them. What book were you referencing that you couldn't get to until the new year? Also how can I get a pic of the tool changer in my reply? Dan

Hello Dan,
Commanding M06 via MDI may not get you the same result with regards to the p/s071 alarm. Try executing a Program that just contains M06 and M30 to see if M06 is the command raising the alarm.

Because you were getting a p/s071 alarm, I didn't expect that you would find any 9000 series programs.

If its M06 raising the alarm, the number 6 will be registered in a parameter that is associated with a particular 9000 series Program Number. This is a general parameter and not a diagnostic parameter.

In the Fanuc Operator's Manual there should be a chapter on User Macro Programming and in that chapter, there will be discussion on calling Macro and Subprograms via G, M and T codes; this is where you will find a listing of the parameters used. For example, for an FS16 control onward, registering "6" in parameter 6080 will call program O9020 up as a Macro Program. Likewise, registering "6" in parameter 6071 will call O9001 up as a Subprogram. I know these parameters and others off the top of my head, but not the corresponding parameters for a FS3 control, as I deal with that control less frequently.

Regards,

Bill
 
I looked in the Fanuc operators manual it didn't say much about the T function. It kept saying refer to the machine builders specifications for the T functions.
I tried a short program.

O8020
G91 G28 Z0.
G80 G40
M19
M6T13
G90
M30
%

With this code the head returns to Z0, the spindle orients and I hear one of my pneumatic solenoids fire for a split second then it shuts off and the machine goes into feed hold. My tool changer is completely pneumatic so it seems like its trying to do something.
 
Reading the posts in this thread I can make one suggestion if you end up having to write your own "macro" to get the tool changer to function: And that is to add a G4 dwell block between each command. A second would be more than adequate if this helps.
 
I did try a G04 P100 after the M06 and it didn't seem to do anything. Maybe like you said it needs to be between each command thats doing a tool change function. Don't most machines have an individual command for each function of a cycle like that? Things such as:
1. Send the carousel right to engage the tool.
2. Unclamp the tool.
3. Move the carousel down.
4. Rotate the carousel to the correct tool.
5. Move the carousel up.
6. Clamp the tool.
7. Send the carousel left.
My machine has switches at each end of these functions. And the whole changer is operated by pneumatic solenoids. So wouldn't it fire the solenoid then wait for the electric signal saying the operation is complete? My Kiwa manual has some M codes that look kinda like these but they dont do anything in mdi or in a program.
 
I did try a G04 P100 after the M06 and it didn't seem to do anything. Maybe like you said it needs to be between each command thats doing a tool change function. Don't most machines have an individual command for each function of a cycle like that? Things such as:
1. Send the carousel right to engage the tool.
2. Unclamp the tool.
3. Move the carousel down.
4. Rotate the carousel to the correct tool.
5. Move the carousel up.
6. Clamp the tool.
7. Send the carousel left.
My machine has switches at each end of these functions. And the whole changer is operated by pneumatic solenoids. So wouldn't it fire the solenoid then wait for the electric signal saying the operation is complete? My Kiwa manual has some M codes that look kinda like these but they dont do anything in mdi or in a program.

Those individual commands may be reserved for maintenance or recovery operations. They may also be used within a macro. It’s all up to how the machine builder has written their ladder logic. Since they do not work and M6 does not work, that is often a sign that some logic condition for safe toolchange operation is not met and the commands are locked out.
 
Since the system is pneumatic you can likely manually activate the solenoid valves. Have you done any of that to see if any of the motions work? When you commanded M6 and heard a solenoid click have you traced out which solenoid clicked to try to determine why no acton results.
 
I looked in the Fanuc operators manual it didn't say much about the T function. It kept saying refer to the machine builders specifications for the T functions.
I tried a short program.

O8020
G91 G28 Z0.
G80 G40
M19
M6T13
G90
M30
%

With this code the head returns to Z0, the spindle orients and I hear one of my pneumatic solenoids fire for a split second then it shuts off and the machine goes into feed hold. My tool changer is completely pneumatic so it seems like its trying to do something.

Hello Dan,
Are you no longer getting the p/s071 alarm? If not, what's changed? It's a bit confusing when in an earlier Post you stated that a p/s071 alarm was being raised and now you're saying that "I hear one of my pneumatic solenoids fire for a split second then it shuts off and the machine goes into feed hold".

Before the Motherboard issue, when the Tool Changer was working correctly, was M06 used in your Main Program to execute a Tool Change, or just a "T" Code. Was M6 T_ _, as shown in your program example, the typical Tool Change Syntax when the machine was working properly, or was it T_ _ M06?

With a Carousal type Tool Change system a separate "T" Code and M06 are not required, as with a Tool Change system where the next tool can be brought into the Tool Change Ready position. There are many examples of machines using a Carousal type Tool Change system where just a "T" code is used to call a Tool Change Macro.

In the case of a "T" code to call a Tool Change Porgram, the TCS parameter bit is set to "1" (whatever parameter number that is for the FS3M control) and the Tool Number is automatically passed as an argument to the Tool Change Program via Common Variable #149. Because the Tool Change Macro is being called by a "T" code, M06 in the called program is treated like a normal "M" Code.


Regards,

Bill
 
I'm not getting that alarm anymore. The only thing I can think of that's different is I'm now running a 08020 program from machine memory and I changed that parameter to display the hidden programs. The only thing strange about that is the manual says the hidden program numbers are O9000 to 09999
 
I'm not getting that alarm anymore. The only thing I can think of that's different is I'm now running a 08020 program from machine memory and I changed that parameter to display the hidden programs. The only thing strange about that is the manual says the hidden program numbers are O9000 to 09999

Well those changes are highly unlikely to take away a p/s071 alarm condition. Was M6 T_ _ the Tool Change Syntax used before you started to have issues, or was it T_ _ M6? That order could have an affect on whether a p/s071 alarm is raised. If T_ _ M6 was your Syntax before and now you using M6 T_ _, the M6 will be treated as a normal M code and is processed and fails before it get to execute the "T" code, due to no "T" code being specified. If T_ _ M6 was the Syntax and that gives a p/s071 alarm, it means that the TCS parameter bit is set to "1" and program O9000 doesn't exist.

What is strange about that? Are there any O9000 to O9999 visible when you change the parameter to display the programs in that range? If they have been deleted, or lost during your work with the Main Board, you will see no programs displayed, as they don't exist.


Regards,

Bill
 
Bill, I will try changing the order of the M and T codes to see what the result is.
I changed that parameter and tried a O and arrow down and didn't see anything so I don't think there were any programs present.
Here is the email from Kiwa.

Blocks for ATC should be something like the following:

G91G30Z0;

M19;

T_;

M06;



(Before you run above, please check it one by one.)



We are not sure about macro programs for these machines any longer, but it should be like:

G91G30Z0;

M19;

M06;



and to be numbered O9000s, and you may have to assign “6” (for M6) to some parameter.



We are sorry but above is all we can say.



Best regards,



Taizo Ito,

Kiwa Machinery Co., Ltd
 
I tried switching the M06 and the T number it didnt make a difference. I tried different programs in the 9000s. I entered a program in 9000 and a sub in 9010. I could change program numbers of just about every one I tried but 9010. I entered something in that originally and tried to change it but it wouldn't let me view it again. This control is weird.
 
I tried switching the M06 and the T number it didnt make a difference. I tried different programs in the 9000s. I entered a program in 9000 and a sub in 9010. I could change program numbers of just about every one I tried but 9010. I entered something in that originally and tried to change it but it wouldn't let me view it again. This control is weird.

Hello Dan,
In most cases, controls are made seem weird due to something whoever is working on it has done.

Using the O9000 Series Programs as a Tool Change Program called by "M06" code only works if you register "6" in the parameter that corresponds to the program number being used.

The email from Taizo Ito would indicate that ALL of the Tool Change work is being done by the PMC and the Tool Change Program is only to save repeating code for Tool Change in your part program.

I note that he is suggesting using G91 G30 Z0. G30 is to return the axis to an operator set Reference Return Position (known as 2nd Reference Return). Its also used as a fudge method of aligning the Spindle Height so that the Tool Changer Tool Gripper aligns with the Tool Change Groove of the Tool Holder. The better method is to adjust the Grid Position for Machine Reference Return. If you use G30, you must first see if any values have been set in parameter for a 2nd Reference Return Position.

When I asked about the Syntax of your Tool Change command, I didn't mean that you should change it, but have it the same as when it worked before the mother board issue. If a Tool Change Program was being used before, the order of the M06 and T code would have helped in determine if the Tool Change Program was being called via a "T" of "M" Code.

If Taizo Ito is correct with the code he suggest, then you testing can be carried out without having a Tool Change Program called by either "T" or "M" Code. Simply create a program with the following code:

%
O0001
G91 G28 Z0.0
M19
T_ _
M06
M30
%

Where:
_ _ = Tool Number

Execute the above program in Single Block so that you can see the M19 and T command start and finish before going on to the M06. The only obvious problem you may a have is if "6" is registered in a parameter to call a Macro, or Sub Program. If this is the case, the M06 will attempt to call a program that does not exist in the program. You really need to determine if "6" is registered or not. However, as you now say that the control no longer raises a p/s071 alarm, it would seem not.

To be sure that the registration of "6" in a Macro Call parameter, following is a work around for testing.


Create the following program:
%
O0001
T_ _
M98 P1000
M30
%

Where:
_ _ = Tool Number

Then the following Subprogram to be called by the above program:

%
O1000
G91 G28 Z0.0
M19
M06
M99
%

Calling program O1000 as a Subprogram will force M06 to be treated as a normal "M" code, irrespective of whether "6" has been registered so as to call a Tool Change Program with M06.

Regards,

Bill
 
Hello Dan,
One important thing you should describe to the Forum about the action of the Carousal Tool Changer of your machine, does the Carousal move Up and Down to insert and remove the Tool Holder to and from the Spindle, or does the Z axis of the machine move Up and Down with the Tool Changer staying fixed in the Z axis.

Regards,

Bill
 
I need to use G30 on my Kiwa Excel Center. G28 is a slightly different position and will not permit the tool changer to operate.

All of the tool changer logic on my mill is in the ladder logic, I have the manuals if you need to reference but they may be different as I have the 10M control.
 








 
Back
Top