feed rates for G1 in XY, G1 in Z, and G2/G3 - WinCNC
Close
Login to Your Account
Results 1 to 15 of 15
  1. #1
    Join Date
    Oct 2014
    Country
    UNITED STATES
    State/Province
    Maine
    Posts
    939
    Post Thanks / Like
    Likes (Given)
    114
    Likes (Received)
    436

    Default feed rates for G1 in XY, G1 in Z, and G2/G3 - WinCNC

    I'm doing some programming on a 4'x8' shopsabre running WinCNC. Modelling is in Solidworks, CAM is HSMExpress. In WinCNC as it's set up by default (as I understand it), the feedrate "F" applies separately to G1 in XY, G1 in Z, and G2/G3. So, for example:


    code ____________________ actual feed rate
    G0 X0 Y0 Z0 _____________ rapid
    G1 X10 Y0 F100 __________ 100
    G3 X11 Y1 I0 J1 F150 ____ 150
    G1 Z-1 F50 ______________ 50
    G2 X12 Y2 I1 J0 _________ 150
    G1 X15 Y2 _______________ 100


    Am I remember my training on g-code (a very long time ago), most controllers would instead feed at:
    rapid
    100
    150
    50
    50
    50

    The default WinCNC post is sure acting like it and this is causing problems. It also leads to an annoying situation where running the same G-code two times can give you two different results if, for example, you don't give a feedrate the first time a G1 Z move shows up. I'm not usually a programmer, so I'm not positive that the problem isn't me.

    Am I completely wrong here about the way things are supposed to work?
    Is there an easy way to get WinCNC to behave normally?
    Does anyone have a better WinCNC post?

  2. #2
    Join Date
    May 2017
    Country
    UNITED STATES
    State/Province
    Minnesota
    Posts
    1,155
    Post Thanks / Like
    Likes (Given)
    1457
    Likes (Received)
    803

    Default

    I've never seen a machine remember different feed rates for different g codes. Should be you set F to what you want and it stays there until you change it. That said, the router world is a bit different from the machining world so YMMV.

  3. #3
    Join Date
    Jun 2015
    Country
    UNITED STATES
    State/Province
    Minnesota
    Posts
    447
    Post Thanks / Like
    Likes (Given)
    8
    Likes (Received)
    159

    Default

    For the sake of clarity, remove all the feeds in the program except the first one that appears after anything but G0. Run the program above the part and see if it doesn't run the whole thing at one speed. While you're at ir, also eliminate the repeat speeds your code seems to have. Meaning for example F150 150 should just be F150. But again, only one feed at the beginning for the whole thing.

    Try that and get back to us.

  4. Likes DanielG liked this post
  5. #4
    Join Date
    Oct 2014
    Country
    UNITED STATES
    State/Province
    Maine
    Posts
    939
    Post Thanks / Like
    Likes (Given)
    114
    Likes (Received)
    436

    Default

    Quote Originally Posted by 13engines View Post
    For the sake of clarity, remove all the feeds in the program except the first one that appears after anything but G0. Run the program above the part and see if it doesn't run the whole thing at one speed.
    I did that on a very similar program. It does keep track of XY and Z feedrates separately.

    Quote Originally Posted by 13engines View Post
    While you're at ir, also eliminate the repeat speeds your code seems to have. Meaning for example F150 150 should just be F150. But again, only one feed at the beginning for the whole thing.
    Sorry, that was supposed to be two columns, but the forum ate the spaces. First column is the g-code, second column is the actual feed rate while doing that line. I edited it to make it clearer.

  6. #5
    Join Date
    Oct 2014
    Country
    UNITED STATES
    State/Province
    Maine
    Posts
    939
    Post Thanks / Like
    Likes (Given)
    114
    Likes (Received)
    436

    Default

    here's what the manual has to say for "F":

    Velocity is stored separately for Linear XY, Linear ZW. Arc’s Rapid
    and Feed Velocity is stored separately for Linear Moves. Independent velocities are stored based on the XYZW specified in the
    line containing the F# command. Velocity is specified in units of
    measure per minute.
    Example: F60 sets all axes in the feed rate override command
    group to a Feed Velocity of 60 (see “vgroup=”).
    G1 X F60 sets the X axis and all other axes grouped with X to a
    Feed Velocity of 60.
    F100 X Y sets the X and Y axes to a Feed Velocity of 100. It also
    sets any other axes that are grouped with either axis to a Feed Velocity of 100. For information about axis grouping, see “vgroup=”.
    Feed Velocity changes affect all axes in that vgroup.
    and for vgroup:

    vgroup=<F>###
    F is only used for the feed rate command group. It normally locks
    the X and Y axes together. It isn’t used on any other vgroup line.
    #s are the desired alpha axis labels to group velocity.
    Examples:
    vgroup=FXY is the special feed rate command group; If the command F300 is given on the command line, it forces the X and Y
    axes to use 300 as their feed rate.
    vgroup=XY would lock the X and Y axes, so that if the command
    G1 X15 F50 is entered, both axes would be set to 50. Otherwise,
    Y would remain at whatever feed rate it had previously been set to.
    Other than the X and Y axes, each axis should have its own
    vgroup; i.e. vgroup=Z.

  7. #6
    Join Date
    Jan 2007
    Location
    Flushing/Flint, Michigan
    Posts
    8,371
    Post Thanks / Like
    Likes (Given)
    437
    Likes (Received)
    6882

    Default

    This is interesting...... Do other controls keep a separate F word register or variable for differing move types?
    Generally you are always changing rates so I've never played with it.
    Something new every day to learn.
    In most posts you can force a F on every line, you just loose some storage room or bandwidth and a very tiny bit of processing time.
    Spaces are also optional in standard G if these are considerations. (and sometimes it is)
    Bob

  8. #7
    Join Date
    Jun 2015
    Country
    UNITED STATES
    State/Province
    Minnesota
    Posts
    447
    Post Thanks / Like
    Likes (Given)
    8
    Likes (Received)
    159

    Default

    Wow... without getting my head completely around this, (It's too mind blowing for that.) it seems like the feed rates are modal for whatever "vgroup" they've been set for. So if you had a set of feed rates you wanted to use, like the same for XY and something a little different for Z, and something else for your arcs, you could set them once the first time they come around and delete all those that follow.

    I'm hoping this control doesn't need say the X and Y axis to have the same feed rate in order to cut at a 45 degree angle. That would be absurd. That or too archaic to be of any use in the real world.

    If you have the ability to switch back and forth between incremental and absolute programming, use some no movement incremental moves at the head of your program to set your feed rates.

    In incremental (G91???)

    G1X0.Y0.W0.F150.
    G1Z0.F100
    G2X0.Y0.F150.
    G3X0.Y0.F150

    And so on....

    Then switch to absolute and start the actual machine movements without calling any new feeds unless for some reason you want to.

    Winging it here. :-)

    Dave
    Last edited by 13engines; 12-19-2019 at 11:16 AM. Reason: typo

  9. #8
    Join Date
    Jan 2014
    Country
    UNITED STATES
    State/Province
    Washington
    Posts
    4,847
    Post Thanks / Like
    Likes (Given)
    872
    Likes (Received)
    2611

    Default

    Quote Originally Posted by CarbideBob View Post
    This is interesting...... Do other controls keep a separate F word register or variable for differing move types?......
    The only thing I recall from working on a post for SmartCam about 35 years ago was some control that needed a feed set for rapid moves at least once after power up so we just poked it in at the head of every program. Do not recall what that control was but some oddball old US brand maybe.

    The manual info above about how feeds are assigned, particularly the section about “vgroup=” raises more questions than it answers. If as it says feed for X and Y are locked together how does the control do interpolated moves other than 45 degree angles? If one programs say a 30 degree angle does it run X at the commanded feed and Y at (F*.58) through its own calculation or does the programmer have to set that? And even if it did calc it internally, the resulting feed on the surface of the part would be incorrect.

  10. #9
    Join Date
    Oct 2014
    Country
    UNITED STATES
    State/Province
    Maine
    Posts
    939
    Post Thanks / Like
    Likes (Given)
    114
    Likes (Received)
    436

    Default

    With regards to vgroup=XY, it does cut correctly in 2D. You just have 1 feedrate for all moves that are involve X and Y. I haven't played around with what happens when you have a move in XYZ. At this point, I think I'm going to look into Bob's suggestion that I modify the post to put the feedrate on every line.

  11. #10
    Join Date
    Dec 2008
    Country
    UNITED STATES
    State/Province
    New York
    Posts
    10,235
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    2657

    Default

    many cnc have a feed rate limit (and rapid limit) Parameter limit set for each axis
    for example
    X 254.
    Y 254.
    Z 127.
    often in centimeters so thats 100. and 50. ipm
    .
    if program says F150. on axis with F100. limit, it wont go above the Parameter axis limit. often used for many reasons for example, want to slow 100% rapid rate, or limit Z max feed rate etc
    .
    PS dont slow max limits without telling other operators and maintenance. other operator seeing machine going slow might call maintenance to fix machine that appears to be malfunctioning. maintenance tends to not be happy wasting time to finaling find out max limit was reset and it was not a malfunction.

  12. #11
    Join Date
    Sep 2010
    Location
    Oklahoma City, OK
    Posts
    4,693
    Post Thanks / Like
    Likes (Given)
    807
    Likes (Received)
    1937

    Default

    Reminds me of my plasma torch where Fx.xx is only applicable to x/y and z is its own feedrate. Being that a plasma table is basically a 2d machine it makes sense.

    Maybe the designer figured the same for the router?

    Sent from my SM-G973U using Tapatalk

  13. #12
    Join Date
    Oct 2014
    Country
    UNITED STATES
    State/Province
    Maine
    Posts
    939
    Post Thanks / Like
    Likes (Given)
    114
    Likes (Received)
    436

    Default

    Quote Originally Posted by Cole2534 View Post
    Reminds me of my plasma torch where Fx.xx is only applicable to x/y and z is its own feedrate. Being that a plasma table is basically a 2d machine it makes sense.

    Maybe the designer figured the same for the router?
    What brand is your plasma? This system is by ShopSabre, who is primarily a plasma manufacturer.

  14. #13
    Join Date
    Sep 2010
    Location
    Oklahoma City, OK
    Posts
    4,693
    Post Thanks / Like
    Likes (Given)
    807
    Likes (Received)
    1937

    Default

    Quote Originally Posted by DanielG View Post
    What brand is your plasma? This system is by ShopSabre, who is primarily a plasma manufacturer.
    It's a Wasp Swiftcut, UK brand mainly.

    Sent from my SM-G973U using Tapatalk

  15. #14
    Join Date
    Jun 2015
    Country
    UNITED STATES
    State/Province
    Texas
    Posts
    489
    Post Thanks / Like
    Likes (Given)
    106
    Likes (Received)
    128

    Default

    I haven't run into any issues with it on my router cutting 2D and 3D stuff, but I haven't used the Inventor HSM post yet. I've gotten help from dude named Kelly at Wincnc. PM me for his email. The manual sucks.

  16. #15
    Join Date
    Oct 2014
    Country
    UNITED STATES
    State/Province
    Maine
    Posts
    939
    Post Thanks / Like
    Likes (Given)
    114
    Likes (Received)
    436

    Default

    Quote Originally Posted by CosmosK View Post
    I haven't run into any issues with it on my router cutting 2D and 3D stuff, but I haven't used the Inventor HSM post yet. I've gotten help from dude named Kelly at Wincnc. PM me for his email. The manual sucks.
    I just sent you an e-mail


Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •