We need every CNC canned cycle ASAP



  • 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!



  • @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.



  • @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



  • @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"



  • 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



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


  • administrators

    @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.


Log in to reply