%_N_L9000_SPF
;$PATH=/_N_SPF_DIR
;40120322.00
; RENISHAW CLEAR
STOPRE
R0=9999
R1=R0 R2=R0 R3=R0
STOPRE
M17

%_N_L9001_SPF
;$PATH=/_N_SPF_DIR
;40140322.00
; HS BROKEN TOOL NC2
DEF REAL RENL[16]
;------------------------------------------
RENL[1]=0  ; EDIT X AXIS BEAM POSITION
RENL[2]=0  ; EDIT Y AXIS BEAM POSITION
RENL[3]=0  ; EDIT Z AXIS BEAM POSITION
RENL[4]=0  ; EDIT PROBE OR I/0 INPUT
RENL[5]=0  ; EDIT*M*CODE*BROKEN TOOL
RENL[6]=0  ; EDIT*M*CODE*CANCEL BROKEN TOOL
;------------------------------------------
R0=0    ; SETS FLAG TO ZERO
RENL[7]=$P_TOOLNO
IF $P_TOOL == 0 GOTOF LN8;ERROR
RENL[14]=$P_TOOL
IF R1 <> 9999 GOTOF LN1
R1=0.5
LN1:
RENL[8]=$TC_DP3[TRUNC(RENL[7]),RENL[14]]+$TC_DP12[TRUNC(RENL[7]),RENL[14]]
IF R2 <> 9999 GOTOF LN2
G0 SUPA Z=(0-RENL[8]) ;AXIS ZERO RETURN
GOTOF LN4
LN2:
STOPRE
RENL[9]=$AA_IM[Z]-$AA_IW[Z]-RENL[8]+R2;
RENL[10]=RENL[3]+12.
RENL[12]=RENL[10]-RENL[9]
STOPRE
IF RENL[10] < RENL[9] GOTOF LN3
R2=R2+RENL[12]
LN3:
G0 Z=R2
LN4:
M=RENL[5]; DISABLE LATCH
G0 SUPA X=RENL[1] Y=RENL[2]
STOPRE
G0 SUPA Z=(RENL[3]+0.5)
G1 SUPA Z=(RENL[3]-R1)F1000
M=RENL[6]
G4F.3
IF $A_PROBE[ABS(RENL[4])]==0 GOTOF LN7
M=RENL[6]
G1 SUPA Z=(RENL[3]+12.0) F5000
STOPRE
IF $A_PROBE[ABS(RENL[4])]==1 GOTOF LN9
M=RENL[6]
IF R2 <> 9999 GOTOF LN5
G0 SUPA Z=(0-RENL[8]) ;AXIS ZERO RETURN
GOTOF LN6
LN5:
G0 Z=R2
LN6:
GOTOF LN10
LN7:
M=RENL[6]
G0 SUPA Z=(0-RENL[8]) ;AXIS ZERO RETURN
M5
R0=1
IF R3 <> 9999 GOTOF LN10
MSG("BROKEN TOOL")
M00
LN8:
M5
MSG("NO D EDGE ACTIVE")
M00
LN9:
M5
MSG("PROBE NOT WORKING")
M00
LN10:
M17

