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

    Tool changer commands

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    5
    32
    5.1k
    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.
    • whosrdaddyundefined
      whosrdaddy
      last edited by

      Actually parking T1 should be done in TFree1.g, don't touch other tools in the Txxxx Macro's

      1 Reply Last reply Reply Quote 0
      • T3P3Tonyundefined
        T3P3Tony administrators
        last edited by

        @RajaaKahel the Duet does not know that a particular T0 command is at the start of a print, or part way through a print, which is why i am suggesting having the appropraite pick up command in your start gcode as included in the slicer.

        Alternatively always have the printer have T0 picked up when its in an idle state.

        www.duet3d.com

        RajaaKahelundefined 1 Reply Last reply Reply Quote 0
        • RajaaKahelundefined
          RajaaKahel @T3P3Tony
          last edited by

          @t3p3tony and @whosrdaddy
          Thank you for your input! I'll try to figure this out with a new cup of coffee 🙂

          whosrdaddyundefined 1 Reply Last reply Reply Quote 0
          • whosrdaddyundefined
            whosrdaddy @RajaaKahel
            last edited by

            @rajaakahel : I don't know if you read this one too: https://duet3d.dozuki.com/Wiki/Gcode#Section_T_Select_Tool?
            This is the most informative doc about tools and the sequence followed on tool changes.

            RajaaKahelundefined 1 Reply Last reply Reply Quote 0
            • RajaaKahelundefined
              RajaaKahel @whosrdaddy
              last edited by

              @whosrdaddy
              Thank you, I started to make progress finally, after some painful crashes especially with the interference from S3D..

              1 Reply Last reply Reply Quote 0
              • RajaaKahelundefined
                RajaaKahel
                last edited by

                Ok, so I removed any parking or picking commands from Simplify3D, and did the following:
                ; tfree0.g
                ; called when tool 0 is freed
                M98 P/macros/parkT0

                ; tfree1.g
                ; called when tool 1 is freed
                M98 P/macros/parkT1

                ; tpre0.g
                ; called before tool 0 is selected
                M98 P/macros/selectT0

                ; tpre1.g
                ; called before tool 1 is selected
                M98 P/macros/selectT1

                It works fine during a print, but at the beginning it doesn't pick any tool, and at the end it doesn't park any tool. Is there a way to fix this?
                I noticed that I don't have files such as start.g or end.g in the files section, anyway is there such a start file for T0 and another one for T1? (same for the end?)

                T3P3Tonyundefined dc42undefined 2 Replies Last reply Reply Quote 0
                • T3P3Tonyundefined
                  T3P3Tony administrators @RajaaKahel
                  last edited by

                  @rajaakahel glad you got it working on tool change!

                  start and end gcodes are normally configured in you slicer so you can add the relevant macro calls to your slicer.

                  One thing I note it that if you don't always start with tool 0 for every print then its probably better to have the "default state " of your printer with the tool changer with tool 1 selected.

                  www.duet3d.com

                  RajaaKahelundefined 1 Reply Last reply Reply Quote 0
                  • RajaaKahelundefined
                    RajaaKahel @T3P3Tony
                    last edited by

                    @t3p3tony Thank you!
                    Unfortunately Starting Script and Ending Script in Simplify3D don't allow IF commands such as {IF NEWTOOL=0}
                    It's only allowed in Tool Change Script section.
                    And as you know each print is different, one time you start with a tool and another time you start with another tool (same for finishing). So I would love to make it automatic..

                    T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
                    • T3P3Tonyundefined
                      T3P3Tony administrators @RajaaKahel
                      last edited by

                      @rajaakahel in that case you are going to have to have a default state of the printer with always having T0 (or T1) selected. So your end script always selects T0 so you know at the start that T0 is selected. That way when the printer changes to T1 it will park T0 and then pickup T1. That should work even if the printer start with T1, as long as S3d explicitly chooses the tool every time.

                      www.duet3d.com

                      RajaaKahelundefined 1 Reply Last reply Reply Quote 0
                      • RajaaKahelundefined
                        RajaaKahel @T3P3Tony
                        last edited by RajaaKahel

                        @t3p3tony Thank you very much for your time! I'll look into this closely. I also submitted a request to S3D to allow IF commands in start and end scripts. I hope it can be added later in the Duet firmware as well.
                        Please can you check my other post whenever you have time?
                        https://forum.duet3d.com/topic/6517/setting-z-offset-for-t1

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

                          @rajaakahel, make sure you start with no tool selected. You probably have T0 at the end of config.g, if so then remove that. Also include T-1 in your slicer end script to deselect and park the active tool.

                          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

                          RajaaKahelundefined 2 Replies Last reply Reply Quote 0
                          • RajaaKahelundefined
                            RajaaKahel @dc42
                            last edited by

                            @dc42 Thank you! I'm still trying to work it out to be full automatic. Will get back to you with the results 🙂

                            1 Reply Last reply Reply Quote 0
                            • RajaaKahelundefined
                              RajaaKahel @dc42
                              last edited by

                              @dc42 Hello again, I managed to
                              park any nozzle at the end of a print by putting the following Ending Script in my slicer:

                              G1 E-15 F4000
                              M104 S0 ; turn off extruder
                              M140 S0 ; turn off bed
                              T0
                              M98 P/macros/parkT0
                              G28 X ; home x and y axes
                              G28 Y ; home x and y axes
                              M84 ; disable motors
                              M107
                              M1

                              In Duet firmware I have the following:

                              ; tfree0.g
                              ; called when tool 0 is freed
                              M98 P/macros/parkT0

                              ; tfree1.g
                              ; called when tool 1 is freed
                              M98 P/macros/parkT1

                              ; tpost0.g
                              ; called after tool 0 is selected
                              M98 P/macros/selectT0

                              ; tpost1.g
                              ; called after tool 1 is selected
                              M98 P/macros/selectT1

                              But the problem is when I start a print, Duet is always activating T0 (even if the first tool to run is T1) when starting to heat up, but it does not actually go and pick T0 tool (so it thinks T0 is already picked up).

                              I can work this around by picking T0 at the end of each print without parking it. But I want both nozzles to be parked to prevent oozing and stuff.

                              So the question is: how can I tell the duet to start a print (heat up) without activating any tool until the print gcode tells it to activate (thus pick up) the right tool?

                              *I don't have T0 or T1 at the end of config.g
                              *I tried to include T-1 or M1 at the Starting Script of my slicer, but it didn't work. (Duet is always activating T0 regardless of what tool gonna start).
                              *I tried sending M1 manually before I start a print (to deactivate tools) but same thing happens when a print is started by heating up (activating T0).

                              zerspaner_gerdundefined dc42undefined 2 Replies Last reply Reply Quote 0
                              • zerspaner_gerdundefined
                                zerspaner_gerd @RajaaKahel
                                last edited by zerspaner_gerd

                                @rajaakahel Make sure that all axes are referenced before the tool command!
                                Only then will the tool script be triggered!

                                @rajaakahel said in Tool changer commands:

                                But the problem is when I start a print, Duet is always activating T0 (even if the first tool to run is T1) when starting to heat up, but it does not actually go and pick T0 tool (so it thinks T0 is already picked up).

                                Do you have a start.g file? With me the duet does not select a tool at the print start, so you have somewhere a tool command.

                                @rajaakahel said in Tool changer commands:

                                I can work this around by picking T0 at the end of each print without parking it. But I want both nozzles to be parked to prevent oozing and stuff.

                                Does not T-1 work? There must be no M84, M18, M1 before.

                                G1 E-15 F4000 
                                M104 S0; Extruder 
                                M140 S0 ausschalten; Bett ausschalten 
                                T-1
                                G28 X; home x und y Achsen 
                                G28 Y; home x und y Achsen 
                                M84; Deaktivieren Sie die Motoren 
                                M107 
                                M1
                                

                                @rajaakahel said in Tool changer commands:

                                So the question is: how can I tell the duet to start a print (heat up) without activating any tool until the print gcode tells it to activate (thus pick up) the right tool?

                                You can activate tools with T# P0 (# = Tool Number) without changing the tool

                                https://duet3d.dozuki.com/Wiki/Multiple_tools_and_Tool_change_macros

                                Board: Duet WiFi 1.03 | Firmware Version: 3.1.1 | WiFi Server Version: 1.23 | Web Interface Version: 3.1.1

                                RajaaKahelundefined 1 Reply Last reply Reply Quote 0
                                • RajaaKahelundefined
                                  RajaaKahel @zerspaner_gerd
                                  last edited by RajaaKahel

                                  @zerspaner_gerd
                                  "Make sure that all axes are referenced before the tool command!
                                  Only then will the tool script be triggered!"
                                  You mean by "referenced" homed? if so, then yes they are homed.

                                  "Do you have a start.g file? With me the duet does not select a tool at the print start, so you have somewhere a tool command."
                                  No I don't have a start.g file in the Duet. And in my slicer only G28 is included in the Start Script. I don't find any tool command..

                                  "Does not T-1 work? There must be no M84, M18, M1 before."
                                  I tried T-1 and M1 in the Start Script of my slicer, they do nothing. After I upload a print to the Duet, it immediately choose T0 (but doesn't activate the tpost1.g (same if I manually send T-1 or M1 before I start a print).

                                  You can activate tools with T# P0 (# = Tool Number) without changing the tool
                                  Where should I put T# P0?
                                  Again, Duet is always activating T0 (even if the first tool to run is T1) when starting to heat up, but it does not activate the tpost1.g.

                                  1 Reply Last reply Reply Quote 0
                                  • RajaaKahelundefined
                                    RajaaKahel
                                    last edited by

                                    Here are all my settings if that helps..
                                    Macros:
                                    https://drive.google.com/open?id=1Nwte-EtKEzL_ogCqJp7PMQ2qsLK7RBkM

                                    Configurations:
                                    https://drive.google.com/open?id=1q-h8eojJ91CQwK2p5YhWKuQaQph0sQ_T

                                    0_1535131031908_8.gcode

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

                                      @rajaakahel said in Tool changer commands:

                                      But the problem is when I start a print, Duet is always activating T0 (even if the first tool to run is T1) when starting to heat up, but it does not actually go and pick T0 tool (so it thinks T0 is already picked up).

                                      That probably means you have either a T0 command or a M109 command near the start of your GCode file before the printer has been homed. M109 or M109 T0 will select T0 implicitly if no tool is selected, and if the printer hasn't been homed than the tool change macros won't be run.

                                      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

                                      RajaaKahelundefined 1 Reply Last reply Reply Quote 0
                                      • RajaaKahelundefined
                                        RajaaKahel @dc42
                                        last edited by

                                        @dc42 said in Tool changer commands:

                                        M109

                                        This is my Start and Ending Scripts in Simplify3D, nothing else is there in between:
                                        Start Script:
                                        G1 E15 F3000
                                        G28 ; home all axes
                                        G1 Y37
                                        Ending Script
                                        G1 E-15 F4000
                                        M104 S0 ; turn off extruder
                                        M140 S0 ; turn off bed
                                        T0
                                        ;M98 P/macros/parkT0
                                        G28 X ; home x and y axes
                                        G28 Y ; home x and y axes
                                        M84 ; disable motors
                                        M107
                                        M1

                                        I can't find any M109. Where in the Duet I can look for what is causing this? You see I attached all the files in my last post, I can't either find anything in them, please check them yourself too. Maybe my firmware is bad somehow? especially that I have another problem that I have to fix in order for my printer to function! (G10 Z offset for T1 simply doesn't work) as you see here:
                                        https://forum.duet3d.com/topic/6517/setting-z-offset-for-t1/15

                                        Any suggestions please? (at least I have to fix the T1 Z offset issue).

                                        Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
                                        Firmware Electronics: Duet WiFi 1.02 or later
                                        Firmware Version: 1.21 (2018-03-21)
                                        WiFi Server Version: 1.21RC4(08b3)
                                        Web Interface Version: 1.21-RC4

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

                                          Please post the first 50 or so lines (not counting comment lines) of the GCode file generated by your slicer. You may find that it has inserted a M109 command before your start GCode.

                                          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
                                          • RajaaKahelundefined
                                            RajaaKahel
                                            last edited by

                                            A file starts with T0:

                                            G90
                                            M82
                                            M106 S255
                                            M140 S0
                                            M104 S180 T0
                                            M104 S180 T1
                                            M109 S180 T0
                                            M109 S180 T1
                                            G1 E15 F3000
                                            G28 ; home all axes
                                            G1 Y37
                                            G92 E0
                                            G1 E-3.0000 F2400
                                            G1 Z0.600 F1800
                                            ; process Process1-1-1-1-1
                                            ; layer 1, Z = 0.200
                                            T0
                                            ; tool H0.200 W0.720
                                            ; inner perimeter
                                            G1 X194.300 Y161.800 F18000
                                            G1 Z0.200 F1800
                                            G1 E0.0000 F720
                                            G92 E0
                                            G1 X194.944 Y161.800 E0.0409 F1125
                                            G1 X194.821 Y162.257 E0.0709
                                            G1 X194.324 Y162.390 E0.1036
                                            G1 X194.300 Y162.404 E0.1053
                                            G1 X194.300 Y161.800 E0.1436

                                            A file starts with T1:

                                            G90
                                            M82
                                            M106 S255
                                            M140 S0
                                            M104 S180 T0
                                            M104 S180 T1
                                            M109 S180 T0
                                            M109 S180 T1
                                            G1 E15 F3000
                                            G28 ; home all axes
                                            G1 Y37
                                            G1 Z0.600 F1800
                                            ; process Process1
                                            ; layer 1, Z = 0.200
                                            T1
                                            ; tool H0.200 W0.480
                                            ; inner perimeter
                                            G1 X220.180 Y161.680 F18000
                                            G1 Z0.200 F1800
                                            G92 E0
                                            G1 X221.135 Y161.680 E0.0404 F1125
                                            G1 X221.085 Y161.759 E0.0443
                                            G1 X220.921 Y162.368 E0.0710
                                            G1 X220.405 Y162.482 E0.0934
                                            G1 X220.180 Y162.611 E0.1044
                                            G1 X220.180 Y161.680 E0.1438
                                            G1 X220.180 Y177.346 F18000

                                            True, there is M109 before G28! How can I fix this please although as you see nothing in my Start Script is there!
                                            Start Script:
                                            G1 E15 F3000
                                            G28 ; home all axes
                                            G1 Y37

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