Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    G53 command

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    5
    43
    5.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • mwintermundefined
      mwinterm
      last edited by mwinterm

      Hello,

      I try too use G53 to position my CNC router independent of WCS selected and tool length compensation at a tool-change position. The selected WCS is ignored as expected. However the tool-length is not ignored.
      So if I try to measure a tool and then try to go to the tool-change position (which is at the top-end of of Z-travel) I get G0/G1: outside machine limits dependent on if my tool-offset is plus or minus.
      I think this behavior is faulty. G53 should ignore WCS as well as any tool offsets.
      Any thoughts on this?

      Regards,

      Marc

      PS: Firmware 2.02RC4

      1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators
        last edited by

        G53 does cause the WCS to be ignored, but not the tool offsets. Is there anything in the NIST standard or other documentation that says that G53 should cause tool offsets to be ignored too?

        Duet WiFi hardware designer and firmware engineer
        Please do not ask me for Duet support via PM or email, use the forum
        http://www.escher3d.com, https://miscsolutions.wordpress.com

        timcurtis67undefined 2 Replies Last reply Reply Quote 0
        • mwintermundefined
          mwinterm
          last edited by

          In Wikipedia it states:

          G53 Machine coordinate system : Takes absolute coordinates (X,Y,Z,A,B,C) with reference to machine zero rather than program zero. Can be helpful for tool changes. Nonmodal and absolute only. Subsequent blocks are interpreted as "back to G54" even if it is not explicitly programmed.

          If tool length compensation would be considered this would not work for tool change (which is my problem).

          https://smithy.com/cnc-reference-info/coordinate-system/machine-position-commands/page/0 also states: Regardless of any offsets that may be in effect, putting a G53 in a block of code tells the interpreter to go to the real or absolute axis positions commanded in the block.

          Another reference on Youtube.

          mwintermundefined 1 Reply Last reply Reply Quote 0
          • timcurtis67undefined
            timcurtis67 @dc42
            last edited by

            @dc42 said in G53 command:

            G53 does cause the WCS to be ignored, but not the tool offsets. Is there anything in the NIST standard or other documentation that says that G53 should cause tool offsets to be ignored too?

            Yes G53 should only read true Machine zero's without any compensations. So you can return to certain positions for fixturing or tool changes. But it shouldn't cancel any compensations though.

            Danalundefined 1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators
              last edited by dc42

              Is there any requirement for G53 to be supported as a modifier for G2 and G3 arc moves? There is a specification problem with modifying G32 not to apply tool offsets, because of the the axis mapping that RRF supports which is predominantly for IDEX machines. I can get round that by defining G53 as making the move a raw move, so that no axis mapping takes place. But that doesn't make any sense for G2 and G3 moves. So I am considering making G2 and G3 abort if G53 is in effect. Is that OK?

              Duet WiFi hardware designer and firmware engineer
              Please do not ask me for Duet support via PM or email, use the forum
              http://www.escher3d.com, https://miscsolutions.wordpress.com

              Danalundefined 1 Reply Last reply Reply Quote 0
              • Danalundefined
                Danal @dc42
                last edited by

                This post is deleted!
                Danalundefined 1 Reply Last reply Reply Quote 0
                • Danalundefined
                  Danal @Danal
                  last edited by Danal

                  @dc42 said in G53 command:

                  Is there any requirement for G53 to be support as a modifier for G2 and G3 arc moves?

                  The NIST standard explicitly states that G53 does NOT apply to G2 and G3 and so forth... Bolding mine:

                  3.5.12 Move in Absolute Coordinates — G53
                  For linear motion to a point expressed in absolute coordinates, program G1 G53 X… Y… Z… A… B… C… (or use G0 instead of G1), where all the axis words are optional, except that at least one must be used. The G0 or G1 is optional if it is the current motion mode.

                  It further states:
                  It is an error if:
                  • G53 is used without G0 or G1 being active,

                  1 Reply Last reply Reply Quote 0
                  • Danalundefined
                    Danal
                    last edited by

                    Furthermore, in section 3.2.2 (definition of coordinate systems) we find the statement:

                    You can make straight moves in the absolute machine coordinate system by using G53 with either G0 or G1.

                    1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators
                      last edited by

                      Great, thanks. I'll make G2 and G3 ignore G53.

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      1 Reply Last reply Reply Quote 0
                      • Danalundefined
                        Danal @timcurtis67
                        last edited by Danal

                        @timcurtis67 said in G53 command:

                        @dc42 said in G53 command:

                        G53 does cause the WCS to be ignored, but not the tool offsets. Is there anything in the NIST standard or other documentation that says that G53 should cause tool offsets to be ignored too?

                        Yes G53 should only read true Machine zero's without any compensations. So you can return to certain positions for fixturing or tool changes. But it shouldn't cancel any compensations though.

                        Tool offsets ARE part of the concept of a "Control Point". Put Simply G53 internal calculations do include tool offsets.

                        NIST:

                        2.1.2.3 Controlled Point
                        The controlled point is the point whose position and rate of motion are controlled. When the tool length offset is zero (the default value), this is a point on the spindle axis (often called the gauge point) that is some fixed distance beyond the end of the spindle, usually near the end of a tool holder that fits into the spindle. The location of the controlled point can be moved out along the spindle axis by specifying some positive amount for the tool length offset

                        I believe Duet/RepRap is already behaving correctly here... but have not personally verified.

                        mwintermundefined 1 Reply Last reply Reply Quote 0
                        • timcurtis67undefined
                          timcurtis67 @dc42
                          last edited by

                          @dc42 said in G53 command:

                          G53 does cause the WCS to be ignored, but not the tool offsets. Is there anything in the NIST standard or other documentation that says that G53 should cause tool offsets to be ignored too?

                          I personally have never used a G53 coordinate to do arc moves in my 30+ years of programming/operating CNC machines.

                          It's usually for moves to reference moves with G0's but could be used with G1's as well. I can't see any reason to use it for full motion tool paths.

                          1 Reply Last reply Reply Quote 0
                          • mwintermundefined
                            mwinterm
                            last edited by

                            Same here, G53 is only used to end up in certain hardware related positions for tool change, lubrication.... So no need for G2 and G3 and never seen so far that it works with G2 or G3.

                            @dc42 : Thank you very much for fixing this. Please let me know as soon as you have something on Github I can pull from.

                            Regards,
                            Marc

                            1 Reply Last reply Reply Quote 0
                            • mwintermundefined
                              mwinterm @Danal
                              last edited by

                              Tool offsets ARE part of the concept of a "Control Point". Put Simply G53 internal calculations do include tool offsets.

                              NIST:

                              2.1.2.3 Controlled Point
                              The controlled point is the point whose position and rate of motion are controlled. When the tool length offset is zero (the default value), this is a point on the spindle axis (often called the gauge point) that is some fixed distance beyond the end of the spindle, usually near the end of a tool holder that fits into the spindle. The location of the controlled point can be moved out along the spindle axis by specifying some positive amount for the tool length offset

                              I believe Duet/RepRap is already behaving correctly here... but have not personally verified.

                              I can't read it out of this that G53 should include tool offsets and neither on Heidenhain, nor on Sinumerik or Haas I have seen this being the case (for Haas you can check the youtube video I linked further up). It just would not work for tool change which is the most common use of G53 I'm aware of...

                              timcurtis67undefined Danalundefined 2 Replies Last reply Reply Quote 0
                              • timcurtis67undefined
                                timcurtis67 @mwinterm
                                last edited by

                                @mwinterm said in G53 command:

                                Tool offsets ARE part of the concept of a "Control Point". Put Simply G53 internal calculations do include tool offsets.

                                NIST:

                                2.1.2.3 Controlled Point
                                The controlled point is the point whose position and rate of motion are controlled. When the tool length offset is zero (the default value), this is a point on the spindle axis (often called the gauge point) that is some fixed distance beyond the end of the spindle, usually near the end of a tool holder that fits into the spindle. The location of the controlled point can be moved out along the spindle axis by specifying some positive amount for the tool length offset

                                I believe Duet/RepRap is already behaving correctly here... but have not personally verified.

                                I can't read it out of this that G53 should include tool offsets and neither on Heidenhain, nor on Sinumerik or Haas I have seen this being the case (for Haas you can check the youtube video I linked further up). It just would not work for tool change which is the most common use of G53 I'm aware of...

                                The Fanuc and Mitsubishi controls do not add tool comp to G53 either. It's a true position of each axis based on the true machine home position without any tool comps.

                                1 Reply Last reply Reply Quote 0
                                • Danalundefined
                                  Danal @mwinterm
                                  last edited by Danal

                                  @mwinterm Hmmm... I very strongly agree that G53 arguments are "machine coordinates", with absolutely no offsets of any kind. Nothing else makes sense to the operations that occur on real machines, as you've pointed out.

                                  I also agree this is shown in the HAAS vid, right around 1:28.

                                  The "Hmmm...." is because of the odd phrasing in the NIST standard. Let me poke around a bit more.

                                  1 Reply Last reply Reply Quote 0
                                  • Danalundefined
                                    Danal
                                    last edited by

                                    Well, I can't find anything in the standard. However, the standard is an attempt to describe the interpreter itself, and the interpreter is still available. Old, and in a very old "coding style"... but still out there.

                                    Reading the old RS274NGC source, tool offsets are not applied when G53 is (non-modally) active.

                                    As we all said... 🙂

                                    1 Reply Last reply Reply Quote 0
                                    • mwintermundefined
                                      mwinterm
                                      last edited by

                                      @dc42: This post kind of also relates to the G0/G1 discussion I raised in another post (https://forum.duet3d.com/topic/7728/g0-vs-g1-movement). For the G53 to really function correctly for tool-changes etc. bed compensation also needs to be disabled for G53 G0... . I'm not aware if the standards say anything regarding G53 G1... but having G53 G0 ignoring all compensations (WCS, Tool & Bed) and having G53 G1 ignoring only WCS and Tool but keeping bed compensation in could give all the options.

                                      1 Reply Last reply Reply Quote 0
                                      • dc42undefined
                                        dc42 administrators
                                        last edited by

                                        Thanks to all of you for the references. I made a change ni 2.02RC5 so that tool offsets are not applied when G53 is active.

                                        Duet WiFi hardware designer and firmware engineer
                                        Please do not ask me for Duet support via PM or email, use the forum
                                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                                        1 Reply Last reply Reply Quote 0
                                        • mwintermundefined
                                          mwinterm
                                          last edited by

                                          @dc42 Thanks a lot. Already built and tested it (even though not yet extensively) but everything seems to work fine 👍 👍 👍 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • mwintermundefined
                                            mwinterm
                                            last edited by

                                            @dc42 : ...just noticed that there is already a built RC5 available... However I saw that in the release notes you refer to a modification of G54 instead of G53.... small typo but could be confusing as G54 (i.e. WCS) should for sure take tool offsets into account....

                                            dc42undefined 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA