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:

Inverse Time = Inches per min?


Chris Rizzo
 Share

Recommended Posts

Brain puzzle here for whatever reason: So when inverse time is output, would the actual feed number (eg F750.) be interpreted as inches per minute by the machine tool? In other words the post does the inverse time math, and then spits out a feed of the equivalent imp for the axis to move? <_<

 

What confuses me is there will be a g98, signifying time based feedrate....

 

OR is the machine control doing the math (60 / 750 =.08 seconds) and then moving at a velocity to reach the programed point in .08 seconds?

Link to comment
Share on other sites

Not really sure what your asking..... but lets take an average nothing special HAAS, they have a Max feed rate (programmable) lets say around 300-400 preferably. So the ability (for the baud rate) to crunch that much code in the specific amount of time (defines how bitchen your processor is). And maybe a rapid (point to point) lets say 1000ipm. The only time I've really use that is for a lathe to not run surface feed to ipm. So whatever 1000 inches per minute to travel 12" translates to, yes I think that's how travel is calculated.

Link to comment
Share on other sites
Guest CNC Apps Guy 1

This is one of the most straight forward Inverse TIme explanations I've seen.

 

Taken from MMS online:

 

"C. Inverse Time Feed Control

 

Most NC programmers think of the F-register in a CNC controller as the method for specifying linear velocity, i.e. uPM or uPR. This is true for two- and three-axis linear motion, but when rotary motion is to be controlled, the F-register takes on a different meaning. When combined linear/rotary motion exists, most good CNC controllers require the inverse of the amount of time necessary to make the move, and since each move has a different distance, the corresponding time varies for each block as well. The exact reasoning behind using the inverse value rather than the direct time in minutes or seconds is simply a historical matter.

 

Calculating the F-Code

The constant used to calculate the inverse time code is normally 1 minute, such that the equation is:

 

F(code) = 1(minute) / (time = 3D distance/velocity)

The 3D distance of the move is calculated in model coordinate space at the NC control point, not in machine coordinate space and not necessarily at the tool tip. For example, a 5-inch move at 50 IPM takes 5 50ths of a minute, yielding an inverse time calculation of 1/.1 and an F-code of F10. The same 5-inch move at 700 IPM would be 1(minute) / (time = 5 / 700) or (1/(5/700)) or (1/.0071428) or F1400.168

 

Variations To The Equation

If this value exceeds the F-Register format, the common reaction of a postprocessor is to output the maximum value of the F-register (F999.99 if the F-register format is 3.2), a signal to the part programmer that a problem exists. When this happens the CNC machine does not achieve the programmed velocity, and unless the F-register can be re-assigned, the machine simply cannot process the move(s) faster.

 

Since the typical CNC's F-register has a 3.2 or at most a 3.3 format, the need obviously exists for some way of controlling the results of the equation to avoid "over-stuffing" the F-register. If the machine normally operates at a high (over 500-1000 uPM) velocity, the machine tool builder sometimes changes the interpretation of the numerator in the inverse time equation to 1(second), or in extreme cases 1(millisecond). When the numerator is 1 second the above F1400.168 would then be coded as 1 / (time = 5 / (700/60)), or F23.333.

 

Invoking Inverse Time Mode

Most CNC controllers equipped with inverse time require a G93 to declare the feed mode on the initial move containing rotary motion. The general rule is: If a G93 is required to invoke inverse time mode, a G94 or G95 is also required to cancel it. This means the first of a sequence of normal XYZ linear moves with no rotary A/B/C word(s) will require a G94 and an F that is interpreted in uPM.

 

Most controllers that support G93 inverse time require an F-code on every move, even if it does not change from the previously programmed value. A "feed hold" will occur if this rule is violated. This situation normally happens when machining a cylindrical or spherical surface since the chordal moves are of equal distance and the velocity is constant. There is a spec setting that forces redundant F-codes for inverse time which should be set unless it is specifically known that the F-register is modal.

 

Poor Man's Inverse Time Feed

Because inverse time calculations can appear confusing for the uninitiated five-axis programmers, some machine builders have attempted to simplify five-axis programming by offering a form of "poor man's" rotary feed control where the CNC operator manually sets the fourth and fifth axis radius values.

 

This type of feed control can work well for machining simplistic cylindrical or spherical shapes, but since the tool tip is normally in a state of constant change relative to the center of each rotational axis when in five-axis contouring mode (especially true when machining doubly curved surfaces), the true tool tip velocity is never truly maintained.

 

A good post will automatically generate inverse time feed calculations, and you can scale the F register to achieve minute-based or second-based calculations.

 

Radial Mode Feed Control

Some controllers (mostly European) use two radius registers to tell the CNC the radial distance from the tool tip to the centerline of rotation. The Deckel MillPlus CNC uses B40=r1 and C40=r2 to control feed, and they (B40/C40) only need to be stated if/when they change. This syntax is quite verbose (a typical block might read B40=rr.rrrr C40=rr.rrrr) when compared to the single Fff.ffff required to support inverse time. However, the feed rate is expressed in a single F-code at the beginning of the program making it much easier for the operator to edit feedrates at the machine since there's only one block to change."

 

If that's not clear enough, think about it like a record player.  The closerImage1.gif you move to the center of rotation, the slower your linear velocity is.  Say you are cutting a part by rotating a rotary table, and you would like to feed at 10 linear inches per minute.  How can you just give a F10.0?  What if the part you were cutting was 30 inches in diameter?  What if it was 1 inch in diameter?  The controller doesn't know what diameter you're cutting.  F10.0 means nothing to your controller.  So, to correct for this, we use inverse time feed.  Some controllers may vary, but most I've seen are calculated by 'Speed(IPM or MMPM)/Distance)'.  For example, you want to move at 10 IPM and your move is 2 inches long.  Your feedrate in G93 would be 5.  So you can see very small moves give you huge feedrates, expect to see F1500.0 or more.  Most controls also need a F on every G01, G02, or G03 line.  The F will most likely vary every line.  Hope this answers your question.

-Derek

 

 

HTH

Link to comment
Share on other sites

Thx for the replies. Maybe I'm thinking in circles here....

 

I guess how does the control compute/generate an actual feed move to the servos. What velocity does it use?

 

Example with feed per distance- With 50 inches per minute called, it knows it has to move xxx fast to travel 50 inches in one minute.

 

When inverse time is active how fast does the control actually figure to move the axis? In other words it takes the F750. and does what with it? Does it look at it's programmed destination, looks at the time called out to get to that destination, and then send a feed move to the servo at xxx rate to get there. ?

 

 

p.s. Chip, love the xr4ti. Used to have one myself, and there is a big Merkur-only junkyard out here in Oregon. Pretty cool seeing all the dead ones laying out in the desert.

Link to comment
Share on other sites

That's a good read. :unsure: The one way I'm trying to comprehend this is on a rotery, I'll program F20.0 and Mastercam calculates how far the cutter to center of the part and posts a F999.99 (Max feed rate in the post) I always set that to something much lower. Because actually it wanting to feed it like F1700.00. Dekel Maho Gildermeisters are Hugh in the 5 axis stuff and simplified this to to codes. Good stuff! :unsure:

Link to comment
Share on other sites

I guess that explains why on my 5X, Fanuc 31i A5, I may have 50ipm programed but say, doing a 5x curve cut, the display jumps all over the place, up to 900ipm then down to 150 then up/down etc.

I have to say that the actual tool travel speed doesn't seem to be whats programmed though.. :blink:

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