Can anyone provide me the P9810, P9811 & P9812 renishaw subroutines used for probing on HAAS VF4 to do the simulation of probing NC program in Vericut.
Thanks,
Sujay
Can anyone provide me the P9810, P9811 & P9812 renishaw subroutines used for probing on HAAS VF4 to do the simulation of probing NC program in Vericut.
Thanks,
Sujay
I copy/pasted those three programs below. Look between the percent signs.
Note that the programs are functionally identical between different revisions of the probe programs, so they can be interchanged regardless of the machine year.
%
O09810 (REN PROTECTED POSN)
G103 P1
#3001= 0
G04 P250
G04 P1
G04 P1
G04 P1
G04 P1
G04 P1
G04 P1
IF [ #3001 LT 200 ] GOTO999
G65 P9724
IF [ #9 NE #0 ] GOTO3
IF [ #167 NE #0 ] GOTO2
#3000= 88 (NO FEED RATE)
N2
#9= #167
N3
#167= #9
#198= 0
N4
G31 X#24 Y#25 Z#26 F#9
IF [ #24 EQ #0 ] GOTO5
IF [ ABS[ #5041 - [ #24 ] ] GT #173 ] GOTO8
N5
IF [ #25 EQ #0 ] GOTO6
IF [ ABS[ #5042 - [ #25 ] ] GT #173 ] GOTO8
N6
IF [ #26 EQ #0 ] GOTO7
IF [ ABS[ [ #5043 - #166 ] - [ #26 ] ] GT #173 ] GOTO8
N7
GOTO9
N8
#198= 7.
IF [ #13 EQ 1. ] GOTO9
#3000= 86 (PATH OBSTRUCTED)
N9
N999
G103
M99
%
%
O09811 (REN XYZ MEASURE)
G103 P1
#3001= 0
G04 P250
G04 P1
G04 P1
G04 P1
G04 P1
G04 P1
G04 P1
IF [ #3001 LT 200 ] GOTO999
G65 P9724
IF [ #19 EQ #0 ] GOTO1
IF [ #20 EQ #0 ] GOTO1
#3000= 91 (ST INPUT MIXED)
N1
IF [ #19 EQ #0 ] GOTO2
IF [ #11 EQ #0 ] GOTO2
#3000= 91 (SH INPUT MIXED)
N2
IF [ #20 EQ #0 ] GOTO3
IF [ #13 EQ #0 ] GOTO3
#3000= 91 (TM INPUT MIXED)
N3
#1= 185
WHILE [ #1 LE 199 ] DO1
#[ #1 ]= #0
#1= #1 + 1
END1
#10= #5041 (X START)
#12= #5042 (Y START)
G31 X [ #10 - #[ #161 + 2 ] ] Y [ #12 - #[ #161 + 3 ] ] F#169
IF [ ABS[ #5041 - [ #10 - #[ #161 + 2 ] ] ] GE #173 ] GOTO22
IF [ ABS[ #5042 - [ #12 - #[ #161 + 3 ] ] ] GE #173 ] GOTO22
#30= -1 (DIR FLAG)
IF [ #24 NE #0 ] GOTO5
IF [ #25 NE #0 ] GOTO7
(Z MOVE)
IF [ #26 EQ #0 ] GOTO225
#7= 5203
IF [ [ #5043 - #166 ] LT #26 ] GOTO4
#30= 1
N4
G65 P9726 Z#26 Q#17
IF [ #199 NE 0 ] GOTO21
#185= #10
#186= #12
#187= #176 - #166 (Z POS)
#188= #187
IF [ #8 EQ #0 ] GOTO45
#188= #188 + #[ 2000 + #8 ] (SIZE)
N45
#192= #187 - #26 (Z ERROR)
#193= #188 - #26 (SIZE ERROR)
#195= ABS[ #192 ] (T P ERR)
#196= #193 * #30 (METAL CON)
GOTO9
N5 (X MOVE)
IF [ #25 NE #0 ] GOTO225
IF [ #26 NE #0 ] GOTO225
#6= #[ #161 ]
#7= 5201
IF [ #5041 LT #24 ] GOTO6
#6= - #[ #161 ]
#30= 1
N6
G65 P9726 X#24 Q#17 S #[ #161 ]
IF [ #199 NE 0 ] GOTO21
#185= #174 + #6 + #[ #161 + 2 ] (COR SKIP POS)
#186= #12
#188= #185
IF [ #8 EQ #0 ] GOTO65
#188= #188 + #[ 2000 + #8 ] (ACT SIZE)
N65
#190= #185 - #24 (X ERROR)
#193= #188 - #24 (SIZE ERROR)
#195= ABS[ #190 ] (T P ERROR)
#196= #193 * #30 (METAL CON)
GOTO9
N7 (Y MOVE)
IF [ #26 NE #0 ] GOTO225
#6= #[ #161 + 1 ]
#7= 5202
IF [ #5042 LT #25 ] GOTO8
#6= - #[ #161 + 1 ]
#30= 1
N8
G65 P9726 Y#25 Q#17 S #[ #161 + 1 ]
IF [ #199 NE 0 ] GOTO21
#185= #10
#186= #175 + #6 + #[ #161 + 3 ] (Y SKIP POS)
#188= #186
IF [ #8 EQ #0 ] GOTO85
#188= #188 + #[ 2000 + #8 ] (ACT SIZE)
N85
#191= #186 - #25 (ERROR)
#193= #188 - #25 (SIZE ERROR)
#195= ABS[ #191 ] (TP ERROR)
#196= #193 * #30 (METAL CON)
N9
#197= #30
IF [ #23 EQ #0 ] GOTO10
G65 P9730 H#11 M#13 S#19 T#20 W#23 X#24 Y#25 Z#26
N10
IF [ #21 EQ #0 ] GOTO11 (U UPPER TOL)
IF [ ABS[ #193 ] GE #21 ] GOTO23
IF [ #195 GE #21 ] GOTO23
N11
IF [ #11 EQ #0 ] GOTO13
IF [ ABS[ #193 ] LT #11 ] GOTO12
#198= 1
N12
IF [ #170 AND 4 EQ 4 ] GOTO13
IF [ ABS[ #193 ] LT #11 ] GOTO13
G00 X#10 Y#12
#[ 3006 - [ [ #170 AND 8 ] / 8 * 6 ] ]= 1 (OUT OF TOL)
N13
IF [ #13 EQ #0 ] GOTO15
IF [ ABS[ #195 ] LT #13 / 2 ] GOTO14
#198= 2
N14
IF [ #170 AND 4 EQ 4 ] GOTO15
IF [ ABS[ #195 ] LT #13 / 2 ] GOTO15
G00 X#10 Y#12
#[ 3006 - [ [ #170 AND 8 ] / 8 * 6 ] ]= 1 (OUT OF POSITION)
N15
IF [ #20 EQ #0 ] GOTO19
IF [ ABS[ #196 ] LT #22 ] GOTO19 (NULL BAND)
IF [ #9 NE #0 ] GOTO16
#9= 1
N16
G65 P9732 T#20 C [ #196 * #9 ] Z#26
N19
IF [ #19 EQ #0 ] GOTO24
G65 P9732 S#19 Z#26 W1.
GOTO24
N21
IF [ #199 NE 2 ] GOTO22
G00 X#10 Y#12 (return to start)
#3000= 93 (PROBE FAIL)
N22
G00 X#10 Y#12
#3000= 92 (PROBE OPEN)
N225
G00 X#10 Y#12
#3000= 91 (XYZ INPUT MIXED)
N23
#198= 3
IF [ #170 AND 4 EQ 4 ] GOTO24
G00 X#10 Y#12
#[ 3006 - [ [ #170 AND 8 ] / 8 * 6 ] ]= 1 (UPPER TOL EXCEEDED)
N24
G00 X#10 Y#12
N999
G103
M99
%
%
O09812 (REN WEB POCKET MEASURE)
G103 P1
#3001= 0
G04 P250
G04 P1
G04 P1
G04 P1
G04 P1
G04 P1
G04 P1
IF [ #3001 LT 200 ] GOTO999
G65 P9724
N1
IF [ #24 EQ #0 ] GOTO2
IF [ #25 EQ #0 ] GOTO2
#3000= 91 (XY INPUT MIXED)
N2
IF [ #24 NE #0 ] GOTO3
IF [ #25 NE #0 ] GOTO3
#3000= 91 (XY INPUT MISSING)
N3
#1= 185
WHILE [ #1 LE 199 ] DO1
#[ #1 ]= #0
#1= #1 + 1
END1
#10= #5041 (X START)
#12= #5042 (Y START)
G31 X [ #10 - #[ #161 + 2 ] ] Y [ #12 - #[ #161 + 3 ] ] F#169
IF [ ABS[ #5041 - [ #10 - #[ #161 + 2 ] ] ] GE #173 ] GOTO22
IF [ ABS[ #5042 - [ #12 - #[ #161 + 3 ] ] ] GE #173 ] GOTO22
#30= -1
IF [ #26 EQ #0 ] GOTO6
IF [ #18 NE #0 ] GOTO5
#18= 5 * #179
N5
IF [ #18 LT 0 ] GOTO6
#30= 1
N6
IF [ #25 EQ #0 ] GOTO7
#7= #25
G65 P9722 D#7 Q#17 R#18 Z#26 S #[ #161 + 1 ]
G00 X#10 Y#12
IF [ #199 NE 0 ] GOTO21
#186= #178 + #[ #161 + 3 ] (Y COR POS)
#188= [ ABS[ [ #175 - #178 ] * 2 ] ] - [ #[ #161 + 1 ] * #30 * 2 ] (SIZE)
IF [ #8 EQ #0 ] GOTO65
#188= #188 + #[ 2000 + #8 ] (COR SIZE)
N65
#191= #186 - #12 (Y POS ERROR)
#195= ABS[ #191 ] (TP ERROR)
GOTO8
N7
#7= #24
G65 P9721 D#7 Q#17 R#18 Z#26 S #[ #161 ] (X MOVE)
G00 X#10 Y#12
IF [ #199 NE 0 ] GOTO21
#185= #177 + #[ #161 + 2 ] (X COR POS)
#188= [ ABS[ [ #174 - #177 ] * 2 ] ] - [ #[ #161 ] * #30 * 2 ] (SIZE)
IF [ #8 EQ #0 ] GOTO75
#188= #188 + #[ 2000 + #8 ] (COR SIZE)
N75
#190= #185 - #10 (X POS ERROR)
#195= ABS[ #190 ] (TP ERROR)
N8
#193= #188 - #7 (ERROR OF SIZE)
#196= #193 * #30 / 2 (METAL CON)
N9
IF [ #23 EQ #0 ] GOTO10
G65 P9730 D#7 H#11 M#13 S#19 T#20 W#23 X#10 Y#12 E2.
N10
IF [ #21 EQ #0 ] GOTO11
IF [ ABS[ #193 ] GE #21 ] GOTO23
IF [ #195 GE #21 ] GOTO23
N11
IF [ #11 EQ #0 ] GOTO13
IF [ ABS[ #193 ] LT #11 ] GOTO12
#198= 1
N12
IF [ #170 AND 4 EQ 4 ] GOTO13
IF [ ABS[ #193 ] LT #11 ] GOTO13
G00 X#10 Y#12
#[ 3006 - [ [ #170 AND 8 ] / 8 * 6 ] ]= 1 (OUT OF TOL)
N13
IF [ #13 EQ #0 ] GOTO15
IF [ ABS[ #195 ] LT #13 / 2 ] GOTO14
#198= 2
N14
IF [ #170 AND 4 EQ 4 ] GOTO15
IF [ ABS[ #195 ] LT #13 / 2 ] GOTO15
G00 X#10 Y#12
#[ 3006 - [ [ #170 AND 8 ] / 8 * 6 ] ]= 1 (OUT OF POSITION)
N15
IF [ #20 EQ #0 ] GOTO19
IF [ ABS[ #196 ] LT #22 ] GOTO19
IF [ #9 NE #0 ] GOTO16
#9= 1
N16
G65 P9732 T#20 C [ #196 * #9 ]
IF [ #26 NE #0 ] GOTO19
IF [ #168 LT #7 / 2 ] GOTO18
#198= 5
N18
IF [ #170 AND 4 EQ 4 ] GOTO19
IF [ #168 LT #7 / 2 ] GOTO19
G00 X#10 Y#12
#[ 3006 - [ [ #170 AND 8 ] / 8 * 6 ] ]= 1 (DIA OFFSET TOO LARGE)
N19
IF [ #19 EQ #0 ] GOTO24
G65 P9732 S#19 W1.
GOTO24
N21
IF [ #199 NE 2 ] GOTO22
G00 X#10 Y#12
#3000= 93 (PROBE FAIL)
N22
G00 X#10 Y#12
#3000= 92 (PROBE OPEN)
N23
#198= 3
IF [ #170 AND 4 EQ 4 ] GOTO24
G00 X#10 Y#12
#[ 3006 - [ [ #170 AND 8 ] / 8 * 6 ] ]= 1 (UPPER TOL EXCEEDED)
N24
G00 X#10 Y#12
N999
G103
M99
%
Thanks for your help!!
Hi,
Can you also provide me the below subroutines,
P9726
P9721
P9722
P9732
P9724
P9730
Thanks,
Sujay
I'll upload a .zip file that contains all the programs. Just select which version you need.
If you can't open the .zip file, download the program 7-ZIP, it's the best