What's new
What's new

Fadal probing macros

Ianagos

Stainless
Joined
Sep 23, 2014
Location
Atlanta
So I have very little experience with macro programming but I now own 4 fadals and I’m looking to instal a probing system on my newer machine a 2001 4020. As of right now I don’t have anything setup but I wrote a basic macro program to essentially find the center of a rectangle and set the z height all at once. I basically used the manual to write this but can anybody look over it and see if I’m on the right track or if this is all wrong?
Just another note I do run format 2 exclusively as well as I use negative tool offsets and positive z fixture offsets.

Thank you for your help gentlemen I appreciate all your help.



%

01002
#CLEAR


#PRINT "FIND TOP CENTER OF A RECTANGLE",
#PRINT "ENSURE MACHINE IS JOGGED TO APROX. CENTER POINT",
#INPUT V99
#:LOOP1
#PRINT "ENTER PART WIDTH (X)",
#INPUT V1
#:LOOP2
#PRINT "ENTER PART DEPTH (Y)",
#INPUT V2
#:LOOP3
#PRINT "ENTER PART HEIGHT (Z)",
#INPUT V3
#:LOOP4
#PRINT "ENTER PROBE TIP DEPTH OFFSET",
#PRINT "MUST BE BETWEEN .125 AND 2.0",
#INPUT V4
#PRINT "ENTER YOUR WORK OFFSET NUMBER",
#INPUT V5
IF (V1 LE 0) THEN GOTO :LOOP1
IF (V2 LE 0) THEN GOTO :LOOP2
IF (V3 LE 0) THEN GOTO :LOOP3
#V4=ABS(V4)
IF (V4 LT .125) OR (V4 GT 2.0) THEN GOTO :LOOP4
IF (V4 GT V3) THEN #PRINT "WARNING PROBE TIP BELOW WORK",
IF (V4 GT V3) THEN #INPUT V99
IF (V4 GT V3) THEN GOTO :LOOP3


G91 G80 G94 G17 E0 G20
M64 M66
G01 H01 Z0.0 F50. (H01 EQUALS PROBE OFFSET)
Z-4.0 G31
Z1.0 G31.1
F1.
Z-4.0 G31
#WAIT 'STOPS BUFFER TO INSURE ACCURATE AZ READING
#V6=AZ
F50
Z.5
#FZ(V5)=V6 'SETS USER INPUT FIXTURE OFFSET (Z) TO V6
#R1=(V1/2)+.625 "DETERMINES DISTANCE TO MOVE OFF EDGE
X-R1
#R2=(V4+.5) 'DETERMINES DISTANCE TO MOVE BELOW EDGE
Z-R2
X2.0 G31
X-1.0 G31.1
F1.
X2.0 G31
#WAIT
#V7=AX
F50.
X-.5
Z+R2
#R3=V1+.5+R1 'DETERMINES DISTANCE TO MOVE TO RIGHT EDGE
X+R3
Z-R2
X-2.0 G31
X1.0 G31.1
F1.
X-2.0 G31
#WAIT
#V8=AX
F50.
X.5
Z+R2
#V9=(V7+V8)/2 'SETS V9 EQUAL TO X AXIS CENTER
#FX(V5)=V9 'SETS USER INPUT FIXTURE OFFSET (X) TO V9
#R4=V9 'COULD BE USED WITH G90 E0 X+R4 TO MOVE TO CENTER
G90
E(V5) X0 (MOVES TO X CENTER)
G91
#R5=(V2/2)+.625 "DETERMINES DISTANCE TO MOVE OFF EDGE
Y-R5
Z-R2
Y2.0 G31
Y-1.0 G31.1
F1.
Y2.0 G31
#WAIT
#V10=AY
F50.
Y-.5
Z+R2
#R6=V2+.5+R5 'DETERMINES DISTANCE TO MOVE TO RIGHT EDGE
Y+R6
Z-R2
Y-2.0 G31
Y1.0 G31.1
F1.
Y-2.0 G31
#WAIT
#V11=AY
F50.
Y.5
Z+R2
#V12=(V10+V11)/2 'SETS V12 EQUAL TO Y AXIS CENTER
#FY(V5)=V12 'SETS USER INPUT FIXTURE OFFSET (Y) TO V12
G90
E(V5) X0 Y0 Z.5
#PRINT "X" FX(V5) "Y" FY(V5) "Z" FZ(V5) ".",
#INPUT V99,
#CLEAR
G90 E0 G0
G28 X0 Y0 Z0
M30
 
Well I haven’t gotten to it but I can try some more.

I think my code is flawed. But I don’t really know how to write it better and I haven’t had time to learn.
 








 
Back
Top