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

    We need every CNC canned cycle ASAP

    Scheduled Pinned Locked Moved
    Firmware wishlist
    6
    7
    416
    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.
    • Generic Defaultundefined
      Generic Default
      last edited by

      Hey,

      We build 10 axis CNC mill-turn machines driven by the Duet 3 board + expansions as the main control board. Our system also has an Arduino due based transfer board for extra hardware breakouts, and also controls several powerful servos by ODrive boards. All of our systems are integrated and our machines work.

      The main problem we're having now is that there is no CANNED CYCLE functionality in most 3d printer firmware. These are the modal Gcodes like G83 (peck drilling cycle) which stay active until they are cancelled.

      We have a full time software developer working on this system, and we are just now getting to the point of implementing these industry standard canned cycle Gcodes into our system. This means some major changes to the Gcode interpreter must be done to support all the new codes.

      Can anyone point me in the right direction if anybody else has already started on canned cycles, or has a working version of the firmware which supports them better?

      If not, we would like to contribute our code once it's done so that everyone can use canned cycles in their own cnc machines. Currently the Gcodes between G60 and G90 are pretty much unused by 3d printers, and we would just be filling out the one part of the interpreter than goes case by case for each Gcode and Mcode.

      Thanks!

      BoAundefined arhiundefined 2 Replies Last reply Reply Quote 1
      • BoAundefined
        BoA @Generic Default
        last edited by BoA

        @Generic-Default I am not an expert, but Ypu can try create G83.g file and put the code for the cycle there. It will be called each time G83 appears in processed file.

        arhiundefined 1 Reply Last reply Reply Quote 0
        • arhiundefined
          arhi @BoA
          last edited by

          @BoA said in We need every CNC canned cycle ASAP:

          @Generic-Default I am not an expert, but Ypu can try create G83.g file and put the code for the cycle there. It will be called each time G83 appears in processed file.

          would bepossible to implement pecking if we can somehow use the variables/params in the G83.g macro file ... G83 takes a lot of parameters.. e.g. https://gcodetutor.com/fanuc-training-course/g73-g83-drilling-cycle.html

          1 Reply Last reply Reply Quote 0
          • arhiundefined
            arhi @Generic Default
            last edited by

            @Generic-Default said in We need every CNC canned cycle ASAP:

            This means some major changes to the Gcode interpreter must be done to support all the new codes.

            ??? it is just a set of predef moves, not sure why would interpreter need to have "major changes"

            1 Reply Last reply Reply Quote 0
            • jay_s_ukundefined
              jay_s_uk
              last edited by

              at the moment, no parameters can be fed to a .g file.
              Its on the list to be looked at though.
              Not sure it would work though as that macro would get ran until its finished, blocking any other movement.

              I'm not aware of anyone having implemented canned cycles. It may be quicker for you to implement it yourself

              Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

              1 Reply Last reply Reply Quote 0
              • oliofundefined
                oliof
                last edited by

                Could you do macros wrapped in while loops from RRF 3's conditional gcode feature?

                <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

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

                  @Generic-Default, I think that the solution to this is going to be macro files that can be passed parameters. So you would create a G83.g macro file that would have all the parameters to the G83 command available to it. Do you think this would be sufficient for you? You would need to use conditional GCode commands to check that the required parameters have been supplied and to supply default values if appropriate.

                  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
                  • First post
                    Last post
                  Unless otherwise noted, all forum content is licensed under CC-BY-SA