Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

Fadal Rigid Tap with Different Depths


BK
 Share

Recommended Posts

We have two new Fadal 4020's in our shop and have run into another Fadal quirk.

When using the rigid tap cycle if you have a different Z depth on any of the holes the machine will alarm out.

If you run the "SU" function, the control says "Bad S command" and will show the line number.

Here is a sample of the code . . . line 305 is where it barfs . . .

 

N255 T4 M6 (4-40 FORM TAP)

N260 (MAX - Z1.)

N265 (MIN - Z-.4)

N270 S2400 M3

N275 G0 G90 E2 X4.825 Y-.1875

N280 T2

N285 G43 H4 Z1. M8

N290 G8

N295 Z.1

N300 G99 G84.1 Z-.4 R.1 S2400 F60.

N305 X4.175 Z-.325

N310 X2.8 Z-.4

N315 X2.15 Z-.325

N320 X.775 Z-.4

N325 X.125 Z-.325

N330 G80

N335 Z1. M9

N340 M5

 

What is weird is that if I put an S2400 on the lines with the different Z values it will run correctly.

 

Just wondering if anyone has had this problem and if there is a post workaround to accomodate this?

 

Thanks in advance,

Bob

Link to comment
Share on other sites

No have not seen that. To fix the post would need you to post up this part of the post to to see what varaibles you are using to give a fix.

 

code:

ptap            #Canned Tap Cycle - G84/G74  

Or

 

pmisc2 #Canned Misc #2 Cycle - G84.1/G74.1

 

Then this for the Second section of drilling

 

ptap_2 #Canned Tap Cycle

 

or

 

pmisc2_2 #Canned Misc #2 Cycle

Then we can help you get what you need.

 

H2H

Link to comment
Share on other sites

I was wondering if anyone else with Fadals has had the same problem. The folks at Fadal told me to maybe give it an "R" value on the lines where the Z value was different. All of those canned cycle functions are modal so that didn't make any sense.

It seems odd that it will run at the machine if you put the spindle speed on any line with a different Z value.

I'l do some more research and then perhaps if that works I will post the tap guts from the post and look for help there.

I am using a modified MPmaster post that has been changed to accomodate the Fadal rigid tap cycle.

Link to comment
Share on other sites

Bob,

 

Do your machines have the new 104D control? We have no problems tapping (or drilling) at different depths, but our machines are older with 88HS and 32MP controls. The "S" error (or fix) doesn't make much sense to me.

 

Do the holes reside at different Z levels or do you just want to tap them to different depths? If they reside at different depths, you probably want an R output with the new Z.

 

As a side note, any tapping above 2000 RPM should have a ".2" at the end of the RPM. For example, S2400.2. That will force the spindle into high gear. You should also output a G84.2 (prepare for rigid tapping) before the tapping cycle.

 

Thad

Link to comment
Share on other sites

Hey guys, I am not a Fadal expert or anything but I am just wondering if you are running Format 1 or Format 2 ?

 

I have never run into this problem but it may just be because we have not run a program with different depths yet. We have always ran Format 2 wherever I have worked.

 

Thanks,

 

Mike

Link to comment
Share on other sites

Here is my Section for Rigid Tap you pick the format at the top of MPMASTER_FADAL so does not matter.

code:

ptap            #Canned Tap Cycle

pdrlcommonb

#RH/LH based on spindle direction

speedrt = speed + .2

if use_pitch = 0,

[

if rigid, pcan1, pbld, n, "G84.1", *sgdrlref, pfxout, pfyout, pfzout, pcout,

prdrlout, *feed, *speedrt, strcantext, e

else, pcan1, pbld, n, "G84", *sgdrlref, pfxout, pfyout, pfzout, pcout,

prdrlout, *feed, *speed, strcantext, e

]

else,

[

if met_tool, pitch = n_tap_thds # Tap pitch (mm per thread)

else, pitch = 1/n_tap_thds # Tap pitch (inches per thread)

feed = speedrt

if rigid, pcan1, pbld, n, "G84.1", *sgdrlref, pfxout, pfyout, pfzout, pcout,

prdrlout, *feed, *pitch, strcantext, e

else, pcan1, pbld, n, "G84", *sgdrlref, pfxout, pfyout, pfzout, pcout,

prdrlout, *pitch, !feed, *speed, strcantext, e

]

pcom_movea

tapflg = 1

 

ptap_2 #Canned Tap Cycle

pdrlcommonb

#RH/LH based on spindle direction

speedrt = speed + .2

if use_pitch = 0,

[

if rigid, pcan1, pbld, n, sgdrlref, pxout, pyout, pzout, pcout,

prdrlout, *feed, *speedrt, strcantext, e

else, pcan1, pbld, n, sgdrlref, pxout, pyout, pzout, pcout,

prdrlout, *feed, *speed, strcantext, e

]

else,

[

if met_tool, pitch = n_tap_thds # Tap pitch (mm per thread)

else, pitch = 1/n_tap_thds # Tap pitch (inches per thread)

feed = speedrt

if rigid, pcan1, pbld, n, sgdrlref, pxout, pyout, pzout, pcout,

prdrlout, *feed, *pitch, strcantext, e

else, pcan1, pbld, n, sgdrlref, pxout, pyout, pzout, pcout,

prdrlout, *pitch, !feed, *speed, strcantext, e

]

pcom_movea

tapflg = 1

That should fix you right up as well as put the G98 G99 if they change with no problems also.

Link to comment
Share on other sites

Ron,

 

What I am thinking is that the machine may do some wierd things if it is Format 1? Except for rare occasions a long time ago, I have never used the Format 1 (Fadal mode). In theory, since Format 2 is "Fanuc compatability mode" the machine should not have these problems.

 

What do you think?

 

Thanks,

Mike

Link to comment
Share on other sites

We run Format 1 on all of our machines with no trouble. I use this very routine on our machine with no problem. I wonder if you are using the M5 before the tapping cycle liek you are suppsoe to if in Format 1 or Format 2. The .2 for the speed has to be there also this and the G84.2 has to be in the operation to help the rigid tapping process also. This from the other parts of the post that have soemthing to do with Rigid Tapping on the Fadal's we use.

code:

pstop      # Stop routine

#pretract # (This was taken out for 4th machining on Fadals)

n, "M1", e

if wcstype > one, absinc = zero

if rigid = 1 & opcode = 3 & nextdc = 3,

[

speedrt = speed + .2

pbld, n, *speedrt, "M5", e

pbld, n, "G84.2", e

!speed

]

else, pbld, n, spindle, speed, pgear, e #(The astreix was taken out for redundt spindle calls)

#pcan1, pbld, n, pxout, pyout, (Decided it created redunt moves so taken out)

# pcout, strcantext, e # (The force axis moves was taken out of here also)

tlngno = t

pbld, n, tlngno, pzout, next_tool, e #(The astreix was taken out and the force Z was changend also)

sav_coolant = coolant

if coolant = 1, sm09 = sm09_0

if coolant = 2, sm09 = sm09_1

if coolant = 3, sm09 = sm09_2

absinc = sav_absinc

 

 

ptlchg_com #Tool change common blocks

pcom_moveb

c_mmlt #Multiple tool subprogram call

#ptoolcomment

comment

pcan

if plane < 0, plane = 0

if stagetool >= zero, pbld, n, *t, "M6", ptoolcomm, e

spaces=0

if output_z = yes,

[

preadbuf5

if (opcode > 0 & opcode < 16) | opcode = 19,

[

n, pspc, "(", "MAX | ", *max_depth, ")", e

n, pspc, "(", "MIN | ", *min_depth, ")", e

]

]

spaces=sav_spc

pstock

pindex

pindexman

sav_absinc = absinc

if wcstype > one, absinc = zero

#else, pbld, n, *speed, *spindle, strcantext, e (I changes this for personal prefernce)

if not(index) & rot_on_x & lock_codes = 1, pbld, n, *sunlock, "(UNLOCK)", e

pcan1, pbld, n, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout, *speed, *spindle, strcantext, e

if not(index) & rot_on_x & lock_codes = 1, pbld, n, *slock, "(LOCK)", e

if rigid = 1 & opcode = 3 & nextdc = 3,

[

speedrt = speed + .2

pbld, n, *speedrt, "M5", e

pbld, n, "G84.2", e

!speed

]

Now you are problay asking yourself what the Speed plus the M5 well that is so I get the Spindle Speed dialed in but also to stop the spindle and the G84.2 which the machine needs. I have tapped holes and different depths and different planes and in different fixture offsets on the Fadal and had no problem that you speak of. I did have ot get my post dialed in but when I did done deal and we post code hit the green button and can walk away which is what it is suppose to be with a CNC machine in my book.

 

HTH

 

Ron

Link to comment
Share on other sites

Sorry about the delay. The control on the machine is one of the newer (not the CNC88) controls. Haven't figured out exactly which one it is. We have two new machines (Fadal 4020's) and the newest one has more of a flat panel display.

 

We are running Format 2.

 

Thanks for all of the info. This problem has only showed up on the new machines. Seems to be a bug. I haven't experienced the same issue with drilling at different Z levels . . . yet.

 

Here is the info from the Fadal CD that came with the machine. I definitely need to use the S.2 command to get it in high range to start. Right now the way the program is coded it starts the spindle, then moves to position. The spindle then stops and orients and then will start the tap cycle.

 

From the Fadal CD . . .

The program codes for rigid tapping are G74.1, G74.2, G84.1, and G84.2. The G74.1 and G84.1 are coded the same as G74 and G84. Prior to beginning the tapping cycle, the machine prepares the spindle. This is an automatic process accomplished by four revolutions of the spindle. The preparation is done after the H offset is applied and just before the cycle begins. The use of the G74.2 or G84.2 prepares the cycle for execution during the H offset application.

The machine uses the low range for tapping at 750 rpm and below. When the rpm is above 751 the machine uses the high range. When using the G84.2 or G74.2, and the programmed rpm is above 750, the S#.2 should be used on the initial spindle speed call. This sets the proper belt range for the cycle preparation. The G84.1 and G74.1 automatically set the proper range for preparation. The G74.1 and G84.1 automatically release the spindle orientation lock. The rpm specified, before and after the H word must be the

same.

The Gain parameter setting (in SETP) is used to adjust the spindle speed and feed rate correlation. The gain may be set from 0 to 255. Please contact your dealer or refer to the VMC maintenance manual for further information.

The Ramp parameter setting (in SETP) is used to adjust the acceleration time of the spindle. The ramp may be set from 0 to 100. The higher the ramp

number, the longer the time for acceleration.

 

EXAMPLE: N52 G0 G90 S.2 M5 G80 M90 Do not turn the spindle on!

N53 G84.2

N54 H1 M7 Z.4

N55 G84.1 G99 R0+.4 Z-.3 F2000.2 Q.05 X0 Y0

N56 X1.

N57 G80

 

EXAMPLE: N52 G0 G90 S2000.2 M5 G80 M90 Do not turn the spindle on!

N53 G84.2

N54 H1 M7 Z.4

N55 G84.1 G99 R0+.4 Z-.3 S2000.2 F100. X0 Y0

100% feed calculation here

Link to comment
Share on other sites

Well you forgot the G8 that is need for Rigid Tapping also.

 

Here is code right from my post for Format 1:

code:

%

O9999 (T)

(MC9 FILE LOCATION - T)

(PROGRAM LOCATION - C:MCAM9MILLNCT.NC)

(DATE - JUL-12-04)

(TIME - 21:27)

(T2 | 1/4-20 TAPRH | H3 | D22 | D0.2500" | | TAP........)

G0G17G40G80G90

T2M6( 1/4-20 TAPRH)

(MAX | Z.1)

(MIN | Z-.75)

G0G90X0.Y0.S2000M3

S2000.2M5

G84.2

H2Z.1M9

G4 P2000

G8

G84.1G99X0.Y0.Z-.75R0.1F100.S2000.2

X2.Y2.

G80

G0Z.1

G91G28Z0.

M02

%

 

And then for format 2 same post just change varaiable:

 

%

O9999 (T2)

(MC9 FILE LOCATION - T)

(PROGRAM LOCATION - C:MCAM9MILLNCT2.NC)

(DATE - JUL-12-04)

(TIME - 21:23)

(T2 | 1/4-20 TAPRH | H3 | D22 | D0.2500" | | TAP........)

G0G17G40G80G90

T2M6( 1/4-20 TAPRH)

(MAX | Z.1)

(MIN | Z-.75)

G0G90X0.Y0.S2000M3

S2000.2M5

G84.2

H2Z.1M9

G4 P2000

G8

G84.1G99X0.Y0.Z-.75R0.1F2000.2Q.05

X2.Y2.F100.

G80

G0Z.1

G91G28Z0.

M02

%

I hope that helps and gives you some examples of what I use for tapping. If you use what I showed above to add the spindle speed to each line then it will atleast keep you running till you get the machine fixed and not lose production due to a 10 second fix in a post is just my humble opinion.

Link to comment
Share on other sites

Ron,

Thanks for all of the info. On your posted code the spindle will still fire up and then stop and orient, right? For now I am going to add the prep code to get the spindle in high range at the start of the cycle and then force the S word on each line.

 

Thanks to all that have posted tip on this!

Bob

 

P.S. Can you tell me where I need to add the "rigid" variable in my post?

 

[ 07-13-2004, 04:34 PM: Message edited by: BK ]

Link to comment
Share on other sites

Here is that section from MPMASTER:

code:

# --------------------------------------------------------------------------

# General Output Settings

# --------------------------------------------------------------------------

spaces : 0 #No. of spaces to add between fields

omitseq : yes #Omit sequence no.

seqmax : 9999 #Max. sequence no.

arcoutput : 0 #0 = IJK, 1 = R no sign, 2 = R signed neg. over 180

arctype : 2 #Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc.

do_full_arc : 0 #Allow full circle output? 0=no, 1=yes

helix_arc : 1 #Support helix arc output, 0=no, 1=all planes, 2=XY plane only

breakarcs : 2 #Break arcs, 0 = no, 1 = quadrants, 2 = 180deg. max arcs

maxrad : 999 #Maximum arc radius

hel_2100 : no #Acramatic 2100 style helical moves, 0=no, 1=yes

usecanned : yes #Use canned drilling cycles? Set to no for long output.

wcstype : 2 #0 = G92 at start, 1 = G92 at toolchanges, 2 = E1, 3 = Off

force_wcs : no #Force WCS output at every toolchange?

stagetool : 0 #0 = Do not pre-stage tools, 1 = Stage tools

tool_table : 1 #Tool table, 0=no, 1=yes, 2=Predator VCNC, 3=MetaCut View

output_z : yes #Output Z Min and Z Max values (yes or no)

cool_zmove : no #Coolant off with last move

use_pitch : 1 #0 = Use feed for tapping, 1 = Use pitch for tapping

rigid : yes #Use Rigid Tapping? (yes, or no)

maxfeedpm : 500 #Limit for feed in inch/min

maxfeedpm_m : 10000 #Limit for feed in mm/min

use_gear : 0 #Output gear selection code, 0=no, 1=yes

max_speed : 10000 #Maximum spindle speed

min_speed : 50 #Minimum spindle speed

sextnc .NC #NC extension override

HTH

 

Also will need the use_pitch if the post you are using does not have that.

Link to comment
Share on other sites

Man I hate to be a PITA but this thing is real close. I seem to be missing something with the

"speedrt" variable.

 

Here is some sample code . . .

N175 T8 M6 ( 8-32 UNC-2B CUT TAP)

N180 (MAX - Z1.)

N185 (MIN - Z-1.)

N190 S2112 M3

N195 G0 G90 E1 X14.75 Y-.2

N200 speedrt 2112.2 M5

N205 G84.2

N210 T7

N215 G43 H8 Z1. M8

N220 G8

N225 G84.1 G98 X14.75 Y-.2 Z-.5 R.1 F66. speedrt 2112.2

N230 X14.4 Z-1. F66. speedrt 2112.2

N235 X13.85 F66. speedrt 2112.2

N240 X13.5 Z-.5 F66. speedrt 2112.2

Link to comment
Share on other sites

I got it working Ron. Thanks again for all of the help!

 

Sample code . . .

N175 T8 M6 ( 8-32 UNC-2B CUT TAP)

N180 (MAX - Z1.)

N185 (MIN - Z-1.)

N190 S2112 M3

N195 G0 G90 E1 X14.75 Y-.2

N200 S2112.2 M5

N205 G84.2

N210 T7

N215 G43 H8 Z1. M8

N220 G8

N225 Z.1

N230 G84.1 G99 X14.75 Y-.2 Z-.5 R.1 F66. S2112.2

N235 X14.4 Z-1. F66. S2112.2

N240 X13.85 F66. S2112.2

N245 X13.5 Z-.5 F66. S2112.2

Link to comment
Share on other sites

Yeah me too! I'm pretty much of a post rookie but all the ones I use are 100% edit free.

 

Is there a way to suppress the spindle startup when you are going to be starting a tap cycle?

 

I mean I would like to have the spindle orient and prep but would like to skip the spindle startup and then stop. Something like this . . .

 

Sample code . . .

N175 T8 M6 ( 8-32 UNC-2B CUT TAP)

N180 (MAX - Z1.)

N185 (MIN - Z-1.)

N195 G0 G90 E1 X14.75 Y-.2

N200 S2112.2 M5

N205 G84.2

N210 T7

N215 G43 H8 Z1. M8

N220 G8

N225 Z.1

N230 G84.1 G99 X14.75 Y-.2 Z-.5 R.1 F66. S2112.2

N235 X14.4 Z-1. F66. S2112.2

Link to comment
Share on other sites

Well yes but I never got around to it with our post. It would need to look at the op and then do a M5 using the tap op as the condition to make it call the M5 and not a M3 or M4. I will see what I can come up with tommorrow always worked just find the way we have it yeah it takes a couple seconds at first but gets the job done so when you got 100 things going on a completed task is a good task.

Link to comment
Share on other sites

Here is the fix in my post to get what you are wanting.

code:

pstop      # Stop routine

#pretract # (This was taken out for 4th machining on Fadals)

n, "M1", e

if wcstype > one, absinc = zero

if rigid = 1 & opcode = 3 & nextdc = 3,

[

speed = speed + .2

pbld, n, *speed, "M5", e

pbld, n, "G84.2", e

!speed

]

else, pbld, n, spindle, speed, pgear, e #(The astreix was taken out for redundt spindle calls)

#pcan1, pbld, n, pxout, pyout, (Decided it created redunt moves so taken out)

# pcout, strcantext, e # (The force axis moves was taken out of here also)

tlngno = t

pbld, n, tlngno, pzout, next_tool, e #(The astreix was taken out and the force Z was changend also)

sav_coolant = coolant

if coolant = 1, sm09 = sm09_0

if coolant = 2, sm09 = sm09_1

if coolant = 3, sm09 = sm09_2

absinc = sav_absinc

 

ptlchg_com #Tool change common blocks

pcom_moveb

c_mmlt #Multiple tool subprogram call

#ptoolcomment

comment

pcan

if plane < 0, plane = 0

if stagetool >= zero, pbld, n, *t, "M6", ptoolcomm, e

spaces=0

if output_z = yes,

[

preadbuf5

if (opcode > 0 & opcode < 16) | opcode = 19,

[

n, pspc, "(", "MAX | ", *max_depth, ")", e

n, pspc, "(", "MIN | ", *min_depth, ")", e

]

]

spaces=sav_spc

pstock

pindex

pindexman

sav_absinc = absinc

if wcstype > one, absinc = zero

#else, pbld, n, *speed, *spindle, strcantext, e (I changes this for personal prefernce)

if not(index) & rot_on_x & lock_codes = 1, pbld, n, *sunlock, "(UNLOCK)", e

pcan1, pbld, n, *sgcode, *sgabsinc, pwcs, pfxout, pfyout, pfcout, strcantext, e

if not(index) & rot_on_x & lock_codes = 1, pbld, n, *slock, "(LOCK)", e

if rigid = 1 & opcode = 3 & nextdc = 3,

[

speed = speed + .2

pbld, n, *speed, "M5", e

pbld, n, "G84.2", e

!speed

]

else, *speed, *spindle, e

This post is the MPMASTER_FADAL avaiable from Dave at In-house-Solutions just get you dealer to get it for you think you will be happy with it.

 

Here is sample code now.

code:

%

O9999 (50003484_REV1)

(MC9 FILE LOCATION - C:2004_MC95535 HONEYWELL50003484_REV1.MC9)

(PROGRAM LOCATION - C:MCAM9MILLNC50003484_REV1.NC)

(DATE - JUL-14-04)

(TIME - 10:37)

(T177 | #0-80 TAPRH | H0 | D0 | D0.0600" | | TAP........)

(T188 | #5-44 TAPRH | H0 | D0 | D0.1250" | | TAP........)

(T190 | #6-40 TAPRH | H0 | D0 | D0.1380" | | TAP........)

(T194 | #10-32 TAPRH | H0 | D0 | D0.1900" | | TAP........)

(T200 | 1/4-28 TAPRH | H0 | D0 | D0.2500" | | TAP........)

(OVERALL MAX | Z1.983)

(OVERALL MIN | Z-1.75)

G0G17G40G80G90

T177M6( #0-80 TAPRH)

(MAX | Z.5463)

(MIN | Z-1.655)

G0G90E20X-.6249Y.625

S4456M5

G84.2

H177Z.5463M8

G4 P2000

G8

G84.1G98X-.6249Y.625Z-1.655R0-1.4538F4456.2Q.0125

X-.9999Y.625F55.71

X-.6249Y-.625

X-.9999Y-.625

G80

G0Z.5463

G91G28Z0.

M1

T188M6( #5-44 TAPRH)

(MAX | Z1.983)

(MIN | Z-.408)

G0G90X-7.625Y.75

S2139M5

G84.2

H188Z1.983M8

G4 P2000

G8

G84.1G98X-7.625Y.75Z-.408R0-.017F2139.2Q.0227

X-7.625Y-.75F48.62

X1.625Y.75

X1.625Y-.75

G80

G0Z1.983

G91G28Z0.

M1

T190M6( #6-40 TAPRH)

(MAX | Z1.1051)

(MIN | Z-1.655)

G0G90X-2.713Y.315

S1937M5

G84.2

H190Z.5M8

G4 P2000

G8

G84.1G98X-2.713Y.315Z-1.655R0-1.5F1937.2Q.025

X-3.119Y-.312F48.44

G80

G0Z.5

Z1.1051

X-1.816Y-.55

G84.1G98X-1.816Y-.55Z-1.352R0-.8949F1937.2Q.025

X-1.816Y.55F48.44

G80

G0Z1.1051

G91G28Z0.

M1

T194M6( #10-32 TAPRH)

(MAX | Z.375)

(MIN | Z-1.75)

G0G90X-7.125Y.6

S1407M5

G84.2

H194Z.375M8

G4 P2000

G8

G84.1G98X-7.125Y.6Z-1.75R0-1.625F1407.2Q.0313

X1.125Y.6F43.98

X-7.125Y-.6

X1.125Y-.6

G80

G0Z.375

G91G28Z0.

M1

T200M6( 1/4-28 TAPRH)

(MAX | Z.475)

(MIN | Z-1.597)

G0G90X0.Y0.

S1069M5

G84.2

H200Z.475M8

G4 P2000

G8

G84.1G98X0.Y0.Z-1.597R0-1.525F1069.2Q.0357

G80

G0Z.475

G91G28Z0.

X0Y0Z0E0H0

M02

%

HTH

Link to comment
Share on other sites

Yeah the whole place is growing up like Crazy homes around there are going for $650,000 for a 1950's home about 1000 sqft to $2,00,000 for one on the beach about 3000-4000 sqft. I have got me anywhere from 1 to 1-1/2 commute both ways everyday to get a house 60 miles away I could afford. I hope it helps you out and gets things they way you like them.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...