Welcome to Our Community

Some features disabled for guests. Register Today.

G2/G3 error 26

Discussion in 'General Talk' started by Keshka, Feb 20, 2017.

  1. Keshka

    Keshka New
    Builder

    Joined:
    Feb 20, 2017
    Messages:
    3
    Likes Received:
    0
    "A G-code command implicitly or explicitly requires XYZ axis words in the block, but none were detected."

    My post processor puts the X,Y,Z coordinates on the line before using a G0 for the move. This works fine on several of the commercial mills I work with (Hitachi,Mori, Fadel....) but creates an error on GRBL forcing me to edit all NC files to repeat the coordinates yet again in the arc move.

    Was there a reason for this and any suggestions on how to deal with this?
     
  2. David the swarfer

    David the swarfer OpenBuilds Team
    Staff Member Moderator Builder

    Joined:
    Aug 6, 2013
    Messages:
    753
    Likes Received:
    345
    The correct solution it to edit your post processor, correct Gcode, as I know it, is:
    G0 X1 Y6 Y7

    hmmm, reading some docs like
    G-Code Tutorial: Basic Program Structure
    and
    G Code Overview
    shows that the words can indeed be in any order.

    But GRBL requires the G word to be before the corresponding XYZ words. So, edit that post. (-:
    (keep in mind that the processor GRBL is running on has very little memory so the internal structure has had to be optimized in many ways to fit, and it seems that this includes 'limiting the word order').
     
    Joe Santarsiero likes this.
  3. Keshka

    Keshka New
    Builder

    Joined:
    Feb 20, 2017
    Messages:
    3
    Likes Received:
    0
    Sorry, I see I fat fingered my post.....should be G3 not G0. Here is an example of 12 circles.
    What my post processor sends:
    G21
    G0 G17 G40 G49 G80 G90
    G0 G90 G54 X204.9491 Y-18.6559 S1069 M3
    G3 I7.5 J0. F6.42
    G0 X224.9491
    G2 I7.5 J0.
    G0 X244.9491
    G3 I7.5 J0.
    G0 X264.9491
    G2 I7.5 J0.
    G0 X204.9491 Y-38.6559
    G3 I7.5 J0.
    G0 X224.9491
    G2 I7.5 J0.
    G0 X244.9491
    G3 I7.5 J0.
    G0 X264.9491
    G2 I7.5 J0.
    G0 X204.9491 Y-58.6559
    G3 I7.5 J0.
    G0 X224.9491
    G2 I7.5 J0.
    G0 X244.9491
    G3 I7.5 J0.
    G0 X264.9491
    G2 I7.5 J0.
    M5
    G90
    G28 X0. Y0. A0.
    M30

    Here is the same program written for GRBL. Much of the XY information must be repeated even though the machine has not moved:
    G21
    G17 G40 G49 G80 G90
    G0 G90 G54 X204.9491 Y-18.6559 S1000 M3
    G3 I7.5 J0. X204.9491 Y-18.6559 F300
    G0 X224.9491 Y-18.6559
    X224.9491 Y-18.6559 G2 I7.5 J0.
    G0 X244.9491 Y-18.6559
    X244.9491 Y-18.6559 G3 I7.5 J0.
    G0 X264.9491 Y-18.6559
    X264.9491 Y-18.6559 G2 I7.5 J0.
    G0 X204.9491 Y-38.6559
    X204.9491 Y-38.6559 G3 I7.5 J0.
    G0 X224.9491 Y-38.6559
    X224.9491 Y-38.6559 G2 I7.5 J0.
    G0 X244.9491 Y-38.6559
    X244.9491 Y-38.6559 G3 I7.5 J0.
    G0 X264.9491 Y-38.6559
    X264.9491 Y-38.6559 G2 I7.5 J0.
    G0 X204.9491 Y-58.6559
    X204.9491 Y-58.6559 G3 I7.5 J0.
    G0 X224.9491 Y-58.6559
    X224.9491 Y-58.6559 G2 I7.5 J0.
    G0 X244.9491 Y-58.6559
    X244.9491 Y-58.6559 G3 I7.5 J0.
    G0 X264.9491 Y-58.6559
    X264.9491 Y-58.6559 G2 I7.5 J0.
    X264.9491 Y-58.6559 G2 I7.5 J0.
    M5
    G90
    G28 X0 Y0
    M30
     
  4. Dale Y

    Dale Y Journeyman
    Builder

    Joined:
    Jun 20, 2016
    Messages:
    31
    Likes Received:
    4
    Here is what I have learned so far with my laser engraver. I this part of the example:
    G21
    G17 G40 G49 G80 G90
    G0 G90 G54 X204.9491 Y-18.6559 S1000 M3
    G3 I7.5 J0. X204.9491 Y-18.6559 F300
    G0 X224.9491 Y-18.6559

    Put the F300 up top
    Put M3 on its own line
    Circle commands need to be G3 X-- Y-- I-- J--
     
  5. Keshka

    Keshka New
    Builder

    Joined:
    Feb 20, 2017
    Messages:
    3
    Likes Received:
    0
    Thank you for the response Dale. No need to move the M3 and F300. That version of code works just fine on GRBL. The point of my post was to identify a variation between GRBL and most commercial milling machines. I have 15 of them in my shop and four different brands. I have worked on many more during my years as a machinist. Of the major brands, only HAAS requires the X and Y repeated. Those values are persistent on most interpretations of the G code language such that the values from the last move would be used by default in the G2/G3 instructions and need not be repeated thereby cutting down on the amount of memory used by the program.

    I realise this is a holdover from the early days of CNC when 8k of memory would set you back several thousands. But the result is that many CAD/CAM programs format G code compatible with this protocol. The result is sending instructions from one of these upscale programs requires translation via a custom "post processor". Those start at prices around 8-10k.

    I have editors that are able to convert standard code into something GRBL can munch on. I am only trying to help GRBL be a easier for new users and beginners. I am currently using GRBL on my little imported laser engraver and am thankful to the author of GRBL, they have saved me the time of creating a program for the Arduino on my own.

    Cheers
     
  6. David the swarfer

    David the swarfer OpenBuilds Team
    Staff Member Moderator Builder

    Joined:
    Aug 6, 2013
    Messages:
    753
    Likes Received:
    345
    I don't get this high cost (-:
    At least for Fusion360 the post processors are written in Java and are user modifiable. There is at least one pretty good one for GRBL on the web, just google it.

    So, check your post processor files, they may just be a scripting language you can modify yourself or have a college student modify for you (-:
     

Share This Page