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:

Makino A-61nx Horizontal Post from MPMaster


Recommended Posts

On 12/8/2017 at 8:54 AM, Matt Berube at Ferron Mold said:

Next issue is with rigid tapping.

Here is the bad code:


N1220 G91 G28 Z0.
N1230 M01
N1240 T50 M06 (   10-32 TAP)
N1250 (MAX - Z2.)
N1260 (MIN - Z-.4)
N1270 G00 G17 G90 G54 B0. X-3. Y1.125
N1280 G43 H1 Z2.
N1290 G94
N1300 M29 S300
N1310 G98 G84 X-3. Y1.125 Z-.4 R.1 F9.38
N1320 X1. Y1.125
N1330 X1. Y-1.125
N1340 X-3. Y-1.125
N1350 G80
N1360 M05
N1370 G91 G28 Z0.
N1380 M01

What would be the best way to output S300 M3 before the M29?  Should I put it on the G43 line?

The problem we had with code posted above is that the spindle stays off until it reaches the bottom of hole #1 then reverses out and proceeds to tap the remaining holes properly...  So the spindle must be started before the M29 - and I'm told the M29 should be on a line of it's own.

Our A61's don't use M29. They use M135. They are Pro 3. But same with our F5 with Pro 5. That is how our post works too. Have never had issues.

This is from the book.

Quote

M135........RIGID TAP MODE ON
:
S*****;
M135 S*****;
G84 Z_ R_ F_;
G80;
M30;
At the first S command, give the same S code in the M135 block.

 

 

Link to comment
Share on other sites

I am sitting here wondering why they would have a different M-code for rigid tapping.  Then it occurred to me that you could use it such that the second S command is the retract speed.  Through a little math and some g10's in the m135 macro or in the ladder, you could easily alter the tap speed retract parameters.

So say you program. 

S1000

M135 S2000

It would go in at 1000 and out at 2000.

Can anyone confirm if this is the case?  If not, I'm gonna set up a machine this way in the future.

 

 

Link to comment
Share on other sites

This is the code I am currently getting:

N590 T50 M06 (   10-32 TAP)
N600 (MAX - Z2.)
N610 (MIN - Z-.4)
N620 G00 G17 G90 G54 B0. X-2. Y1.125
N630 G43 H1 Z2.
N640 G94
N650 M135 S300
N660 G98 G84 X-2. Y1.125 Z-.4 R.1 F9.38
N670 X2. Y1.125
N680 X2. Y-1.125
N690 X-2. Y-1.125
N700 G80
N710 M05
N720 G91 G28 Z0.
N730 G28 Y0. B0.
N740 G90
N750 M30

This is from the M Code Specifications:

5a300afc507ad_SnipfromM-Code.JPG.3d3a521de23f9523af5a60009f9ab12f.JPG

This is the code I desire:

N590 T50 M06 (   10-32 TAP)
N600 (MAX - Z2.)
N610 (MIN - Z-.4)
N620 G00 G17 G90 G54 B0. X-2. Y1.125
N630 G43 H1 Z2.
N640 G94

N645 S300 M3           <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
N650 M135 S300
N660 G98 G84 X-2. Y1.125 Z-.4 R.1 F9.38
N670 X2. Y1.125
N680 X2. Y-1.125
N690 X-2. Y-1.125
N700 G80
N710 M05
N720 G91 G28 Z0.
N730 G28 Y0. B0.
N740 G90
N750 M30

And here is a snip from the post:

ptap$            #Canned Tap Cycle
      pdrlcommonb
      #RH/LH based on spindle direction
      if rigid_tap, pbld, n$, *sm29, *speed, e$           #Rigid Tapping
      if use_pitch = 0,
        [
        pcan1, pbld, n$, *sgdrlref, *sgdrill, pdrlxy, pfzout, pcout, pindexdrl,
          prdrlout, [if peck1$, *peck1$], *feed, strcantext, e$
        ]
      else,
        [
        if metvals, pitch = n_tap_thds$  # Tap pitch (mm  per thread)
        else, pitch = 1/n_tap_thds$       # Tap pitch (inches per thread)
        pcan1, pbld, n$, *sgdrlref, *sgdrill, pdrlxy, pfzout, pcout, pindexdrl,
          prdrlout, [if peck1$, *peck1$], *pitch, !feed, strcantext, e$
        ]
      pcom_movea

What do I need to add?

Link to comment
Share on other sites
23 hours ago, huskermcdoogle said:

I am sitting here wondering why they would have a different M-code for rigid tapping.  Then it occurred to me that you could use it such that the second S command is the retract speed.  Through a little math and some g10's in the m135 macro or in the ladder, you could easily alter the tap speed retract parameters.

So say you program. 

S1000

M135 S2000

It would go in at 1000 and out at 2000.

Can anyone confirm if this is the case?  If not, I'm gonna set up a machine this way in the future.

 

 

Normally on fanuc you can use j2000 in the tap line and that is the retract rate. 2000 is just an example Any speed really

Link to comment
Share on other sites
47 minutes ago, Matt Berube at Ferron Mold said:

This is the code I am currently getting:


N590 T50 M06 (   10-32 TAP)
N600 (MAX - Z2.)
N610 (MIN - Z-.4)
N620 G00 G17 G90 G54 B0. X-2. Y1.125
N630 G43 H1 Z2.
N640 G94
N650 M135 S300
N660 G98 G84 X-2. Y1.125 Z-.4 R.1 F9.38
N670 X2. Y1.125
N680 X2. Y-1.125
N690 X-2. Y-1.125
N700 G80
N710 M05
N720 G91 G28 Z0.
N730 G28 Y0. B0.
N740 G90
N750 M30

This is from the M Code Specifications:

5a300afc507ad_SnipfromM-Code.JPG.3d3a521de23f9523af5a60009f9ab12f.JPG

This is the code I desire:

N590 T50 M06 (   10-32 TAP)
N600 (MAX - Z2.)
N610 (MIN - Z-.4)
N620 G00 G17 G90 G54 B0. X-2. Y1.125
N630 G43 H1 Z2.
N640 G94

N645 S300 M3           <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
N650 M135 S300
N660 G98 G84 X-2. Y1.125 Z-.4 R.1 F9.38
N670 X2. Y1.125
N680 X2. Y-1.125
N690 X-2. Y-1.125
N700 G80
N710 M05
N720 G91 G28 Z0.
N730 G28 Y0. B0.
N740 G90
N750 M30

And here is a snip from the post:


ptap$            #Canned Tap Cycle
      pdrlcommonb
      #RH/LH based on spindle direction
      if rigid_tap, pbld, n$, *sm29, *speed, e$           #Rigid Tapping
      if use_pitch = 0,
        [
        pcan1, pbld, n$, *sgdrlref, *sgdrill, pdrlxy, pfzout, pcout, pindexdrl,
          prdrlout, [if peck1$, *peck1$], *feed, strcantext, e$
        ]
      else,
        [
        if metvals, pitch = n_tap_thds$  # Tap pitch (mm  per thread)
        else, pitch = 1/n_tap_thds$       # Tap pitch (inches per thread)
        pcan1, pbld, n$, *sgdrlref, *sgdrill, pdrlxy, pfzout, pcout, pindexdrl,
          prdrlout, [if peck1$, *peck1$], *pitch, !feed, strcantext, e$
        ]
      pcom_movea

What do I need to add?

If you have a Generic Fadal post on your machine, it offers a good way to go about this....

Link to comment
Share on other sites

I do have that post but I dunno what to do with it...

Generic Fadal Format_1 4X Mill Post:

ptap$            #Canned Tap Cycle - G84/G74
      pdrlcommonb
      if tap_format = 2,
        [
        feed = (1 / n_tap_thds$) * speed
        pcan1, pbld, n$, *sgdrill, *sgdrlref, pfxout, pfyout, pfzout, pcout,
          prdrlout, *feed, dwell$, strcantext, e$
        ]
      else,
        [
        feed = speed
        thread_lead = 1 / n_tap_thds$
        pcan1, pbld, n$, *sgdrill, *sgdrlref, pfxout, pfyout, pfzout, pcout,
          prdrlout, *feed, *thread_lead, dwell$, strcantext, e$
        ]
      pcom_movea

 

Link to comment
Share on other sites
2 hours ago, Leon82 said:

Normally on fanuc you can use j2000 in the tap line and that is the retract rate.

Well.....  Where oh where might documentation for that be found?  Never read that deep.....    Anyway, found it in the book.  Page 91 in B-63944EN-2/03 for the 31ia.

If you can't do it, set Bit 4 (DOV) of 5200, and Bit 4 (OV3) of 5201 both to 1, then you can specify retract override as Leon82 has said.   Totally missed that one, shoot I have been using g10's to get this done when needed in the past, well that will make life easier.

Just note that it will only override between 100% and 200%, and if your spindle speed isn't between those two numbers, it will assume 100%.  So if you put it in a post, it would be smart to check if it falls in the range, and either correct, or issue a warning.

  • Like 1
Link to comment
Share on other sites
21 hours ago, JParis said:

If you have a Generic Fadal post on your machine, it offers a good way to go about this....

Since you recommended the Fadal post, I started trying to figure out how to apply it to the MPMaster.  I don't know much of anything about posts but I'm trying.

I acquired the full MP_documentation 4.04 PDF portfolio to begin making sense of it all.  Ran the debugger on the Fadal and found  out a bunch of stuff I don't really understand yet. 

One big difference I note between MP Master and the Fadal Generic is that MP Master has a rigid_tap variable built in and it seems that the Fadal post uses "opcode" statements.  Am I correct to believe that MPMaster uses rigid_tap instead of opcode to make the post easier to follow and edit?

I couldn't really figure how to apply anything from the Fadal post to MPMaster but I was able to modify MPMaster to give the output I desire.

Here's what I did:

ptap$            #Canned Tap Cycle
      pdrlcommonb
      #RH/LH based on spindle direction
      if rigid_tap, pbld, n$, *speed, *spindle, e$           #mab12-13-17 added this line
      if rigid_tap, pbld, n$, *sm29, *speed, e$           #Rigid Tapping
      if use_pitch = 0,
        [
        pcan1, pbld, n$, *sgdrlref, *sgdrill, pdrlxy, pfzout, pcout, pindexdrl,
          prdrlout, [if peck1$, *peck1$], *feed, strcantext, e$
        ]
      else,
        [
        if metvals, pitch = n_tap_thds$  # Tap pitch (mm  per thread)
        else, pitch = 1/n_tap_thds$       # Tap pitch (inches per thread)
        pcan1, pbld, n$, *sgdrlref, *sgdrill, pdrlxy, pfzout, pcout, pindexdrl,
          prdrlout, [if peck1$, *peck1$], *pitch, !feed, strcantext, e$
        ]
      pcom_movea

And here is the NC Output:

N390 M01
N400 T50 M06 (   10-32 TAP)
N410 (MAX - Z2.)
N420 (MIN - Z-.4)
N430 G00 G17 G90 G54 B0. X-2. Y1.125
N440 G43 H1 Z2.
N450 G94
N460 S300 M03
N470 M135 S300
N480 G98 G84 X-2. Y1.125 Z-.4 R.1 F9.38
N490 X2. Y1.125
N500 X2. Y-1.125
N510 X-2. Y-1.125
N520 G80
N530 M05
N540 G91 G28 Z0.
N550 M01
N560 T37 M06 (LEFT HAND 10-32 TAP)
N570 (MAX - Z2.)
N580 (MIN - Z-.4)
N590 G00 G17 G90 G54 B0. X-2. Y1.125
N600 G43 H1 Z2.
N610 G94
N620 S300 M04
N630 M135 S300
N640 G98 G74 X-2. Y1.125 Z-.4 R.1 F9.38
N650 X2. Y1.125
N660 X2. Y-1.125
N670 X-2. Y-1.125
N680 G80
N690 M05
N700 G91 G28 Z0.
N710 M01

The .NC code is exactly what I was aiming for and seems to handle LH/RH taps perfectly.

My only question is whether I've gone about this in the proper way.  Is there anything wrong with this method?  

Also, not sure what you were trying to show me in the Fadal post.  That seems to be beyond my grasp without further explanation.

Link to comment
Share on other sites

We turn the spindle on the same for a rigid tap as any tool, then handle the M135 in PTAP.

Here is my PTAP postblock for my makino:

ptap$            #Canned Tap Cycle
      pdrlcommonb
      #RH/LH based on spindle direction

      if rigid_tap, pbld, n$, "M135", *speed e$           #Rigid Tapping
      if use_pitch = 0,
        [
        pcan1, pbld, n$, *sgdrlref, *sgdrill, pdrlxy, pfzout, pcout, pindexdrl,
          prdrlout, *feed, 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)
        pcan1, pbld, n$, *sgdrlref, *sgdrill, pdrlxy, pfzout, pcout, pindexdrl,
        prdrlout, *speed, *feed, !feed, strcantext, e$

        ]
      pcom_movea

Gives this output:

N530T53
(10-32 CUTTING TAP)
M6 
M11
G0G54.1P1G90B0X-1.0824Y-5.4004S1600M3
M10
M255
M8 
M26
G43Z8.H1 
T126 
(TAP 10-32 HOLES)
G0G90
M135S1600
G84Z7.135R7.685F50.
X1.1876
X3.4576
Y-6.6004 
X1.1876
X-1.0824 
G80Z8. 
............

 

  • Thanks 1
Link to comment
Share on other sites
54 minutes ago, Zoober said:

We turn the spindle on the same for a rigid tap as any tool, then handle the M135 in PTAP.

Here is my PTAP postblock for my makino:


ptap$            #Canned Tap Cycle
      pdrlcommonb
      #RH/LH based on spindle direction

      if rigid_tap, pbld, n$, "M135", *speed e$           #Rigid Tapping
      if use_pitch = 0,
        [
        pcan1, pbld, n$, *sgdrlref, *sgdrill, pdrlxy, pfzout, pcout, pindexdrl,
          prdrlout, *feed, 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)
        pcan1, pbld, n$, *sgdrlref, *sgdrill, pdrlxy, pfzout, pcout, pindexdrl,
        prdrlout, *speed, *feed, !feed, strcantext, e$

        ]
      pcom_movea

Gives this output:


N530T53
(10-32 CUTTING TAP)
M6 
M11
G0G54.1P1G90B0X-1.0824Y-5.4004S1600M3
M10
M255
M8 
M26
G43Z8.H1 
T126 
(TAP 10-32 HOLES)
G0G90
M135S1600
G84Z7.135R7.685F50.
X1.1876
X3.4576
Y-6.6004 
X1.1876
X-1.0824 
G80Z8. 
............

 

Is M255 for GI/Super-GI Radical Mode on your machines?  Is that what you use for everything or do you change it up depending upon the current job?

Link to comment
Share on other sites
26 minutes ago, Matt Berube at Ferron Mold said:

Is M255 for GI/Super-GI Radical Mode on your machines?  Is that what you use for everything or do you change it up depending upon the current job?

Yes, we have Misc reals set up for SGI. M255 is default if we don't enter a value. That way we can control for every op.

This is for our Pro 3. Pro 5 uses different values. Still in the M250's, but different.

sgi-mr.JPG

  • Thanks 1
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...