What's new
What's new

SurfCAM 2015 Post for Haas

MarshSt

Aluminum
Joined
Jan 17, 2002
Location
Black Diamond,WA,USA
I'm running SurfCAM 2015 and have a custom post for our Haas VF-7. Everything is working fine except that the Mpost codes G1 H1 M6 etc without the leading zero -- G01 H01 M06. The Haas control adds this zero when I punch out programs and I get file compare errors. Is this something I can change in the post?

Thanks,
Steve

name HAAS VF7 Z30/34

% 00
a 00
/ 00
O >4
N >4
G >2
t >4
g >2 G
d >2.>3
s 3
c >2.>3
X ->3.>4
Y ->3.>4
Z ->3.>4
I ->3.>4
J ->3.>4
K ->3.>4
Q ->3.>4
R ->3.>4
P >40
F >3.1
H >2
D >2
T >2
S >4
M >2
b 00
p 00
q 00
( 00
) 00

SBACKDOOR SupressHeader

ModalLetters X Y Z F R # List of letters that are modal

ModalGs 0 1 2 3 73 74 76 80 81 82 83 84 85 # List of g codes that are modal

Sequence#s N 0 1 1 # Char, freq, incr & start
First#? N # Y or N 'Output 1st sequence no.
Last#? N # Y or N 'Output last sequence no.

HCode X # X or X U 'Horizontal char.
VCode Y # Y or Y V 'Vertical char.
Dcode Z # Depth char.
FeedCode F # Feed rate char.

Comment ( ) # Begin End comment char.

Spindle 3 4 5 # Cw, ccw & stop m codes
Coolant 8 9 7 88 89 88 89 # Flood, Off, Mist and Thru Spindle M codes
DComp 41 42 40 # Left, Right & Cancel m codes
LComp 43 49 # On & Off codes

Feed G1 # Linear move
Rapid G0 # Rapid positioning word
ArcPlane G 17 18 19 # G17, G18, G17 Arc Plane selection
ReturnPlane 98 99 # G98 G99 Return Plane selection
Cw G2 # Circular move clockwise
Ccw G3 # Circular move counter clockwise

Inc/Abs G 91 90 # Inc & Abs char. & values

CtrCode I J K # I J or R or I J K L
Helical? Y

Spaces? Y # Y or N 'Spaces between words

Incremental? N # Y or N 'Inc or abs output
CtrIncremental? Y # Y or N 'Inc or abs I & J
ByQuadrants? N # Y or N 'Break arcs at quadrants

UppercaseComments? Y # Y or N 'Require uppercase comments

Drill # Drilling canned/manual cycle
G81 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel

CSink
G82 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate] P[Dwell]
end cancel

Peck # Pecking canned/manual cycle
G83 G[RetPlane] X[H] Y[V] Z[D] Q[VBite] R[Vclear] F[FRate]
end cancel

Tap # Tapping canned/manual cycle
G84 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[Frate]
end cancel

LTap # Left handed tapping cycle
G74 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel

Ream # Reaming canned/manual cycle
G85 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel

Bore # Boring canned/manual cycle
G86 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel

Back # Back boring canned/manual cycle
G87 G[RetPlane] X[H] Y[V] Z[D] R[Vclear] F[FRate]
end cancel

Cancel # Cancel a canned/manual cycle
G80
end

StartCode # Start of the program
%0
O[Program#]
G00 G49 G40 G154 G80 G90 G17
G00 G90 G53 Z4.4
M05
"M98 P9098 (LOAD OFFSET FILE)"
G00 G90 G53 X-36. Y0.
"(PART LOADING LOCATION)"
"M27 (Z34 SECONDARIES)"
"M00 (PRESS RESUME ON THE PLC)"
'('{CLPath}')'
M1
End

1stToolChange # First tool change
N[Block]

"G00 G90 G53 Z4.4 "
"G00 G90 G53 X-70. Y0."
"(SAFE TOOL CHANGE AND CHECK LOCATION)"
T[Tool] M6
if [Style] = 0 # If Type = Ballmill
t[Tool] d[ToolDiam] s[Style] )0 # Don't insert a corner rad
else
t[Tool] d[ToolDiam] s[Style] c[Corner] )0 # Otherwise insert a corner rad
endif
"G06 (CHECK TOOL OFFSET AND SET IF > 3.0 INCH)"
G0 G90 "G154" P[Work] X[H] Y[V]
G43 Z[D] H[Lcomp] M[Cool] T[NEXTTOOL]
Ask [Val1] 'Set Return Plane (98 or 99)' '98'
G[Val1]
M[Direct] S[Speed]
End

Infeed # Enable cutter comp
G[Side] X[H] Y[V] D[DComp] F[FRate]
end

Outfeed # Disable cutter comp
G1 G40 X[H] Y[V]
Z[D]
end

ToolChange
"G00 G90 G53 Z4.4 " # Secondary tool changes
G0 G49 G40 G154 G80 G90 G17 M9
M5
M1

"G00 G90 G53 X-70. Y0."
"(SAFE TOOL CHANGE AND CHECK LOCATION)"
"(TOOL BRAKEAGE CHECK MACRO LINE)"
"/ G65 P9023 A24. T#3026 H0.02"
T[Tool] M6
if [Style] = 0 # If Type = Ballmill
t[Tool] d[ToolDiam] s[Style] )0 # Don't insert a corner rad
else
t[Tool] d[ToolDiam] s[Style] c[Corner] )0 # Otherwise insert a corner rad
endif
"G06 (CHEECK TOOL OFFSET AND SET IF > 3.0 INCH)"
G0 G90 "G154" P[Work] X[H] Y[V]
G43 Z[D] H[Lcomp] M[Cool] T[NEXTTOOL]
Ask [Val1] 'Set Return Plane (98 or 99)' '98'
G[Val1]
S[Speed] M[Direct]
End

EndCode # End of the program
G49 M9 T29
"G00 G90 G53 Z4.4"
"G00 G90 G53 X-70. Y0."
"(SAFE TOOL CHANGE AND CHECK LOCATION)"
"T29M6(BLANK TOOL SPINDLE PLUG)"
"G00 G90 G53 Z4.4"
"G00 G90 G53 X-36. Y0. "
"M25(UNCLAMP AND RESET PLC)"
M30
%0
End

Replace "t" with "(Tool # "
Replace " d0" with ": " # Inhibits output of ": 0 Ball end mill"
Replace "d" with ": "
Replace "c0" with ""
Replace " )" with ")"
Replace "s000" with "Ball"
Replace "s001" with "Endmill"
Replace "s002" with "Bullnose with a corner radius of"
Replace "s003" with "Teardrop"
Replace "s004" with "Keyway"
Replace "s005" with "Shellmill"
Replace "s006" with "Tapered Bullnose"
Replace "s007" with "Tapered Endmill"
Replace "s008" with "Dovetail"
Replace "s009" with "Chamfer"
Replace "s010" with "Corner Round"
Replace "s100" with "Center Drill"
Replace "s101" with "Drill"
Replace "s102" with "Tap"
Replace "s103" with "Reamer"
Replace "s104" with "Bore"
Replace "s105" with "Custom1"
Replace "s106" with "Custom2"
Replace "s107" with "Custom3"
Replace "s108" with "Spot Drill"
Replace "s109" with "Countersink"
Replace "s110" with "Counterbore"
Replace "s805" with "STEP REDO MILLING"
Replace "s600" with "THREAD MILL"
 
Dang, do you use all that, or is it something left-over from another guy? Just curious about the toolchange position, return plane, etc. Better ways to do that than hard-coding it.

To answer your question, you'll want to adjust your letter formats in the very first section to get two digits.

One solution would be:
G 2
H 2
M 2
 
That did it. I had tried changing the number but not removing the symbol. Yes it is left over from a another guy. The mills only run a few dedicated parts and we rarely make changes so the extra code is not a problem.
Thanks for the help.
 








 
Back
Top