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:

rotary feed rates


DavidB
 Share

Recommended Posts

Hi all,

 

When I post a multiaxes Toolpath (4 Axis Rotary)

I have a feed rate of 6000 in my tool parameters but im getting a feed rate nothing like it.The feed rate is changing for every rotary axis move and its very low.I noticed this in the post #Use calculated rotary feed values, (0 = no, 1 = yes)

Is this the answer our is it more involved?

Thanks in advance cheers.gifcheers.gif

Link to comment
Share on other sites

David,

 

Inverse-time feed is not as complicated as it sounds. Inverse-time-feed rates simply dictate the amount of time a particular stroke will take to complete. To calculate the time for a stroke, divide the inverse-time-feed rate into 60. For example, an inverse-time-feed rate of F1000 dictates that the commanded motion of that line will take 0.06 seconds. This method of feed-rate command allows for more precise control of the feed rate when combining rotary and linear axes. With most modern controlers you have the option of running in either inverse-time-feed mode or feed-per-minute. This feature allows the user to program a combination of linear and rotary axis motions in feed-per-minute mode, but the rotary feed rate will only be exactly correct at the diameter set by the user. Therefore, inverse-time feed is preferred when mixing linear and rotary axes because it is not a linear-feed-rate command, but rather a time-based feed command.

  • Like 1
Link to comment
Share on other sites

The problem you run into is the Diameter for each calucation. The idea is that your machine be dialed in to make up for this and keep the axis controls precisely in time to each other but this is not always the case. In the old days when 4th axis were just an add on and not a standard thing put on machine most people had to write the wait code as I call in the program to make up the different dewteen the liner axis to the rotary axis. Thr inverse time is very useful if you have the calucations and the timing to each particlar place point and move but if any of these are off and tryingto do a very precise part you will run into problems. Anonther thing some peopl do not think about with inverse time is the load of a certina cut, tool and machines ability to make the cut or move with those tools. I have seen people try ot take a 1/2 endmill and take one pass beucase they were convinved it was the olny way to do a 4axis part where as if they took it with a 3/8 and roughed it then came back and did each side they would have the precision control and predicatable results they were really looking for in the begining. I have not used inverse time in years and found that if you appoarch all of your 4th axis work that is using more than one axis with this roughed and leave some for finish verse the try to do it all in one shot the presicion the predicatablility and the finish you are looking for all fall into to place.

 

Just my take on this HTH

  • Like 1
Link to comment
Share on other sites

Thanks for replys guys,

Maybe I should explane a little more .The toolpath is a surface Multi-axis Rotary4ax.

The machine is a Horizontal Makino A66.

I want the B axis to rotate in steed of the X axis moving.

What im getting in the posted file is correct Z and B axis moves each line.

But the the feed rate on each line is changing.

I changed the post to #Use calculated rotary feed values, (0 = no, 1 = yes) and I get one feed rate now.

The post has this info.# Rotary Axis Settings

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

# Typcial Vertical

srotary "B" #Rotary axis prefix

vmc : 0 #0 = Horizontal Machine, 1 = Vertical Mill

rot_on_x : 2 #Default Rotary Axis Orientation, See ques. 164.

#0 = Off, 1 = About X, 2 = About Y, 3 = About Z

# Typcial Horizontal

#srotary "B" #Rotary axis prefix

#vmc : 0 #0 = Horizontal Machine, 1 = Vertical Mill

#rot_on_x : 2 #Default Rotary Axis Orientation, See ques. 164.

# #0 = Off, 1 = About X, 2 = About Y, 3 = About Z

rot_ccw_pos : 1 #Axis signed dir, 0 = CW positive, 1 = CCW positive

index : 0 #Use index positioning, 0 = Full Rotary, 1 = Index only

ctable : .001 #Degrees for each index step with indexing spindle

one_rev : 0 #Limit rotary indexing between 0 and 360? (0 = No, 1 = Yes)

lock_codes : 1 #Use rotary axis unlock/lock M-Codes? (0 = No, 1 = Yes)

use_frinv : 0 #Use Inverse Time Feedrates in 4 Axis, (0 = no, 1 = yes)

rot_feed : 0 #Use calculated rotary feed values, (0 = no, 1 = yes)

maxfrdeg : 2000 #Limit for feed in deg/min

maxfrinv : 999.99#Limit for feed inverse time

frc_cinit : 1 #Force C axis reset at toolchange

ctol : 225 #Tolerance in deg. before rev flag changes

ixtol : .01 #Tolerance in deg. for index error

frdegstp : 10 #Step limit for rotary feed in deg/min

The feed rate in Toolpath parameters is 6000mm/min.

Im getting a rotary feed of 2000 I asume its mm/min.

Link to comment
Share on other sites

Well that is not what I get on our Hortzonal. Here is what Our post setting are using the MPMASTER POST on a Kitamura with a Fanuc 16M control.

code:

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

# Rotary Axis Settings

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

# Typical Vertical

#srotary "A" #Rotary axis prefix

#vmc : 1 #0 = Horizontal Machine, 1 = Vertical Mill

#rot_on_x : 1 #Default Rotary Axis Orientation, See ques. 164.

#0 = Off, 1 = About X, 2 = About Y, 3 = About Z

# Typical Horizontal

srotary "B" #Rotary axis prefix

vmc : 0 #0 = Horizontal Machine, 1 = Vertical Mill

rot_on_x : 2 #Default Rotary Axis Orientation, See ques. 164.

#0 = Off, 1 = About X, 2 = About Y, 3 = About Z

rot_ccw_pos : 1 #Axis signed dir, 0 = CW positive, 1 = CCW positive

ret_on_indx : 0 #Machine home retract on rotary index moves, (0 = no, 1 = yes)

index : 0 #Use index positioning, 0 = Full Rotary, 1 = Index only

ctable : .001 #Degrees for each index step with indexing spindle

one_rev : 1 #Limit rotary indexing between 0 and 360? (0 = No, 1 = Yes)

lock_codes : 0 #Use rotary axis unlock/lock M-Codes? (0 = No, 1 = Yes)

use_frinv : 0 #Use Inverse Time Feedrates in 4 Axis, (0 = no, 1 = yes)

rot_feed : 1 #Use calculated rotary feed values, (0 = no, 1 = yes)

maxfrdeg : 2000 #Limit for feed in deg/min

maxfrinv : 999.99#Limit for feed inverse time

frc_cinit : 0 #Force C axis reset at toolchange

ctol : 225 #Tolerance in deg. before rev flag changes

ixtol : .01 #Tolerance in deg. for index error

frdegstp : 10 #Step limit for rotary feed in deg/min


I opted to do ours with the part as you would machine it on the machine. I am doing this to work in conjuction with Vericut as I understand it works better to be like it would be on the machine in Mastercam verse the way you can do it without having the parts as it seems to me you are doing it. In my mind if you are using the MPMASTER Post you need to look here for the outputs I think you are looking for:

code:

#Feedrate calculation variables

frdelta : 0 #Calculation for deg/min

frinv : 0 #Feedrate inverse time

frdeg : 0 #Feedrate deg/min actual

prvfrdeg : 0 #Feedrate deg/min actual

ldelta : 0 #Calculation for deg/min, linear

cldelta : 0 #Calculation for deg/min, linear and rotary

circum : 0 #Calculation for deg/min

ipr_type : 0 #Feedrate for Rotary, 0 = UPM, 1 = DPM, 2 = Inverse

It would be here that would effect the Units per Minute (Be this Mertic or Inches thus units and not Inches per minute that most might think you would see) UPM, Degrees per Minute DPM, or Inverse as stated in the last question.

 

HTH

  • Like 1
Link to comment
Share on other sites

David,

 

This is from my A77 post, Works fine

 

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

# Rotary Axis Settings

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

vmc : 1 #0 = Horizontal Machine, 1 = Vertical Mill

rot_on_x : 2 #Default Rotary Axis Orientation, See ques. 164.

#0 = Off, 1 = About X, 2 = About Y, 3 = About Z

rot_ccw_pos : 1 #Axis signed dir, 0 = CW positive, 1 = CCW positive

index : 0 #Use index positioning, 0 = Full Rotary, 1 = Index only

ctable : 5 #Degrees for each index step with indexing spindle

use_frinv : 1 #Use Inverse Time Feedrates in 4 Axis, (0 = no, 1 = yes)

maxfrdeg : 10000 #Limit for feed in deg/min

maxfrinv : 99999.999 #Limit for feed inverse time

one_rev : 1 #Limit rotary indexing between 0 and 360? (0 = No, 1 = Yes)

lock_codes : 1 #Use rotary axis unlock/lock M-Codes? (0 = No, 1 = Yes)

frc_cinit : 1 #Force C axis reset at toolchange

ctol : 225 #Tolerance in deg. before rev flag changes

ixtol : .01 #Tolerance in deg. for index error

frdegstp : 10 #Step limit for rotary feed in deg/min

 

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

Link to comment
Share on other sites

this is what the code looks like..........

G00 G17 G21 G94 G90

G40 G49 G80

(TOOLPATH - FINISH4)

(STOCK LEFT ON DRIVE SURFS = .3)

(STOCK LEFT ON CHECK SURFS = .3)

T32 M06 (SHORT 19.05MM BN ENDMILL 3/4" )

M56 H1 D2

G54

M11 (UNLOCK)

G00 G90 X-6.459 Y663.401 B-178.812 S12000 M03

M10 (LOCK)

G43 H1 Z335.061 M08

Z-9.939

G01 Z-14.939 F1000.

X4.298 Z-13.133 B-175.922

X14.806 Z-10.809 B-172.975

X25.109 Z-7.954 B-170.

X35.249 Z-4.569 B-167.025

X45.277 Z-.669 B-164.078

X55.25 Z3.721 B-161.188

X55.841 Z5.691 B-159.337 F2000.

 

I can see a problem with the B axis being locked after the first move.

And the feed of 2000. should it be 6000. as I have a feed rate of 6000. in the tool pararmeters?

 

Cheers cheers.gifcheers.gif

Link to comment
Share on other sites

Look here for the 2000:

code:

maxfrdeg : 2000 #Limit for feed in deg/min  

Now for the axis locking I would need a debugged section of the post where you have this going on to see what is causing it. If you are using a modified MPMASTER the answer is easy. In this post there is a part of the contition statements where the pstop outputs code if the post is set ot return to the axis limits during rotations. It will make you get redunt moves and also locking commands in the posted code even though you do have a mi10 set to one which should be the only trigger for this to work but it does anyway and for the life of me can only get it no to work by setting the retract to home at axis moves to off in the post. I am thinking your post may be doing the same thing when it comes to 4th axis work and the locking of the axis. I have also gone a step further with my post and have it doing op codes for a control of the locking codes as well as 4th axis moves. The post sees the op codes for multi axis work and does not use the locking code but hwen I am doing postion moves or have my mr code on to ignore the op codes I then have my locking codes. This sounds straight foward but the logic here is hard ot figure out so sorry not sharing that much of my post but anything else be glad to point you in the right direction. If not using the MPMASTER for the hortzontal then invest the time and go that route. The MPMASTER by using the opcode gives you some very neat ways to control things spefically when it comes to multiaxis toolpaths related ot the 4th axis as well as 5 axis stuff if you put parts on MPMASTER into your post for doing 5 axis stuff. The inverse is on the right track just get the section that is doing the locking out in the open so you can see it then change the 2000 to the max amount you have and all should be heading your direction.

 

 

A question to you does Makino recommend inverse time for doing 4 axis work?

Link to comment
Share on other sites

Budgie I see a possile problem if you every try to do 4th axis work with your post here:

code:

ctable : 5 #Degrees for each index step with indexing spindle  

I set my output to .001 which is the smallest amount our machine will make angle moves. May not hurt a thing but this could give you problems if trying to go to a angle of say 107.578 and only have the ability of 5 degree in the post.

 

HTH

Link to comment
Share on other sites

Guys,

Please bare with me this Rotary axis machining is new to me.I had a look in the Makino book this morning and it says the Max feed rate for B axis is 5000 deg/min.

 

So looking at the code I posted before X55.841 Z5.691 B-159.337 F2000.

,the F2000 is that mm/min or deg/min?

Does the controller know that feed is in deg/min because it has a B axis move?

Link to comment
Share on other sites

This is the header in the post im using.

# Post Name : MPMASTER

# Product : MILL

# Machine Name : MACHINE

# Control Name : CONTROL

# Description : IHS MASTER GENERIC MILL G-CODE POST

# Associated Post : NONE

# Mill/Turn : NO

# 4-axis/Axis subs. : YES

# 5-axis : NO

# Subprograms : YES

# Executable : MP v8.21

# Post Revision : 8.1.01129 (MC_FULL.MC_MINOR.YYDDD)

Link to comment
Share on other sites

Ron,

I went threw your post settings that you posted here and noticed you don't use inverse time feedrates in 4 Axis.

but you also said.."The inverse is on the right track just get the section that is doing the locking out in the open so you can see it then change the 2000 to the max amount you have and all should be heading your direction."

 

Where as Budgie said to turn it on?

 

cheers.gifcheers.gif

Link to comment
Share on other sites
  • 14 years later...

Hello All,

I am facing the same issue here with my hwacheon Fanuc 31i controller. I have inverse feed time selected but my starting feed rate is F4.8 and then it moves to a constant of F100 let me post my program below.

 

N1
( 12 BULL-NOSED ENDMILL | TOOL - 11 | DIA. OFF. - 11 | LEN. - 11 | TOOL DIA. - 12. )
T11 M6
G0 G90 G54 X-55.9 Y0. A85.328 S2000 M3
G43 H11 Z113.4 M8
Z73.4
G1 Z62.9 F1000.
G93 A274.671 F4.8
X-50.699 A274.67 F100.
X-50.531 A274.665 F100.
X-50.362 A274.654 F100.
X-50.194 A274.639 F100.
X-50.026 A274.618 F100.
X-49.858 A274.591 F100.
X-49.692 A274.56 F100.
X-49.527 A274.523 F100.
X-49.362 A274.482 F100.
X-49.2 A274.435 F100.
X-49.038 A274.383 F100.
X-48.879 A274.326 F100.
X-48.721 A274.264 F100.
X-48.566 A274.198 F100.
X-48.413 A274.126 F100.
X-48.263 A274.05 F100.
X-48.109 A273.966 F100.

My feed in the tool is set to 1000, The only issue I'm facing is that the first line G93 A274.671 F4.8 and the constant F100 in other lines. I want to change this. How would I go about doing this?

Can anyone help me with this?

 

Link to comment
Share on other sites

That looks pretty correct to me... did you try program on your machine?

feed for first line:

- unrolled motion length = ((274.671°-85.328°)/360°) * pi * (dia = 2 * Z62.9)  = 207.86mm

- inverse feed = 1 / (207.86/F1000) = 4.81

Other motions are pretty small and i guess F100. is your max inverse feedrate in post settings (looks too low IMHO)

 

Link to comment
Share on other sites

Hello David Colin,

I have not tried it on the machine, the thing is my previous code looked like this: 

%
O9999
(PROGRAM NAME - NEW)
(DATE=DD-MM-YY - 27-03-19 TIME=HH:MM - 17:31)
G21 G0 G17 G40 G49 G80 G90
G91 G28 Z0.
N1
( 12 BULL-NOSED ENDMILL | TOOL - 11 | DIA. OFF. - 11 | LEN. - 11 | TOOL DIA. - 12. )
T11 M6
G0 G90 G54 X-55.9 Y0. A85.328 S2000 M3
G43 H11 Z113.4 M8
Z73.4
G1 Z62.9 F1000.
A274.671 F910.9
X-50.699 A274.67 F.2
X-50.531 A274.665 F30.7
X-50.362 A274.654 F63.3
X-50.194 A274.639 F91.5
X-50.026 A274.618 F126.4
X-49.858 A274.591 F156.8
X-49.692 A274.56 F183.3
X-49.527 A274.523 F215.2
X-49.362 A274.482 F242.
X-49.2 A274.435 F276.5
X-49.038 A274.383 F303.2
X-48.879 A274.326 F332.5
X-48.721 A274.264 F359.4
X-48.566 A274.198 F387.4

In the line X-50.699 A274.67 F.2  in the feed rate is 0.2 this was because in the control definition the feed for rotary was set to Degree/min as shown below:

 

image.png.f9cd40f0a66b4443cb65f0329414e4d1.png

 

When this setting was activated the tool moved very slowly during that line and I wanted it to move faster. So wanted to know how I would go about changing that. I have attached a video file of the machine when it runs on the above program so as to get clarity. Other motions are perfect.

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

I have not tried it on the machine, the thing is my previous code looked like this: 

The thing that jumps out at me immediately is the big red cross which indicates your machine control is not correctly linked to the post.

  • Like 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...