Never heard of that control, but I can give you examples for a Fanuc control, and you could then modify it for use in your control. There are several ways you could do it. I might be a bit concerned that the "lip" could be pushed sideways if finishing each groove before moving to the next. I think you should be alright if you don't get aggressive with the initial roughing plunge. Some depends on the material being machined. Lot of work for one tool to rough and finish, IMHO unless running aluminum, brass, plastics, etc. type materials.
If you don't already know, G75 is a pecking cycle. One way is to run the groove as a subprogram. For programming ease let's assume the O.D. is 2.0 and the furthest edge of the first groove is at Z-1.
O1234 (GROOVE SUB)
G1X2.F.004
G75R.004
G75X1.58P500F.003
X2.03F.03
W-.0455
X2.W.015F.003
G2U-.03W.015R.015F.001
G1X1.57F.003
U.01W.005
G0X2.03
G1W.056F.03
X2.W-.015F.003
G3U-.03W-.015R.015F.001
G1X1.57F.003
W-.031
U.01W.005
G0X2.04W.0105
M99
Main Program
G0X2.04Z-.9845
M98P1234
W-.265
M98P1234
W-.265
M98P1234
ETC.
Probably one of the easiest, but not the shortest.
Now if the control has something similar to Fanuc Macro B, you could shorten the program up considerably. Like so
Main Program.
G0X2.04Z-.9845
#33=0
WHILE[#33LT280]DO1
#33=#33+1
G1X2.F.004
G75R.004
G75X1.58P500F.003
X2.03F.03
W-.0455
X2.W.015F.003
G2U-.03W.015R.015F.001
G1X1.57F.003
U.01W.005
G0X2.03
G1W.056F.03
X2.W-.015F.003
G3U-.03W-.015R.015F.001
G1X1.57F.003
W-.031
U.01W.005
G0X2.04W.0105
IF[#33EQ280]GOTO9
W-.265
N9END1
(grooves finished. go to clearance.)
This will run all 280 grooves.
Although I've used macros for years, this is only my second WHILE statement. I'm sure others could write it more elegantly, but I know it works, cuz I tried it a few minutes ago. Would hate to post something that didn't work.
I don't know how to keep the tool from moving W-.265 before kicking out of the loop without using the IF/GOTO statement. That eliminates the extraneous move. One of you more experience guys want to tell me, I'd like to learn.
Thanks, and I hope this helps you.
EDIT: Actually I think I could write the While statement and eliminate the IF/GOTO statement by moving the W-.265 to a block after #33=#33+1 and changing the approach by .265 less. Just made more sense to me this way.


LinkBack URL
About LinkBacks





