Fast Tool Break Detect Cycle - Haas Renishaw Toolsetter

Implement at your own risk. Program is in Metric mode (G21) % O08000 (Haas Tool Breakage Sub - MM); (2023/11/16 KS); (Updated 2025/7/28 JER); G21; (G65 pass through Inputs); (H=#11=Check Tolerance) (No T value passed through - we use current tool in spindle and its h value) (--- Check if H was passed, else assign default tolerance ---) IF [#11 EQ #0] THEN #11 = 0.1 (Validate that Check Tolerance is within Reasonable Range) IF [#11 LT 0.01] GOTO 999 IF [#11 GT 0.5] GOTO 999 (User Inputs); #1=#11 (Pull Out Check Tolerance); #2=#11 (Breakage Check Tolerance); #3=.75 (X Shift From Tool Setter Centerline); #4=.75 (Y Shift From Tool Setter Centerline); #5=98. (Extended Work Offset for Tool Setter Location); (End User inputs); G10 L20 P#5 G90 X#10585 Y#10586 Z#10582 (Set Work Offset for Tool Setter); G0 G53 Z0. (Send Spindle Home); G0 G90 G154 P98 X#3 Y#4 (Position Over Tool Setter XY); G65 P9855 (Turn On Tool Setter); G43 H#3026 Z5. (Activate Tool Offset In Spindle - Position For Rough Tool Pullout Detection); M96 P10 Q17 (Alarm if Skip Signal Found - Pull Out); GOTO100 (Go To N100 Alarm); N10; G1 Z#1 F3800. (Position For Fine Tool Pullout Detection); M96 P20 Q17 (Alarm if Skip Signal Found - Pull Out); GOTO100 (Go To N100 Alarm); N20; G1 Z-#2 F3800. (Position For Tool Breakage Detection); M96 P200 Q17 (Alarm if Skip Signal Not Found - Breakage); G0 G53 Z0. (Send Spindle Home); G65 P9856 (Turn Off Tool Setter); G43 H#3026 (Activate Tool Offset In Spindle); M99 (Return to Main Program); N100; #3000=100 (Tool Has Pulled Out); N200; #3000=200 (Tool Has Broken); N999; #3000 = 999 (H value out of range: must be between 0.01 and 0.5); M30; %