I am not good with macros, not even close, I just noticed it looks like you have an r3 value of .040 on 2 lines and and on another line .025
wouldnt that varible need to be a differernt R number?
N327#R3=0.04
N332#R3=0.04
N337#R3=0.025
I have a problem with this program.
Could someone try it on their Fadal and see if it does the same thing?
When the G73 with IJK is called the first time, it works fine.
After that it gets erratic.(Initial peck reduces to "K" really quick)
No crashing or anything like that.
Stranglely though, it works fine again on or after a 180 degree rotation.(360/v3)
Then becomes erratic again.
Let me know if it does the same for you or if it works fine.
It should do an initial peck of .3 then reduce by .04(.26, .22, .18 etc)to a mininum of .04(cause of v1 sends you from line 320 to line 324-328) R3=.04
Note: I would not put a tool in T1 and set H1 to -10.00
Set E1 to X0 Y0
I took out M8's
You can just count the pecks per hole.
Thanks in advance,
Joe
%
N1O1(Sample)
#clear
v1=1'for setting speeds and feeds
v2=16'for setting location of y
v3=5'number of patterns for g68
v4=1'height, set tools from bottom of parts
v9=1'set innner bolt circle
v14=360/v3' set degrees
v15=180/v3
N317T1M6(1/4 DRILL)
N318M1
N319(MATERIAL SELECTION)
N320#IF V1=1 THEN GOTO:SF16-1
N321#IF V1=2 THEN GOTO:SF16-2
N322#IF V1=3 THEN GOTO:SF16-3
N323(SET SPEEDS AND FEEDS ACCORDINGLY)
N324#:SF16-1
N325S1500
N326#R9=6.
N327#R3=0.04
N328#GOTO:T16
N329#:SF16-2
N330S2500
N331#R9=10.
N332#R3=0.04
N333#GOTO:T16
N334#:SF16-3
N335S500
N336#R9=1.5
N337#R3=0.025
N338(DRILL 1/4 HOLES)
N339#:T16
N340#R6= ((V2/2)-.5)'1ST Y POSITION
N341G0G90G80X0Y+R6M3E1
N342Z4.H1
N345#R8=1
N346#R7=V14
N347#R6= ((V2/2)-.5)'1ST Y POSITION
N348#R5= ((V2/2)-2.625)'2ND Y POSITION
N349#R4=(V4+.1)'R LEVEL
N350#IF V4 GT 1.275 THEN R1=83
N351#IF V4 LE 1.275 THEN R1=73
N352#:LOOP16
N353G98G+R1X0Y+R6Z-0.125R+R4F+R9I-0.3J0.04K+R3
N354Y+R5
N355G80
N356#R7=V14*R8
N357G68R+R7X0Y0
N358#R8=R8+1
N359#IF R8 LE V3 THEN GOTO :LOOP16
N360#R7=V15
N361G68R+R7X0Y0
N362#IF V9=2 THEN R2=3.3125
N363#IF V9=1 THEN R2=4.6725
N364G98G+R1X0Y+R2Z-0.125R+R4F+R9I-0.3J0.04K+R3
N365Y-R2
N366G80M5M9M49
N367G69
N880(THE END OF PROGRAM)
N882G80
N884G0G40G80M5M9
N885Z0G53
N887X0Y15.Z0E0H0
N888M30
%
I am not good with macros, not even close, I just noticed it looks like you have an r3 value of .040 on 2 lines and and on another line .025
wouldnt that varible need to be a differernt R number?
N327#R3=0.04
N332#R3=0.04
N337#R3=0.025
No, with V1=1, @ N320, the program goes to(goto) label SF16-1(N324). It reads the information for speed, R9(feed), R3(Min Peck), then GOTO T16(N339) to start the drilling process. Therefore it skipped the other settings. V1 is an earlier input with (3) options, (1,2,3), I just set it as (V1=1) for this example. If it were (V1=2), it would go to SF16-2(N329) etc.
I've even tried it without variables in the G73 line and had the same results.
Are you able to try this on a FadaL?
Well, to date there's been 107 people look at this. None have attempted to help! I know people are busy. I thought it wouldn't take someone very long to test. Just thought this would get me some results. Perhaps they're afraid of the macro format.
Fadal doesn't email me back anymore. I guess they don't want to bother with it either. My main concern is if a board is going bad or not. I'll try to write my own drilling cycle to get around this.
Thanks Anyway.
Happy Holidays to All!
What control are you running?
Have you tried to single block it?
Don
Joe--
The reason that this macro doesn't work is that it violates the restriction of the G68 code:
• CRC can be used after rotation is in effect and should be canceled before G69
is used. A part program cannot be rotated while CRC is in effect.
• Rotation continues until a G69 is coded.
• Fixture offsets are allowed with rotation. The moves to the offsets are not
rotated.
• Rotation must be established prior to Fixed Cycle definitions and affects only
the positions for execution. Fixed cycles and Fixed Subroutines will not be
rotated to another plane.
• All X and Y (or X, Z or Y, Z or X, Y, and Z) positions are required for linear
moves, even if they are zero or non-motion moves.
• In the selected plane, all X, Y, I and J (or X, Z, I, K or Y, Z, J, K) positions are
required for circular moves, even if they are zero or non-motion moves.
Neal
Neal,
Exactly which code am I violating? As far as I can see, I'm not violating any. Not using CRC, circular moves, or linear moves. And the rotation is established before the Fixed Cycle call. Does "established" mean called or moved into position? Should I put a line in after the G68 to position the XY before the cycle call? Or will this not work at all?
I wrote the subroutine for now. It works faster than the Fixed Cycles anyway. I still would like to understand and resolve the issue for future use.
By the way, thanks for replying.
Joe
Well, answered my own question. Positioning before the Fixed Cycle call doesn't work. Same results.
I notice that you have the sign of the values in your drill cycle as follows:
I-
J+
K+
Have you tried with all positive values? If J and K are reckoned to be in the Z- direction, then I would assume 'I' should be as well. If it is a real bug, it might not work correctly with I+ on the first cycle, but should work on subsequent cycles. Depends![]()
First you get good, then you get fast. Then grouchiness sets in.
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Yes. I haved tried many different scenarios. I've tried #WAIT also(inserted many different places). And the last one, positioning before the fixed cycle call. Thanks for the thought though.
What I would try is running the program with the feedrate turned way down at the start of the second running of the drill cycle, and watch the Z position display to try to quantify exactly how much the cycle is changing 'all by itself'. Maybe you can track down a variable that is not being cleared properly, or an incorrect sign...
First you get good, then you get fast. Then grouchiness sets in.
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Joe--
There may be a way to do this, but I will have to spend some time to figure it out. Macros can be very tricky. Since I'm no longer in the Programming Department I'll have to work on it in between my other duties in Tech Support.
It won't be a fast answer but I'll put as much time in on it as I can.
Neal