Testing Cutting Tool Life
The first step in replacing dull tools is recognizing when a tool is dull. If you’re leaving this judgment solely to your operators, it’s likely that you are experiencing some inconsistencies in the replacement of dull tools.
Determining tool life can be difficult, but if operators can do this themselves, or if they can be told this information, you can eliminate inconsistency. To help with this, I offer a custom macro that monitors the amount of time or number of parts a cutting tool machines before it gets dull. When it is judged that the tool is dull, the value of a permanent common variable will display the tool’s life. With long-running jobs, it will probably be easier for operators to monitor the number of parts, but with shorter-running jobs (when cutting tools are used from job to job), it may be more important to monitor machining time.
A command similar to this one will be placed at the end of the program for each cutting tool that you want to monitor.
N455 G65 P1001 V501.0 T0.5
The letter address V specifies the permanent common variable number in which total time or number of workpieces is stored. In our example command, the value of letter address V is specifying permanent common variable #501. The letter address T specifies the amount of time in minutes that the cutting tool is machining during each workpiece. In our example command (T0.5), the T word specifies 30 seconds. Note that if T is set to one (T1.0), the value in the permanent common variable will be the number of workpieces.
Here is the custom macro:
#[#22] = #[#22] + #20 (Accumulator)
We suggest making the permanent common variable number correspond to the tool station number. Make #501, for example, display data for tool station number one, make #502 display data for tool number two, and so on.
Prior to using this custom macro, the operator must manually set the value of the permanent common variable to zero (0). This is done by placing the mode switch to MDI, calling up the permanent common variable display screen page, positioning the cursor to the desired variable, typing zero and pressing the input key.
Once this is done, the operator can run workpieces with a new cutting tool until the tool gets dull. He or she can see the accumulated time in minutes or number of parts by looking up the permanent common variable. When the tool is dull, this permanent common variable will show the cutting tool’s total life.
Again, this custom macro determines cutting tool life so operators can more consistently determine when to replace dull tools. This data can also be used by a tool life monitoring system.
A simple tool life management system can be created using custom macro. Say that tool station number one in a job lasts approximately 200 parts, tool number six lasts 250 parts and tool station nine lasts for 150 parts. These commands can be included at the end of your program.
N450 G65 P1002 V501.0 S1.0 C200.0
N455 G65 P1002 V506.0 S6.0 C250.0
N455 G65 P1002 V509.0 S6.0 C150.0
The letter address V specifies the counting permanent common variable number. The S word specifies the tool station number of the cutting tool. Our custom macro works with as many as 10 tools, but it can be modified for more tools. Prior to using this custom macro for the first time, the related permanent common variables must be set to zero. Here is the custom macro.
O1002 (Tool life custom macro)
#[#22] = #[#22] + 1 (Step counter)
IF [#[#22] LT #3] GOTO 99
#[#22] =0 (Reset counter)
IF [#19 EQ 1.0] GOTO 1
IF [#19 EQ 2.0] GOTO 2
IF [#19 EQ 3.0] GOTO 3
IF [#19 EQ 4.0] GOTO 4
IF [#19 EQ 5.0] GOTO 5
IF [#19 EQ 6.0] GOTO 6
IF [#19 EQ 7.0] GOTO 7
IF [#19 EQ 8.0] GOTO 8
IF [#19 EQ 9.0] GOTO 9
IF [#19 EQ 10.0] GOTO 10
#3000 = 100 (BAD S WORD IN CALL)
N1 #3000 = 101 (REPLACE TOOL 1)
N2 #3000 = 102 (REPLACE TOOL 2)
N3 #3000 = 103 (REPLACE TOOL 3)
N4 #3000 = 104 (REPLACE TOOL 4)
N5 #3000 = 105 (REPLACE TOOL 5)
N6 #3000 = 106 (REPLACE TOOL 6)
N7 #3000 = 107 (REPLACE TOOL 7)
N8 #3000 = 108 (REPLACE TOOL 8)
N9 #3000 = 109 (REPLACE TOOL 9)
N10 #3000 = 110 (REPLACE TOOL 10)