Page 1 of 2 12 LastLast
Results 1 to 12 of 16

Thread: benefits of incremental?

  1. #1
    Registered
    Join Date
    Oct 2005
    Location
    USA
    Posts
    5
    Downloads
    0
    Uploads
    0

    benefits of incremental?

    Hi, I just started a new job today programming trning style lathes and they use incremental mode on fanuc controls. We only used absolute at my old job and I understand the difference but I just can't grasp the benefits of using incremental over absolute and/or vice versa. My boss said its so they can easily edit the program to change just one move without having to change the whole program. Wouldn't absolute be better for that? If anyone can help with the pros and cons or whatever it would be appreciated. thanks


  2. #2
    Registered
    Join Date
    Sep 2005
    Location
    USA
    Posts
    755
    Downloads
    0
    Uploads
    0

    Uses for Incremental

    There are lots of good uses for incremental programming, and you should keep an open mind about these things.

    In the olden days, all motions were incremental because the primitive NC "tape" machines would just read an incremental XYZ command from the paper tape, load the number in a register, and count up or down the number of pulses to make the move (probably with pulse motors). When microprocessors and mini-computers were introduced in what we now call "CNC" machines, the controls could keep track of the absolute position of each axis with no problem. Absolute or incremental moves could be made at any time.

    I've seen incremental motions used in all kinds of situations, but here's one that few people know about: It involves using G91 (incremental) combined with the old method of uing non-decimal formatted numbers.

    Suppose you're cutting a 3D mold with a ballnose endmill, and you're making a zillion little tiny moves in XYZ. The size of the program becomes a problem because these programs need to be fed to the CNC in "drip-feed" DNC mode. If you're running a DNC link at 9600 baud (960 characters/second), which program do you think will run faster:

    This one (absolute) ?
    G90 G01
    X1.2345 Y2.3456 Z3.4567
    X1.2347 Y2.3459 Z3.4571
    X1.2350 Y2.3462 Z3.4577
    X1.2355 Y2.3469 Z3.4579

    .. or this one (incremental) ?
    G91 G01
    X2Y3Z4
    X3Y3Z6
    X5Y3Z2

    A lot smaller, isn't it?


  3. #3
    Registered
    Join Date
    Jan 2006
    Location
    United States
    Posts
    7
    Downloads
    0
    Uploads
    0
    We often use incremental programming to cut the same shape in 2 or more locations.The main program is used to locate with absolute and then we call-up the sub-program which incrementally cuts the shape.

    Dan,
    Good idea-does this actually reduce the jerkiness you get when the machine can't process the code fast enough? One problem with this though is that if there's a move that's bad then everything after it in that axis will be bad also.


  4. #4
    Registered
    Join Date
    Sep 2005
    Location
    USA
    Posts
    755
    Downloads
    0
    Uploads
    0

    Jerkines in DNC

    arfonce: No, this won't necessarilly stop the jerkiness that happens when you're trying to cut very small increments at a higher feedrate.

    Every CNC has a maximum number of blocks that it can process per second. This internal block processing speed is not improved by reducing the number of characters in the program. It will, however, greatly improve things if the problem is due to "Data starvation" due to a slow DNC link.

    Other things that might improve things are:

    1) Programming in metric if your machine has metric ballscrews. The CNC has to do an inch/metric conversion on every number your program in inch with metric ballscrews or in metric on a machine with inch ballscrews. Programming in the machine's "native" increments system saves the processor this time.

    2) Increasing the parameter for the "In position" zone for each axis. When you make a G01 move, the servos must get to within this tollerance of the exact position before it can execute the next block. Increasing this parameter lets the CNC go to the next block a bit quicker.

    3) Using software that generates a series of G02/G03 moves with arcs that fit your 3D surface (rather than many G01 straight moves). This reduces the number of BLOCKS in the program, which increases the point-to-point distance. A series of arcs can sometimes cut a more accurate surface, but your CAM system needs to have the feature.


  • #5
    Moderator Switcher's Avatar
    Join Date
    Apr 2005
    Location
    mydxf.blogspot.com
    Posts
    3,665
    Downloads
    0
    Uploads
    0
    I think the reason "G91" was introduced, was, so that you can program the CNC while working from a print. It is far easier to program from point to point using "G91", than to write a program from an axis zero (Home) point.

    Most times when I write programs I use both "G90" & "G91", I use "G90" when I want to send all my axis home, and for Rapid Feed (Around the Part).

    My favorite thing about using both "G90" & "G91", Is to combine a bunch of sub-programs, into my main program. My subs mostly use "G91", while my main will use "G90" to give me a starting point to use my "G91". (I hope that didn't sound like a tax form!)

    Example:

    % ; Start program

    G90 ; Absolute

    G00 X0.0 Y0.0 Z0.0 F50 ; Send all axis home

    Sub_Program_1

    G90 ; Absolute

    G00 X0.0 Y0.0 Z0.0 F50 ; Send all axis home

    Sub_Program_2

    G90 ; Absolute

    G00 X0.0 Y0.0 Z0.0 F50 ; Send all axis home

    Sub_Program_3

    G90 ; Absolute

    G00 X0.0 Y0.0 Z0.0 F50 ; Send all axis home

    M30 ; End of program


    Really you should learn to use both, combined together they can make things easier on you.



    .


  • #6
    Registered
    Join Date
    Jul 2005
    Location
    Canada
    Posts
    11,960
    Downloads
    0
    Uploads
    0
    Quote Originally Posted by paelscrit
    ... My boss said its so they can easily edit the program to change just one move without having to change the whole program. Wouldn't absolute be better for that? .....
    So far the responses seem to have been referring to VMCs not lathes. I have thought about your boss' claim quoted above because in general a program in incremental is more difficult to edit than absolute because one change affects the position of everything following it. One situation I can imagine though is if the job is a family of different length shafts with the same features at each end separated by a straight section. One change to the Z coordinate for the straight section in incremental changes the overall length and leaves everything else the same. In absolute it would be necessary to change all the Z coordinates at one end or the other of the straight section.


  • #7
    Moderator Switcher's Avatar
    Join Date
    Apr 2005
    Location
    mydxf.blogspot.com
    Posts
    3,665
    Downloads
    0
    Uploads
    0
    Actually, I run a Schutte 5-axis cnc toolgrinder, It would be closer to a lathe, than a VMC.

    I have to disagree, that "G91" is more difficult to edit than "G90". Whats so difficult with either one?

    Really you should learn to use both, combined together they can make things easier on you.
    With my example above I can use a mixture of both, saving me steps in my program, like for my subs (Most) I can use "G91" , and when I need to move around the part without cutting/grinding I can use "G90" this way It doesn't matter where my tool is at, I can Rapid around, without doing it in incremental steps, I say go to home, it goes, I start another sub, and so on.

    They are both their to be used, mix them up!


    ------------------------------------------------------------------
    This one (absolute) ?
    G90 G01
    X1.2345 Y2.3456 Z3.4567
    X1.2347 Y2.3459 Z3.4571
    X1.2350 Y2.3462 Z3.4577
    X1.2355 Y2.3469 Z3.4579

    .. or this one (incremental) ?
    G91 G01
    X2Y3Z4
    X3Y3Z6
    X5Y3Z2

    A lot smaller, isn't it?
    I'm not sure I follow this, If I need to move "X1.2345", how would "X2" be the same, rounding the numbers wouldn't benifit you If you still needed to move "X1.2345".

    ------------------------------------------------------------------




    .
    Last edited by Switcher; 01-26-2006 at 01:35 PM.


  • #8
    Registered
    Join Date
    Jul 2005
    Location
    Canada
    Posts
    11,960
    Downloads
    0
    Uploads
    0
    Maybe using the word "difficult" was a mistake. Editing in either incremental or absolute is easy but often in incremental you have to make changes as it were downstream; for instance if you make a positive change in the first of two diameters along a shaft but don't want to change the second you have to do a negative change for that one. I was trying to think of an example where a single change in incremental did not require any other changes in the program.

    Regarding the example and question:

    This one (absolute) ?
    G90 G01
    X1.2345 Y2.3456 Z3.4567
    X1.2347 Y2.3459 Z3.4571
    X1.2350 Y2.3462 Z3.4577
    X1.2355 Y2.3469 Z3.4579

    .. or this one (incremental) ?
    G91 G01
    X2Y3Z4
    X3Y3Z6
    X5Y3Z2

    I'm not sure I follow this, If I need to move "X1.2345", how would "X2" be the same, rounding the numbers wouldn't benifit you If you still needed to move "X1.2345".

    The X2 in the incremental is the difference between X1.2345 and X1.2347; notice the absence of the decimal and remember that absolute means 'move to these coordinates' while incremental means 'move this distance from where you are'.


  • #9
    Moderator Switcher's Avatar
    Join Date
    Apr 2005
    Location
    mydxf.blogspot.com
    Posts
    3,665
    Downloads
    0
    Uploads
    0
    How is "X2" & "0.0002" the same?

    If I say "X2" isn't that the same as "X2.0"?




    .


  • #10
    Registered
    Join Date
    Jul 2005
    Location
    Canada
    Posts
    11,960
    Downloads
    0
    Uploads
    0
    Quote Originally Posted by Switcher
    How is "X2" & "0.0002" the same?

    If I say "X2" isn't that the same as "X2.0"?
    .
    Okay; on your machine it may. On VMCs often there is a setting or parameter that controls the interpretation of entries without a decimal so X2 is 0.0002 and X20000 is 2.0000.

    This sort of thing dates back to the days of paper tapes and (almost) no memory.


  • #11
    Moderator Switcher's Avatar
    Join Date
    Apr 2005
    Location
    mydxf.blogspot.com
    Posts
    3,665
    Downloads
    0
    Uploads
    0
    Geof, I run "Siemens 840D" on a tool grinder. I've never found anything like that before.

    Yeah, If I said "X20000" in a program I wrote at work, two things could happen:

    (1) I would crash.

    (2) I would max out my software limit switch.

    I would prefer (2), if it had to happen.

    Thanks for the info.


    .


  • #12
    Registered
    Join Date
    Dec 2004
    Location
    USA
    Posts
    167
    Downloads
    0
    Uploads
    0
    Most older Fanuc controls are like this X2 (no ".") would be read as X0.0002, X2. would be X2.0000. It's all about trailing zeros. I think Fadal's in format 2 are like this also.


  • Page 1 of 2 12 LastLast

    Posting Permissions


     


    About CNCzone.com

      We are the largest and most active discussion forum from DIY CNC Machines to the Cad/Cam software to run them. The site is 100% free to join and use, so join today!

    Follow us on

    Facebook Dribbble RSS Feed


    Search Engine Friendly URLs by vBSEO ©2011, Crawlability, Inc.