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 move feedrates when using AICC 2.


huskermcdoogle
 Share

Recommended Posts

Ok, so this subject has bugged me for a long time.  I have not been able to wrap my head around it.

 

Fanuc 31iA

 

Can you run inverse time feed when in AICC II and performing rotary cuts?  How do most of you guys handle feed with 4/5ax toolpaths?  I am struggling with understanding what I need to fix in my post to get the output that I am looking for feed wise.  I have ideas, and know how to achieve it post code wise, just don't know what I need to feed the machine to get the motion that would be smoothest and safest for my cutters.

 

Thanks,

 

Nick

Link to comment
Share on other sites

On a Fanuc, yes you can. I've ran countless programs doing it.

 

On a Siemens, its much different. The using the COMPCAD command, the controller takes a bunch of code (say 50 lines of code) and COMPresses it to one line (nurbs curve). Where inverse is based on a moment of a toolpath taking X amount of time, it gets way wacky.

Link to comment
Share on other sites

Ahhhhh. There are restrictions on when you can activate them. My format goes a little like this;

Tool change

Stage tool

Coolant on

G5.1Q1

Work offset activate, linear XY and Rotary Position activate spindle on

Activate Tool Length offset

G5.1Q3

...

G5.1Q0

Cancel TLO

G53Z0

Link to comment
Share on other sites

Well I don't have trouble activating G05.1Q1, I get an alarm when I command G93 to switch feed mode.  Would this be indicative of not having inverse time feed?  Do I need to have inverse time feed?  What benefits does it have if I can command feeds fast enough to do the job?

 

YEs that would tell me you do not have that option. This isn't a Mori by chance is it?

Link to comment
Share on other sites

you need a feed call on every G1 line of code

 

 

N5
M220T5 (1/2 BULLNOSE .180 RAD)
T5
M6
M11 (UNLOCK)
M49
G00 G17 G90 G54 A264.207 X10.0401 Y1. S1391 M03
G43 H5 Z3.0856 M8
Z1.
G05P10000R1
G93 G01 Y1.0735 Z-.6746 F6000.
X10.0399 Y1.0689 Z-.6845 F6084.18
X10.0397 Y1.0623 Z-.697 F4667.35
X10.0394 Y1.055 Z-.7091 F4667.38
X10.0391 Y1.047 Z-.7208 F4667.38
X10.0388 Y1.0384 Z-.732 F4667.35
X10.0385 Y1.0292 Z-.7427 F4667.37
X10.0381 Y1.0194 Z-.7528 F4667.35
X10.0377 Y1.009 Z-.7624 F4667.38
X10.0373 Y.9981 Z-.7714 F4667.37
X10.0369 Y.9867 Z-.7798 F4667.38
X10.0365 Y.9748 Z-.7874 F4667.37
X10.036 Y.9625 Z-.7945 F4667.37
X10.0355 Y.9499 Z-.8008 F4667.35
X10.0351 Y.9369 Z-.8063 F4667.38
X10.0346 Y.9236 Z-.8112 F4667.37
X10.0341 Y.9101 Z-.8153 F4667.37
X10.0336 Y.8964 Z-.8186 F4667.36
X10.0331 Y.8824 Z-.8211 F4667.37
X10.0325 Y.8684 Z-.8228 F4667.36
 
etc
etc
  • Like 3
Link to comment
Share on other sites

I understand the need for an F command on every line with G93.

 

 

YEs that would tell me you do not have that option. This isn't a Mori by chance is it?

 

Nope, its a CMS. 

 

After reading some more, the need to run in G93 isn't nessesarily required with TCP.  However, thinking about it, maybe smoothing, and smooth tcp would be good options to have and would help the situation.  My issue is more that I need a way to make sure I get accurate feed when there is only a rotary feed on the rotary table.  When there is ample movement of linear axes it doesn't seem to be an issue.

 

Ron any comments?  Are you typically using G93 or G94 with Head/Table movement.  What about with H/H? or TT?

Link to comment
Share on other sites

Really comes down to the machine and the options they have. With TCP on most of the newer machines you don't need inverse time. Then on some of the newer machines when you start throwing a lot weight around sometimes the old school inverse feed rates seem to help smooth the motion out. Having a good understanding of the machine and the control parameters are the biggest parts of the equation. Each one has their strengths and how has the manufactured tapped into the control aspects in relation to the drive motors and feed back loops to give nice smooth motion. Run tests and see how the machine has been tuned on your 4th and 5th axis. Then from there you will see what yields the best results for make the best part possible. What I know most times is being in front of a machine and just watching it run. Listening and seeing things. Looking at the motions and see how the tool and material work together. That is the best way. I can make all kind of suggestions, but the rubber meets the road when I can be in front of the machine running a jog. Then I can make the best comments about what is or what is not a good process for your application. Not trying to get work with that comment trust me I got a good amount, just for me I need to be a part of it in person to make my best recommendations.

Link to comment
Share on other sites

I understand the need for an F command on every line with G93.

 

 

 

Nope, its a CMS. 

 

After reading some more, the need to run in G93 isn't nessesarily required with TCP.  However, thinking about it, maybe smoothing, and smooth tcp would be good options to have and would help the situation.  My issue is more that I need a way to make sure I get accurate feed when there is only a rotary feed on the rotary table.  When there is ample movement of linear axes it doesn't seem to be an issue.

 

Ron any comments?  Are you typically using G93 or G94 with Head/Table movement.  What about with H/H? or TT?

 

TCP "should" take care of the Feeds, and synchronize the rotary/linear axes, to maintain a constant commanded feed value, during any type of cutting. I have seen issues (many times), where the Rotary Drives are not "tuned" properly. This used to be especially prevalent on Haas machines. Not sure if it is an issue on your machine, but even if you play with all the HSM options in the world, it won't account for a set of rotaries that aren't configured properly...

 

And, to be fair, the Haas machines only used Inverse Time, as TCP wasn't an option. (It is now, on some newer models, although they are still working out some of the bugs, from what I've seen...)

 

Only way to really be sure, as Ron mentioned, is to do some testing, and read up on the Machine Parameters.

 

Does your CMS use a "Fanuc" control underneath? Or something else?

Link to comment
Share on other sites

 

Does your CMS use a "Fanuc" control underneath? Or something else?

 

Fanuc 31i-A5.

 

Well mainly, it seems things are tuned pretty well.  Y axis is slow, but there is a lot of mass to move there (gantry).  X and Z are quick and the rotary table is very dynamic.  Seems to be tuned very well.  We can do A Z motion like champ with very good accuracy (IMHO) at reasonable speeds (60-80rpm).  Max feed is 43200deg/min.  Anyway, B and C are relatively slow, but seem to do well within their limits (9000 deg/min).  Main issue I have is I have no point of reference or local mentor to pass things by that can help point me in the right direction.  Up til now I have always gotten this stuff, but haven't ever ventured into any simultaneous rotary work.  Just toolplane type work.  Now that I have my head wrapped around how to do tool axis control and some basic applications of some of the advanced paths like morph, I would like to apply some of that and try to make things run at some level of potential far above where I am at now.

 

I think at this point the biggest thing I need to do is plug in the equation in the book on how to calculate feed when a rotary is involved.  That way I can output feedrates that will get me speeds that intended, instead of what I think will work, but is commanded far above the what it will actually go.  Mainly I need to calc feeds for deg/min when there is no linear movement.

 

Any suggestions on this subject?

 

Husker

Link to comment
Share on other sites

There are many things out there to cheat this in, but honestly nothing beats just getting out there and experimenting. See what it will do, how it will act and then build from there to make a process that machine with that control for a certain material cuts. Each material and each tool will have it's own unique process. I have been blessed to cut and work on as many different materials and machines as I have, but end of the day you sitting in front of the machine and working it out is much better hands down. Each machine has it's own personality and it up to a good programmer it figure it out. Listen to your operators and your setup people running it day in and day out. They are your eyes and ears if you can't be in front of the machine.

  • Like 1
Link to comment
Share on other sites

I'm programming Fanuc31i machines here (Mori NH5000/Fanuc Robodrill) without inverse time feedrate option but they are 4-axis only... 5-axis would be another story.

Here are feedrate calculations.  Hope it helps.

pfr_4x  

    if cabs2 = old_c4x,   fr_4x = fr_pos$     #No rotary motion
                          
    else, [
            # Radius (distance from tool to rotation axis)
            Radius = sqrt(xabs^2+zabs^2)
            if Radius < 0.001, Radius = 0.001 #To avoid divide by zero

            # C angle motion
            DeltaC = abs(old_c4x - cabs2)
            if DeltaC > 180, DeltaC = 360 - DeltaC

            # Linear distance motion
            depXYZ = sqrt((old_x4x-xabs)^2+(old_y4x-yabs)^2+(old_z4x-zabs)^2)

            # rotary distance motion (unrolled)
            depC = abs(Radius * pi$ * DeltaC / 180)

            # total distance motion
            depXYZC = sqrt(depXYZ^2 + depC^2)

            # total motion time
            T_4x = depXYZC / fr_pos$

            # linear feedrate
            FXYZ = depXYZ / T_4x

            # rotary feedrate
            FdevC = depC / T_4x

            # feedrate to output
            fr_4x = sqrt ((FdevC * DeltaC / depC)^2 + FXYZ^2)

        ]
Link to comment
Share on other sites

 

 

you need a feed call on every G1 line of code

 

Not necessarily. If your change in distance is the same amount than it will have the same federate. The distance from point A to B is equal to the distance from point B to C. Having a rotary move broken in segments will yield this as long as the linear axis does not change and the angle between points is the same. MPmaster on a 4th axis will yield this and I had to change the parameter to support a modal feed-rate while using inverse. Fanuc 16i on a Matsuura. 

 

But, the majority of the time there is a feedrate on everyline, because the point to point distance is changing, therefore so is the time. 

Link to comment
Share on other sites

 

I'm programming Fanuc31i machines here (Mori NH5000/Fanuc Robodrill) without inverse time feedrate option but they are 4-axis only... 5-axis would be another story.

Here are feedrate calculations.  Hope it helps.

pfr_4x  

    if cabs2 = old_c4x,   fr_4x = fr_pos$     #No rotary motion
                          
    else, [
            # Radius (distance from tool to rotation axis)
            Radius = sqrt(xabs^2+zabs^2)
            if Radius < 0.001, Radius = 0.001 #To avoid divide by zero

            # C angle motion
            DeltaC = abs(old_c4x - cabs2)
            if DeltaC > 180, DeltaC = 360 - DeltaC

            # Linear distance motion
            depXYZ = sqrt((old_x4x-xabs)^2+(old_y4x-yabs)^2+(old_z4x-zabs)^2)

            # rotary distance motion (unrolled)
            depC = abs(Radius * pi$ * DeltaC / 180)

            # total distance motion
            depXYZC = sqrt(depXYZ^2 + depC^2)

            # total motion time
            T_4x = depXYZC / fr_pos$

            # linear feedrate
            FXYZ = depXYZ / T_4x

            # rotary feedrate
            FdevC = depC / T_4x

            # feedrate to output
            fr_4x = sqrt ((FdevC * DeltaC / depC)^2 + FXYZ^2)

        ]

David,

 

I was playing around with almost exactly this the other night, I had it outputting deg per minute when there was no linear motion, was having trouble, am still having a little trouble understanding what the machine is looking for to achieve the feed rates I program when there is only a minute linear move as well as a rotary.   You wouldn't by chance have parameter 1465 set to zero would you?  In essance my machine when in turning mode is a 4ax.  I can do 5ax cuts with it, but with TCP on 4/5 and no TCP control on 6, the 6 is essentially a dumb old rotary axis, no dynamic offsets, nothing, only for the tilt. 

 

Thanks,

 

Husker

Link to comment
Share on other sites

First; to determine if you have the G93 option, in MDI command it. If the control takes it, you have it. If you get an "Improper GCode" alarm, you do not. If it takes it, commsnd G94 to set it back to IPM.

 

Next, in MDI command G43.4. If it takes it you have it. If you get the "Improper GCode" alarm you don't. If it takes it, press reset to cancel. Or G91 G49.

 

If you have both, you can ONLY use one at at a time. TCP/G43.4 gets my vote. Inverse is $#!+... unless thats all you've got, then it is what it is.

 

JM2CFWIW YMMV

 

:coffee:

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