0% found this document useful (0 votes)
154 views20 pages

Basic Cycles 40120519

The document contains G-code for calibrating a probe length. It initializes variables, calls subprograms for probing and measurement, calculates the difference between the measured and target Z positions, and stores the offset value. If probing fails, it returns an error code. The program flow includes initializing parameters, probing the part, checking for errors, and saving the calibrated offset value.

Uploaded by

Pulkit Sethi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
154 views20 pages

Basic Cycles 40120519

The document contains G-code for calibrating a probe length. It initializes variables, calls subprograms for probing and measurement, calculates the difference between the measured and target Z positions, and stores the offset value. If probing fails, it returns an error code. The program flow includes initializing parameters, probing the part, checking for errors, and saving the calibrated offset value.

Uploaded by

Pulkit Sethi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

%

O9721(REN X DIAM)
(40120519.0EB)
M98P9723
#1=#5041
#2=#5043-#116
IF[#26EQ#0]GOTO15
#30=#500
IF[#18GT0]GOTO1
#30=-#500
N1
#32=#7/2+#30+#18
G31X[#1-#32]F#119
IF[ABS[#5061-[#1-#32]]GE#123]GOTO3
G31Z#26F[#119*.6]
IF[ABS[#5063-#116-[#26]]GE#123]GOTO3
N15
G65P9726X[#1-#7/2]Q#17S#19
G0Z#2
X#1
IF[#149NE0]GOTO4
#127=#124
IF[#26EQ#0]GOTO2
G31X[#1+#32]F#119
IF[ABS[#5061-[#1+#32]]GE#123]GOTO3
G31Z#26F[#119*.6]
IF[ABS[#5063-#116-[#26]]GE#123]GOTO3
N2
G65P9726X[#1+#7/2]Q#17S#19
G0Z#2
IF[#149NE0]GOTO4
#127=[#127+#124]/2
GOTO4
N3
#149=1
N4
G0Z#2
G0X#1
M99
O9722(REN Y DIAM)
M98P9723
#1=#5042
#2=#5043-#116
IF[#26EQ#0]GOTO15
#30=#501

IF[#18GT0]GOTO1
#30=-#501
N1
#32=#7/2+#30+#18
G31Y[#1-#32]F#119
IF[ABS[#5062-[#1-#32]]GE#123]GOTO3
G31Z#26F[#119*.6]
IF[ABS[#5063-#116-[#26]]GE#123]GOTO3
N15
G65P9726Y[#1-#7/2]Q#17S#19
G0Z#2
Y#1
IF[#149NE0]GOTO4
#128=#125
IF[#26EQ#0]GOTO2
G31Y[#1+#32]F#119
IF[ABS[#5062-[#1+#32]]GE#123]GOTO3
G31Z#26F[#119*.6]
IF[ABS[#5063-#116-[#26]]GE#123]GOTO3
N2
G65P9726Y[#1+#7/2]Q#17S#19
G0Z#2
IF[#149NE0]GOTO4
#128=[#128+#125]/2
GOTO4
N3
#149=1
N4
G0Z#2
G0Y#1
M99
O9723(REN ACT OFFSET)
#27=2000 (L GEOM 10000)
#28=2200 (L WEAR 11000)
#116=#[#27+#4111]
IF[#120AND3EQ1]GOTO1
#116=#[#27+#4111]+#[#28+#4111]
N1
M99
O9724(SETTINGS)
#120=1(SELECT OPTIONS)
M98P9723
G90G80G40
IF[#4008NE49]GOTO1

#3000=89(NO TOOL LENGTH ACTIVE)


N1
IF[#4006EQ20]GOTO4
IF[#4006EQ70]GOTO4
#123=.05(INPOS ZONE MM)
#129=1
#119=5000(FAST FEED MM)
GOTO5
N4
#123=.002(INPOS ZONE INCH)
#129=.04
#119=200(FAST FEED INCH)
N5
IF[#506LE0]GOTO6
IF[#506GT1]GOTO6
GOTO7
N6
#506=.5
N7
M99
O9726(REN BASIC MEASURE -2T)
IF[#17NE#0]GOTO1
#17=5*#129
N1
IF[#7EQ#0]GOTO2
(* A D INPUT XY PLANE ONLY)
#24=#5041+[[#7/2]*COS[#1]]
#25=#5042+[[#7/2]*SIN[#1]]
#26=#5043-#116
N2
#31=8*#506*#129(* BACK OFF)
#149=0
#1=#5041
IF[#24NE#0]GOTO3
#24=#1
N3
#2=#5042
IF[#25NE#0]GOTO4
#25=#2
N4
#3=#5043-#116
IF[#26NE#0]GOTO5
#26=#3
N5
(* CALC NRML DIR VEC)

#11=#24-#1
#12=#25-#2
#13=#26-#3
#10=SQRT[[#11*#11]+[#12*#12]+[#13*#13]]
IF[#10EQ0]GOTO6(* NO MOVE)
#11=#11/#10
#12=#12/#10
#13=#13/#10
(*CALC TARGET POS.)
#14=#24+[#17*#11]
#15=#25+[#17*#12]
#16=#26+[#17*#13]
#3004=2
G31X#14Y#15Z#16F[#119*0.6]
(* P.FAIL)
#4=#5061-#14
#5=#5062-#15
#6=#5063-#116-#16
#29=SQRT[[#4*#4]+[#5*#5]+[#6*#6]]
IF[#29LT#123]GOTO7(* P F)
(* P.OPEN)
#4=#5061-#1
#5=#5062-#2
#6=#5063-#116-#3
#29=SQRT[[#4*#4]+[#5*#5]+[#6*#6]]
IF[#29LT#123]GOTO6(* P O)
(* CALC BACK OFF POS.)
#21=#5061-[#31*#11]
#22=#5062-[#31*#12]
#23=#5063-#116-[#31*#13]
G09G01X#21Y#22Z#23F#119(* BACK OFF)
G04P300(DWELL MP700)
G31X#14Y#15Z#16F[30*#129](* MEASURE)
#3004=0
G01X#1Y#2Z#3F#119
(* P F CHCK)
#4=#5061-#14
#5=#5062-#15
#6=#5063-#116-#16
#29=SQRT[[#4*#4]+[#5*#5]+[#6*#6]]
IF[#29LT#123]GOTO7(* P F)
(* P O CHCK)
#4=#5061-#21
#5=#5062-#22
#6=#5063-#116-#23
#29=SQRT[[#4*#4]+[#5*#5]+[#6*#6]]

IF[#29LT#123]GOTO6(* P O)
#149=0(* NRML MEAS)
#124=#5061
#125=#5062
#126=#5063
IF[#29GT#123]GOTO8
N6
#149=1
#124=#1
#125=#2
#126=#3
GOTO8
N7
#149=2
#124=#14
#125=#15
#126=#16
N8
G01X#1Y#2Z#3F#119
M99
O9727(REN VECTOR OD-ID)
M98P9723
#3=#5043-#116
#5=#5041
#6=#5042
IF[#18NE#0]GOTO1
#18=5*#129
N1
#29=#7
IF[#26EQ#0]GOTO2
#19=-#501
IF[#18LT0]GOTO15
#19=#501
N15
#30=#5+[[[#7/2]+#19+#18]*COS[#1]]
#31=#6+[[[#7/2]+#19+#18]*SIN[#1]]
G31X#30Y#31F#119
IF[ABS[#5061-#30]GT#123]GOTO3
IF[ABS[#5062-#31]GT#123]GOTO3
G31Z[#26]F[#119*.6]
IF[ABS[#5063-#116-#26]GT#123]GOTO3
#29=ABS[#18*2]
IF[#18LT0]GOTO2
#1=#1+180
N2

G65P9726A#1Q#17D#29S#19
GOTO4
N3
#149=1
N4
G1Z#3F#119
G1X#5Y#6
M99
O9731(REN #509 LOAD/ATAN)
IF[#24NE#0]GOTO6
#2=30(ANG INC)
#3=ROUND[#1/#2](ANG NO)
#4=0(COUNT)
#5=0
N1
IF[#5EQ1]GOTO2
#509=#500
#5=1
GOTO3
N2
#509=#501
#5=0
N3
IF[#4GT12]GOTO4
IF[ABS[#3]EQ#4]GOTO10
#4=#4+3
GOTO1
N4(V ANGS)
IF[#3LT0]GOTO5
#509=#[509+#3-[FIX[#3/3]*1]]
GOTO10
N5
#509=#[509+12+#3-[FIX[[12+#3]/3]*1]]
GOTO10
N6(ATAN)
#24=[ROUND[#24*10000]]/10000
#25=[ROUND[#25*10000]]/10000
IF[#24NE0]GOTO7
#118=90
IF[#25GE0]GOTO10
#118=-90
GOTO10
N7
IF[#25NE0]GOTO8
#118=0

IF[#24GE0]GOTO10
#118=180
GOTO10
N8
#118=ATAN[ABS[#25]/ABS[#24]]/[1]
IF[#24GE0]GOTO9
#118=180-#118
N9
IF[#25GE0]GOTO10
#118=-#118
N10
M99
O9732(REN*OFFSET*TYPE)
#27=2000(L*WEAR*10000)
#28=2200(L*G-W**11000)
#29=2600(R*WEAR*12000)
#30=2400(R*GEOM*13000)
IF[#23EQ1]GOTO11
IF[#120AND8NE8]GOTO6
(1)
N1(FS6*TYPE*OFFSET)
IF[#120AND3EQ3]GOTO4
IF[#120AND3EQ2]GOTO3
N2(TOOL*OFFSET*A)
#[#27+#20]=#[#27+#20]-#3(GEOM-WEAR)
#118=#[#27+#20]
GOTO30
N3(TOOL*OFFSET*B)
#[#27+#20]=#[#27+#20]-#3(WEAR)
#118=#[#27+#20]+#[#28+#20]
GOTO30
N4(TOOL*OFFSET*C)
IF[#26EQ#0]GOTO5
#[#27+#20]=#[#27+#20]-#3(LENGTH-WEAR)
GOTO30
N5
#[12000+#20]=#[12000+#20]-#3(RAD-WEAR)
#118=#[12000+#20]+#[13000+#20]
GOTO30
N6(FS9*TYPE*OFFSET)
IF[#120AND3EQ3]GOTO9
IF[#120AND3EQ2]GOTO8
N7(TOOL*OFFSET*A)
#[#27+#20]=#[#27+#20]-#3(GEOM-WEAR)
#118=#[#27+#20]

GOTO30
N8(TOOL*OFFSET*B)
#[#28+#20]=#[#28+#20]-#3(WEAR)
#118=#[#28+#20]+#[#27+#20]
GOTO30
N9(TOOL*OFFSET*C)
IF[#26EQ#0]GOTO10
#[#28+#20]=#[#28+#20]-#3(LENGTH-WEAR)
GOTO30
N10
#[#29+#20]=#[#29+#20]-#3(RAD-WEAR)
#118=#[#29+#20]+#[#30+#20]
GOTO30
(1)
N11(W*OFFSETS)
IF[#19EQ#0]GOTO30
IF[#120AND8NE8]GOTO17
(FS6)
#4=#5021-#5041-#2500
#5=#5022-#5042-#2600
#6=#5023-#5043-#2700
IF[#19GT100]GOTO23
IF[#19NE0]GOTO14
(EXTL)
IF[#140EQ#0]GOTO12
#2500=#2500+#140
N12
IF[#141EQ#0]GOTO13
#2600=#2600+#141
N13
IF[#26EQ#0]GOTO30
IF[#142EQ#0]GOTO30
#2700=#2700+#142
GOTO30
N14(W*OFF)
IF[#140EQ#0]GOTO15
#[2500+#19]=#4+#140
N15
IF[#141EQ#0]GOTO16
#[2600+#19]=#5+#141
N16
IF[#26EQ#0]GOTO30
IF[#142EQ#0]GOTO30
#[2700+#19]=#6+#142
GOTO30
N17

(FS9)
#4=#5021-#5041-#5201
#5=#5022-#5042-#5202
#6=#5023-#5043-#5203
IF[#19GT100]GOTO23
IF[#19NE0]GOTO20
(EXTL)
IF[#140EQ#0]GOTO18
#5201=#5201+#140
N18
IF[#141EQ#0]GOTO19
#5202=#5202+#141
N19
IF[#26EQ#0]GOTO30
IF[#142EQ#0]GOTO30
#5203=#5203+#142
GOTO30
N20
(W*OFF)
IF[#140EQ#0]GOTO21
#[5201+[#19*20]]=#4+#140
N21
IF[#141EQ#0]GOTO22
#[5202+[#19*20]]=#5+#141
N22
IF[#26EQ#0]GOTO30
IF[#142EQ#0]GOTO30
#[5203+[#19*20]]=#6+#142
GOTO30
N23
(ADDITIONAL*OFFSETS)
#30=#19-101
#32=7000
IF[#30LE47]GOTO235
#32=14000
N235
IF[#140EQ#0]GOTO24
#[#32+1+[#30*20]]=#4+#140
N24
IF[#141EQ#0]GOTO25
#[#32+2+[#30*20]]=#5+#141
N25
IF[#26EQ#0]GOTO30
IF[#142EQ#0]GOTO30
#[#32+3+[#30*20]]=#6+#142
N30

M99
O9801(REN CAL PROBE LENGTH)
G65P9724
IF[#20NE#0]GOTO1
#3000=91(T INPUT MISSING)
N1
IF[#26NE#0]GOTO2
#3000=91(Z INPUT MISSING)
N2
#1=135
WHILE[#1LE149]DO1
#[#1]=#0
#1=#1+1
END1
#10=#5043-#116
G65P9726Z#26Q#17
IF[#149NE0]GOTO3
#3=#126-#116-#26
#[2000+#20]=#[2000+#20]+#3
GOTO5
N3
G0Z#10
IF[#149EQ2]GOTO4
#3000=92(PROBE OPEN)
N4
#3000=93(PROBE FAIL)
N5
M99
O9802(REN CAL XY OFFSET)
G65P9724
IF[#7NE#0]GOTO1
#3000=91(D INPUT MISSING)
N1
#1=135
WHILE[#1LE149]DO1
#[#1]=#0
#1=#1+1
END1
#10=#5041
#12=#5042
IF[#26EQ#0]GOTO2
IF[#18NE#0]GOTO2
#18=5*#129
N2

G65P9721D#7Q#17R#18Z#26S#500
IF[#149NE0]GOTO3
G0X#127
#502=#10-#127
G65P9722D#7Q#17R#18Z#26S#501
IF[#149NE0]GOTO3
#503=#12-#128
GOTO5
N3
G0X#10Y#12
IF[#149EQ2]GOTO4
#3000=92(PROBE OPEN)
N4
#3000=93(PROBE FAIL)
N5
G0X#10Y#12
M99
O9803(REN CAL STYLUS RAD)
G65P9724
IF[#7NE#0]GOTO1
#3000=91(D INPUT MISSING)
N1
#1=135
WHILE[#1LE149]DO1
#[#1]=#0
#1=#1+1
END1
#10=#5041
#12=#5042
IF[#26EQ#0]GOTO2
IF[#18NE#0]GOTO2
#18=5*#129
N2
G65P9721D#7Q#17R#18Z#26S#500
IF[#149NE0]GOTO4
G0X#127
G65P9722D#7Q#17R#18Z#26S#501
IF[#149NE0]GOTO4
G0Y#128
G65P9721D#7Q#17R#18Z#26S#500
IF[#149NE0]GOTO4
#500=ABS[#7/2-ABS[#124-#127]]
G65P9722D#7Q#17R#18Z#26S#501
IF[#149NE0]GOTO4
#501=ABS[#7/2-ABS[#125-#128]]

#140=#127+#502-#10
#141=#128+#503-#12
IF[#19EQ#0]GOTO7
G65P9732S#19W1.0
GOTO7
N4
G0X#10Y#12
IF[#149EQ2]GOTO5
#3000=92(PROBE OPEN)
N5
#3000=93(PROBE FAIL)
N7
G0X#10Y#12
M99
O9810(REN PROTECTED POSN)
G65P9724
IF[#9NE#0]GOTO3
IF[#117NE#0]GOTO2
#3000=88(NO FEED RATE)
N2
#9=#117
N3
#117=#9
#148=0
N4
G31X#24Y#25Z#26F#9
IF[#24EQ#0]GOTO5
IF[ABS[#5041-[#24]]GT#123]GOTO8
N5
IF[#25EQ#0]GOTO6
IF[ABS[#5042-[#25]]GT#123]GOTO8
N6
IF[#26EQ#0]GOTO7
IF[ABS[[#5043-#116]-[#26]]GT#123]GOTO8
N7
GOTO9
N8
#148=7.
IF[#13EQ1.]GOTO9
#3000=86(PATH OBSTRUCTED)
N9
M99
O9811(REN XYZ MEASURE)
G65P9724

IF[#19EQ#0]GOTO1
IF[#20EQ#0]GOTO1
#3000=91(ST INPUT MIXED)
N1
IF[#19EQ#0]GOTO2
IF[#11EQ#0]GOTO2
#3000=91(SH INPUT MIXED)
N2
IF[#20EQ#0]GOTO3
IF[#13EQ#0]GOTO3
#3000=91(TM INPUT MIXED)
N3
#1=135
WHILE[#1LE149]DO1
#[#1]=#0
#1=#1+1
END1
#10=#5041(X START)
#12=#5042(Y START)
G31X[#10-#502]Y[#12-#503]F#119
IF[ABS[#5061-[#10-#502]]GE#123]GOTO22
IF[ABS[#5062-[#12-#503]]GE#123]GOTO22
#30=-1(DIR FLAG)
IF[#24NE#0]GOTO5
IF[#25NE#0]GOTO7
(Z MOVE)
IF[#26EQ#0]GOTO225
#7=5203
IF[[#5043-#116]LT#26]GOTO4
#30=1
N4
G65P9726Z#26Q#17
IF[#149NE0]GOTO21
#135=#10
#136=#12
#137=#126-#116(Z POS)
#138=#137
IF[#8EQ#0]GOTO45
#138=#138+#[2000+#8](SIZE)
N45
#142=#137-#26(Z ERROR)
#143=#138-#26(SIZE ERROR)
#145=ABS[#142](T P ERR)
#146=#143*#30(METAL CON)
GOTO9
N5(X MOVE)

IF[#25NE#0]GOTO225
IF[#26NE#0]GOTO225
#6=#500
#7=5201
IF[#5041LT#24]GOTO6
#6=-#500
#30=1
N6
G65P9726X#24Q#17S#500
IF[#149NE0]GOTO21
#135=#124+#6+#502(COR SKIP POS)
#136=#12
#138=#135
IF[#8EQ#0]GOTO65
#138=#138+#[2000+#8](ACT SIZE)
N65
#140=#135-#24(X ERROR)
#143=#138-#24(SIZE ERROR)
#145=ABS[#140](T P ERROR)
#146=#143*#30(METAL CON)
GOTO9
N7(Y MOVE)
IF[#26NE#0]GOTO225
#6=#501
#7=5202
IF[#5042LT#25]GOTO8
#6=-#501
#30=1
N8
G65P9726Y#25Q#17S#501
IF[#149NE0]GOTO21
#135=#10
#136=#125+#6+#503(Y SKIP POS)
#138=#136
IF[#8EQ#0]GOTO85
#138=#138+#[2000+#8](ACT SIZE)
N85
#141=#136-#25(ERROR)
#143=#138-#25(SIZE ERROR)
#145=ABS[#141](TP ERROR)
#146=#143*#30(METAL CON)
N9
#147=#30
IF[#23EQ#0]GOTO10
G65P9730H#11M#13S#19T#20W#23X#24Y#25Z#26
N10

IF[#21EQ#0]GOTO11(U UPPER TOL)


IF[ABS[#143]GE#21]GOTO23
IF[#145GE#21]GOTO23
N11
IF[#11EQ#0]GOTO13
IF[ABS[#143]LT#11]GOTO12
#148=1
N12
IF[#120AND4EQ4]GOTO13
IF[ABS[#143]LT#11]GOTO13
G0X#10Y#12
#[3006-[[#120AND8]/8*6]]=1(OUT OF TOL)
N13
IF[#13EQ#0]GOTO15
IF[ABS[#145]LT[#13/2]]GOTO14
#148=2
N14
IF[#120AND4EQ4]GOTO15
IF[ABS[#145]LT[#13/2]]GOTO15
G0X#10Y#12
#[3006-[[#120AND8]/8*6]]=1(OUT OF POSITION)
N15
IF[#20EQ#0]GOTO19
IF[ABS[#146]LT#22]GOTO19(NULL BAND)
IF[#9NE#0]GOTO16
#9=1
N16
G65P9732T#20C[#146*#9]Z#26
N19
IF[#19EQ#0]GOTO24
G65P9732S#19Z#26W1.0
GOTO24
N21
IF[#149NE2]GOTO22
G0X#10Y#12
#3000=93(PROBE FAIL)
N22
G0X#10Y#12
#3000=92(PROBE OPEN)
N225
G0X#10Y#12
#3000=91(XYZ INPUT MIXED)
N23
#148=3
IF[#120AND4EQ4]GOTO24
G0X#10Y#12

#[3006-[[#120AND8]/8*6]]=1(UPPER TOL EXCEEDED)


N24
G0X#10Y#12
M99
O9812(REN WEB POCKET MEASURE)
G65P9724
N1
IF[#24EQ#0]GOTO2
IF[#25EQ#0]GOTO2
#3000=91(XY INPUT MIXED)
N2
IF[#24NE#0]GOTO3
IF[#25NE#0]GOTO3
#3000=91(XY INPUT MISSING)
N3
#1=135
WHILE[#1LE149]DO1
#[#1]=#0
#1=#1+1
END1
#10=#5041(X START)
#12=#5042(Y START)
G31X[#10-#502]Y[#12-#503]F#119
IF[ABS[#5061-[#10-#502]]GE#123]GOTO22
IF[ABS[#5062-[#12-#503]]GE#123]GOTO22
#30=-1
IF[#26EQ#0]GOTO6
IF[#18NE#0]GOTO5
#18=5*#129
N5
IF[#18LT0]GOTO6
#30=1
N6
IF[#25EQ#0]GOTO7
#7=#25
G65P9722D#7Q#17R#18Z#26S#501
G0X#10Y#12
IF[#149NE0]GOTO21
#136=#128+#503(Y COR POS)
#138=[ABS[[#125-#128]*2]]-[#501*#30*2](SIZE)
IF[#8EQ#0]GOTO65
#138=#138+#[2000+#8](COR SIZE)
N65
#141=#136-#12(Y POS ERROR)
#145=ABS[#141](TP ERROR)

GOTO8
N7
#7=#24
G65P9721D#7Q#17R#18Z#26S#500(X MOVE)
G0X#10Y#12
IF[#149NE0]GOTO21
#135=#127+#502(X COR POS)
#138=[ABS[[#124-#127]*2]]-[#500*#30*2](SIZE)
IF[#8EQ#0]GOTO75
#138=#138+#[2000+#8](COR SIZE)
N75
#140=#135-#10(X POS ERROR)
#145=ABS[#140](TP ERROR)
N8
#143=#138-#7(ERROR OF SIZE)
#146=#143*#30/2(METAL CON)
N9
IF[#23EQ#0]GOTO10
G65P9730D#7H#11M#13S#19T#20W#23X#10Y#12E2.0
N10
IF[#21EQ#0]GOTO11
IF[ABS[#143]GE#21]GOTO23
IF[#145GE#21]GOTO23
N11
IF[#11EQ#0]GOTO13
IF[ABS[#143]LT#11]GOTO12
#148=1
N12
IF[#120AND4EQ4]GOTO13
IF[ABS[#143]LT#11]GOTO13
G0X#10Y#12
#[3006-[[#120AND8]/8*6]]=1(OUT OF TOL)
N13
IF[#13EQ#0]GOTO15
IF[ABS[#145]LT[#13/2]]GOTO14
#148=2
N14
IF[#120AND4EQ4]GOTO15
IF[ABS[#145]LT[#13/2]]GOTO15
G0X#10Y#12
#[3006-[[#120AND8]/8*6]]=1(OUT OF POSITION)
N15
IF[#20EQ#0]GOTO19
IF[ABS[#146]LT#22]GOTO19
IF[#9NE#0]GOTO16
#9=1

N16
G65P9732T#20C[#146*#9]
IF[#26NE#0]GOTO19
IF[#118LT[#7/2]]GOTO18
#148=5
N18
IF[#120AND4EQ4]GOTO19
IF[#118LT[#7/2]]GOTO19
G0X#10Y#12
#[3006-[[#120AND8]/8*6]]=1(DIA OFFSET TOO LARGE)
N19
IF[#19EQ#0]GOTO24
G65P9732S#19W1.0
GOTO24
N21
IF[#149NE2]GOTO22
G0X#10Y#12
#3000=93(PROBE FAIL)
N22
G0X#10Y#12
#3000=92(PROBE OPEN)
N23
#148=3
IF[#120AND4EQ4]GOTO24
G0X#10Y#12
#[3006-[[#120AND8]/8*6]]=1(UPPER TOL EXCEEDED)
N24
G0X#10Y#12
M99
O9814(REN BORE BOSS MEASURE)
G65P9724
N1
IF[#7NE#0]GOTO2
#3000=91(D INPUT MISSING)
N2
#1=135
WHILE[#1LE149]DO1
#[#1]=#0
#1=#1+1
END1
#10=#5041(X START)
#12=#5042(Y START)
#30=-1
IF[#26EQ#0]GOTO6
IF[#18NE#0]GOTO5

#18=5*#129
N5
IF[#18LT0]GOTO6
#30=1
N6
G65P9722D#7Q#17R#18Z#26S#501(Y MOVE)
IF[#149NE0]GOTO21
G0Y#128
G65P9721D#7Q#17R#18Z#26S#500(X MOVE)
G0Y#12
IF[#149NE0]GOTO21
#135=#127+#502(X COR POS)
#136=#128+#503(Y COR POS)
#138=[ABS[[#124-#127]*2]]-[#500*#30*2](SIZE)
IF[#8EQ#0]GOTO7
#138=#138+#[2000+#8](COR SIZE)
N7
#140=#135-#10(X POS ERROR)
#141=#136-#12(Y POS ERROR)
#143=#138-#7(ERROR OF SIZE)
#145=SQRT[[#140*#140]+[#141*#141]](TP ERROR)
#146=#143*#30/2(METAL CON)
N9
IF[#23EQ#0]GOTO10
G65P9730D#7H#11M#13S#19T#20W#23X#10Y#12E2.0
N10
IF[#21EQ#0]GOTO11
IF[ABS[#143]GE#21]GOTO23
IF[#145GE#21]GOTO23
N11
IF[#11EQ#0]GOTO13
IF[ABS[#143]LT#11]GOTO12
#148=1
N12
IF[#120AND4EQ4]GOTO13
IF[ABS[#143]LT#11]GOTO13
#[3006-[[#120AND8]/8*6]]=1(OUT OF TOL)
N13
IF[#13EQ#0]GOTO15
IF[ABS[#145]LT[#13/2]]GOTO14
#148=2
N14
IF[#120AND4EQ4]GOTO15
IF[ABS[#145]LT[#13/2]]GOTO15
#[3006-[[#120AND8]/8*6]]=1(OUT OF POSITION)
N15

IF[#20EQ#0]GOTO19
IF[ABS[#146]LT#22]GOTO19
IF[#9NE#0]GOTO16
#9=1
N16
G65P9732T#20C[#146*#9]
IF[#26NE#0]GOTO19
IF[#118LT[#7/2]]GOTO18
#148=5
N18
IF[#120AND4EQ4]GOTO19
IF[#118LT[#7/2]]GOTO19
#[3006-[[#120AND8]/8*6]]=1(DIA OFFSET TOO LARGE)
N19
IF[#19EQ#0]GOTO24
G65P9732S#19W1.0
GOTO24
N21
IF[#149NE2]GOTO22
#3000=93(PROBE FAIL)
N22
#3000=92(PROBE OPEN)
N23
#148=3
IF[#120AND4EQ4]GOTO24
#[3006-[[#120AND8]/8*6]]=1(UPPER TOL EXCEEDED)
N24
G0X#10Y#12
M99
%

You might also like