I am using a Haas 2009 vf3 mill with a DS30-SSY
I'm having an issues where the macro argument reads past the Z level argument to end last z move. It will not move the next line of code, and continues to go back to the N100 line. This code is embedded in a sub call. I have written many helical milling macros much like the one below all on Fanuc based machines and had no issues. On a HAAS is there conflict with using M98 P#### calls being it may want to loop back with the look ahead?
%
O7001(HELICAL MILL+CBORE)
#640= 0.927 (PIN HOLE SIZE)
#641= -1.36 (COMPRESSION DISTANCE VALUE)
#642= 3.917 (PISTON MAJOR O.D. VALUE)
#643= 2.865 (LOCK RING DISTANCE)
#644= 0.073 (LOCK RING TOOL WIDTH)
#645= 1.007 (LOCK RING DIAMETER)
#646= 1.250 (PIN BOSS SPACING)
#647= 2.75 (PIN LENGTH)
#648= 3.130 (OUTSIDE PIN BOSS)
N778
#630= [ [ #642 / 2 ] + 0.1 ] (Z CLEARANCE PLANE)
#631= [ #642 / 2 ] (Z INITIAL CUT)
#632= [ [ #643 / 2 ] - #644 ] (1RST LOCK RING Z VALUE)
#633= [ #643 / 2 ] (2ND LOCK RING Z VALUE)
#634= [ [ #645 - #638 ] / 2 ] (LOCK RING DIA. VALUE)
#635= [ [ #643 / 2 ] + 0.09 ] (Z VALUE FOR CONTOUR BORES)
#636= [ [ COS[ 45 ] ] * [ #640 / 2 ] ] (LOCATION FOR THE REMOVAL NOTCH)
#637= [ [ #643 / 2 ] - 0.0937 ] (Z VALUE FOR NOTCH TOOL)
(#638-DIAMETER ARGUMENT FOR LOCKRING DIAMETERS)
#604=[[#648-#647]/2]]
#606=#640-#605
#607=#606/2
#611=[#604+.05]
N1000
X#601Y#602
G1Z#630F25.0
N100
G1Y#607 D23 F50.0
G2J-#607 Z#631
#631=[#631-.03]
IF[#631GE#604]GOTO100
G1Y#602
G00Z#630
IF[#651EQ0]GOTO2100
N2000
X#601Y#602
G1Z#630F25.0
N200
G1Y[#607-.005] D23 F50.0
G2J-[#607-.005] Z#635
#631=[#631-.03]
IF[#631GE#635]GOTO200
G1Y#602
G00Z#630
N2100
M99
%
I'm having an issues where the macro argument reads past the Z level argument to end last z move. It will not move the next line of code, and continues to go back to the N100 line. This code is embedded in a sub call. I have written many helical milling macros much like the one below all on Fanuc based machines and had no issues. On a HAAS is there conflict with using M98 P#### calls being it may want to loop back with the look ahead?
%
O7001(HELICAL MILL+CBORE)
#640= 0.927 (PIN HOLE SIZE)
#641= -1.36 (COMPRESSION DISTANCE VALUE)
#642= 3.917 (PISTON MAJOR O.D. VALUE)
#643= 2.865 (LOCK RING DISTANCE)
#644= 0.073 (LOCK RING TOOL WIDTH)
#645= 1.007 (LOCK RING DIAMETER)
#646= 1.250 (PIN BOSS SPACING)
#647= 2.75 (PIN LENGTH)
#648= 3.130 (OUTSIDE PIN BOSS)
N778
#630= [ [ #642 / 2 ] + 0.1 ] (Z CLEARANCE PLANE)
#631= [ #642 / 2 ] (Z INITIAL CUT)
#632= [ [ #643 / 2 ] - #644 ] (1RST LOCK RING Z VALUE)
#633= [ #643 / 2 ] (2ND LOCK RING Z VALUE)
#634= [ [ #645 - #638 ] / 2 ] (LOCK RING DIA. VALUE)
#635= [ [ #643 / 2 ] + 0.09 ] (Z VALUE FOR CONTOUR BORES)
#636= [ [ COS[ 45 ] ] * [ #640 / 2 ] ] (LOCATION FOR THE REMOVAL NOTCH)
#637= [ [ #643 / 2 ] - 0.0937 ] (Z VALUE FOR NOTCH TOOL)
(#638-DIAMETER ARGUMENT FOR LOCKRING DIAMETERS)
#604=[[#648-#647]/2]]
#606=#640-#605
#607=#606/2
#611=[#604+.05]
N1000
X#601Y#602
G1Z#630F25.0
N100
G1Y#607 D23 F50.0
G2J-#607 Z#631
#631=[#631-.03]
IF[#631GE#604]GOTO100
G1Y#602
G00Z#630
IF[#651EQ0]GOTO2100
N2000
X#601Y#602
G1Z#630F25.0
N200
G1Y[#607-.005] D23 F50.0
G2J-[#607-.005] Z#635
#631=[#631-.03]
IF[#631GE#635]GOTO200
G1Y#602
G00Z#630
N2100
M99
%