Saturday, April 11, 2015

FANUC tool life management macro


Anyone who has tried and used FANUC tool life management quickly learns it is not very useful. If you plan on purchasing a machine tool that has FANUC controls and have big plans for tool life management you had best purchase all the options available and look into adding on 3rd party software to get any applicable use out of the system. I wish I had known this prior to purchase. It will just not work. FANUC tool life management is set up for a high production shop running multiple similar parts. It has no use in a job shop environment with limited repeat production
 If your not running production, then why even worry about tool life management you ask? Set up time in this type of manufacturing setting becomes a greater factor in productivity and uptime thus is more of a target to add value to the customer.
The use of a lead tool for set up purposes is a great time saver during set up. In this tool arrangement only one tool is touched off on the part for length and all other tools are set in relationship to the lead tool. It does not matter whether you have 20, 30 or 100 tools in the ATC and whether or not you have a tool group of 4 of the same tools to be alternated with TLM (Tool Life Management). Teaching the machine the Z length is done with one simple operation: the lead tool.   
Tool life management offers another means to save time during the set up process but FANUC falls short the following ways:
1. FANUC only manages' the use of a tool in a program. Not the number of times it is used in a program.
2. Cannot reuse a tool and count it continuously in one single program. If the tool is put back and then called again the count will reset.
3. Special programming codes will have to be learned by the operators because the tool data is set programmatically.
5. If you now use a T word for tool offsetting, a new tool offset system will have to be implemented because tool life tools use D and H instead of a T word. This is confusing for operators and requires training.

IMPLEMENTATION:
1. Existing programs will have minimal changes.
2. Tools are set and reset automatically.
3. The messages tell you which tool to change.
4. No special programs to run.
5. The offset system remains the same.
With this simple implementation the number of tools you can manage is limited by the availability of common variables within your machine controls.
This simple program does not implement groups. This is more complicated and beyond the scope of this article.
Example life settings for four milling tools using common variables for count data. There is a better way but again, it is beyond this scope and this article it is intended as a informational article to learn macros.
Set the following common variables to the tool numbers you wish to manage.
Max tool count for T0808 = #517 (SET MAX COUNT FOR .660 CARBIDE DRILL)
Max tool count for T0909 = #518 (SET MAX COUNT FOR 3/4-10 TAP)
Max tool count for T1212 = #519 (SET MAX COUNT FOR .778 DRILL)
Max tool count for T1441 = #520 (SET MAX COUNT FOR 1-8 DRILL)
Actual tool count for T0808 = #521 (ACTUAL COUNT TO8O8 .660)
Actual tool count for T0909 = #522 (ACTUAL COUNT T0909 3/4-10)
Actual tool count for T1212 = #523 (ACTUAL COUNT T1212 .778)
Actual tool count for T1414 = #524 (ACTUAL COUNT T1414 1-8)
After setting these addresses for tool counts, set these common variables to read only by setting parameter 6031 to 6032 to protect #517 TO #520.
MACRO PROGRAM:
09050 (MACRO COUNTER)
IF[#4111 = 08] GOTO 11
IF[#4111 = 09] GOTO 22
IF[#4111 = 12] GOTO 33
IF[#4111 = 14] GOTO 44
#3006 = 5 (WRONG TOOL IN SPINDLE - NO COUNT)
M99
 
(TOOL 0808)
N11 IF [#517] LE [#521] GOTO 100 (JUMP IF MAXIMUM USEAGE HAS BEEN REACHED)
[#521]=#[521]+1 (ADD COUNT TO TOOL 08)
M99
N100 #3006=1 (REPLACE.660 CARBIDE DRILL TIP)
[#521]=0 (RESET COUNTER FOR DRILL)
M99 
 
(TOOL 0909)
N22 IF [#518] LE [#522] GOTO 200 (JUMP IF MAXIMUM USEAGE HAS BEEN REACHED)
[#522]=#[522]+1 (ADD COUNT TO TOOL 09)
M99
N200 #3006=2 (LOAD A NEW EMUGE 3/4-10 TAP)
[#522]=0 (RESET COUNTER FOR TAP)
M99 


(TOOL 1212)
N33 IF [#519] LE [#523] GOTO 300 (JUMP IF MAXIMUM USEAGE HAS BEEN REACHED)
[#523]=#[523]+1 (ADD COUNT TO TOLL 1212)
M99
N300 #3006=3 (REPLACE.778 CARBIDE DRILL TIP)
[#523]=0 (RESET COUNTER FOR CURRENT TOOL)
M99

(TOOL 1414)
N44 IF [#520] LE [#524] GOTO 400 (JUMP IF MAXIMUM USEAGE HAS BEEN REACHED)
[#524]=#[524]+1 (ADD COUNT TO TOOL 1414)
M99
N400 #3006=4 (LOAD A NEW EMUGE 1-8 TAP)
[#524]=0 (RESET COUNTER FOR CURRENT TOOL)
M99

#3006 = 7 (ERROR: NO TOOL SELECTED)
M99

IN PROGRAM EXAMPLE:
O6010 
...
G0 Z0.5
G83 G98 X100.5 C0.0 Z1.75 R1.0 F2.5 (DRILL CYCLE)
G66 P09050 (CALL THE MODAL MACRO THAT MANAGES COUNT)
C90.0
C180.0
C270.0
G67 (CANCEL MODAL MACRO CALL)
G80
B0
M01
M30

7 comments:

  1. Really very informative and creative contents. This concept is a good way to enhance the knowledge.
    thanks for sharing. please keep it up.
    CNC Macro Programming training in gurgaon

    ReplyDelete
  2. Cm turning machine tool monitoring

    ReplyDelete
  3. Is there a parameter that simply turns the whole tool life management system off?

    ReplyDelete
  4. Thanks for sharing this quality information with us. I really enjoyed reading. Will surely going to share this URL with my friends. read

    ReplyDelete
  5. Hi,

    May i know it is possible to set "times"/ "mins" instead of hit count? Hit count data is not reliable when compare to time.

    ReplyDelete
  6. Please send me vmc machine tool monitoring program

    ReplyDelete