Difference between revisions of "T v5"
(→Using the T with the EHR and 16A (Single Yoke)) |
|||
(82 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:HowTo]] | ||
+ | {| align="right" | ||
+ | | __TOC__ | ||
+ | |} | ||
+ | |||
Understanding the T on versions 5 and later (the enlightenment). | Understanding the T on versions 5 and later (the enlightenment). | ||
== The T == | == The T == | ||
+ | With the release of Repetrel v5, we are happy to announce that the means of addressing heads for '''T Commands''' and '''T Variables within M Commands''' has been unified. Finally, T0 ''always'' means the first head on the first yoke, regardless of how or why we are referring to it. | ||
− | + | === '''Chart of Addresses''' === | |
− | + | Below are details of addressing for each tool position on our printers. These are explained by model with images below. | |
− | === | + | ==== Overall ==== |
− | + | While most units come with four or five physical tool positions, and one extra yoke gives a 16A a total of ten positions, we have the ability to control up to 20 tool positions or "heads", organized in four banks (or yokes) of five each. | |
− | + | Basic device mapping: | |
− | + | === New === | |
− | + | {| border="1" class="wikitable" style="width: 40%; text-align: center;" | |
+ | |+ Device Addresses - Individual Physical Heads | ||
+ | ! Yoke | ||
+ | ! Pos 1 | ||
+ | ! Pos 2 | ||
+ | ! Pos 3 | ||
+ | ! Pos 4 | ||
+ | ! Pos 5 | ||
+ | |- | ||
+ | ! 1 | ||
+ | | style="background-color:red;"| <span style="color:white;"> '''T0''' || style="background-color:magenta;"| <span style="color:white;"> '''T1''' || style="background-color:royalblue;" | <span style="color:white;"> '''T2''' || style="background-color:darkorange;" | <span style="color:white;"> '''T3''' || style="background-color:limegreen;" | <span style="color:white;"> '''T4''' | ||
+ | |- | ||
+ | ! 2 | ||
+ | | style="background-color:firebrick;"| <span style="color:white;"> '''T5''' || style="background-color:darkorchid;"| <span style="color:white;"> '''T6''' || style="background-color:navy;"| <span style="color:white;"> '''T7''' || style="background-color:tomato;"| <span style="color:white;"> '''T8''' || style="background-color:forestgreen;"| <span style="color:white;"> '''T9''' </span> | ||
+ | |- | ||
+ | ! 3 | ||
+ | | '''T10''' || '''T11''' || '''T12''' || '''T13''' || '''T14''' | ||
+ | |- | ||
+ | ! 4 | ||
+ | | '''T15''' || '''T16''' || '''T17''' || '''T18''' || '''T19''' | ||
+ | |- | ||
+ | |} | ||
− | + | Special device mapping: | |
− | === ''' | + | {| border="1" class="wikitable" style="width: 40%; text-align: center;" |
+ | |+ Special Physical Device Addresses | ||
+ | ! T# | ||
+ | ! Device | ||
+ | ! Virtual | ||
+ | |- | ||
+ | | '''T20''' || 3-Phase Spindle || rowspan="4"| T45 | ||
+ | |- | ||
+ | | '''T21''' || CO<sub>2</sub> Laser | ||
+ | |- | ||
+ | | '''T22''' || Aux1 | ||
+ | |- | ||
+ | | '''T23''' || Aux2 | ||
+ | |- | ||
+ | | '''T24''' || Bed1 / Chamber1 || rowspan="2" | T46 | ||
+ | |- | ||
+ | | '''T25''' || Bed2 / Chamber2 | ||
+ | |- | ||
+ | |} | ||
− | + | Virtual device mapping: | |
− | + | {| border="1" class="wikitable" style="width: 40%; text-align: center;" | |
+ | |+ Logical/Virtual Device Addresses | ||
+ | ! T# | ||
+ | ! Device | ||
+ | |- | ||
+ | | '''T30 - T39''' || Virtual Heads / Groups / Squads | ||
+ | |- | ||
+ | | '''T40''' || ALL DEVICES | ||
+ | |- | ||
+ | | '''T41''' || Yoke 1, all Heads | ||
+ | |- | ||
+ | | '''T42''' || Yoke 2, all Heads | ||
+ | |- | ||
+ | | '''T43''' || Yoke 3, all Heads | ||
+ | |- | ||
+ | | '''T44''' || Yoke 4, all Heads | ||
+ | |- | ||
+ | | '''T45''' || All Aux devices | ||
+ | |- | ||
+ | | '''T46''' || All Beds / Chambers | ||
+ | |- | ||
+ | | '''T47''' || All non-Bed / non-Chamber devices | ||
+ | |- | ||
+ | | '''T48''' || All Virtual devices (T30-T39) | ||
+ | |- | ||
+ | |} | ||
− | + | Chart of virtual address hierarchy: | |
− | + | {| border="1" class="wikitable" style="width: 40%; text-align: center;" | |
− | + | |+ Device Address Mapping | |
− | + | ! rowspan="2" | Physical | |
− | + | |- | |
− | + | ! colspan="2" | Description || colspan="3" | Virtual Addresses | |
− | + | |- | |
− | + | ! Address | |
− | + | ! Yoke || Position || Zone || Type || All | |
− | + | |- | |
− | + | ! style="background-color:red;"| <span style="color:white;"> '''T0''' | |
− | + | | rowspan="5" | 1 || 1 || rowspan="5" | <span style="color:dimgrey;">'''T41'''</span> || rowspan="24" | T47 || rowspan="26" | T40 | |
− | + | |- | |
− | + | ! style="background-color:magenta;"| <span style="color:white;"> '''T1''' | |
− | == | + | | 2 |
− | + | |- | |
− | + | ! style="background-color:royalblue;" | <span style="color:white;"> '''T2''' | |
+ | | 3 | ||
+ | |- | ||
+ | ! style="background-color:darkorange;" | <span style="color:white;"> '''T3''' | ||
+ | | 4 | ||
+ | |- | ||
+ | ! style="background-color:limegreen;" | <span style="color:white;"> '''T4''' | ||
+ | | 5 | ||
+ | |- | ||
+ | ! style="background-color:firebrick;"| <span style="color:white;"> '''T5''' | ||
+ | | rowspan="5" | 2 || 1 || rowspan="5" | '''T42''' | ||
+ | |- | ||
+ | ! style="background-color:darkorchid;"| <span style="color:white;"> '''T6''' | ||
+ | | 2 | ||
+ | |- | ||
+ | ! style="background-color:navy;"| <span style="color:white;"> '''T7''' | ||
+ | | 3 | ||
+ | |- | ||
+ | ! style="background-color:tomato;"| <span style="color:white;"> '''T8''' | ||
+ | | 4 | ||
+ | |- | ||
+ | ! style="background-color:forestgreen;"| <span style="color:white;"> '''T9''' | ||
+ | | 5 | ||
+ | |- | ||
+ | ! T10 | ||
+ | | rowspan="5" | 3 || 1 || rowspan="5" | T43 | ||
+ | |- | ||
+ | ! T11 | ||
+ | | 2 | ||
+ | |- | ||
+ | ! T12 | ||
+ | | 3 | ||
+ | |- | ||
+ | ! T13 | ||
+ | | 4 | ||
+ | |- | ||
+ | ! T14 | ||
+ | | 5 | ||
+ | |- | ||
+ | ! T15 | ||
+ | | rowspan="5" | 4 || 1 || rowspan="5" | T44 | ||
+ | |- | ||
+ | ! T16 | ||
+ | | 2 | ||
+ | |- | ||
+ | ! T17 | ||
+ | | 3 | ||
+ | |- | ||
+ | ! T18 | ||
+ | | 4 | ||
+ | |- | ||
+ | ! T19 | ||
+ | | 5 | ||
+ | |- | ||
+ | ! T20 | ||
+ | | colspan="2" | 3P Spindle || rowspan="4" | T45 | ||
+ | |- | ||
+ | ! T21 | ||
+ | | colspan="2" | CO2 Laser | ||
+ | |- | ||
+ | ! T22 | ||
+ | | colspan="2" | Aux1 | ||
+ | |- | ||
+ | ! T23 | ||
+ | | colspan="2" | Aux2 | ||
+ | |- | ||
+ | ! T24 | ||
+ | | colspan="2" | Bed/Chamber 1 || rowspan="2" colspan="2" | T46 | ||
+ | |- | ||
+ | ! T25 | ||
+ | | colspan="2" | Bed/Chamber 2 | ||
+ | |} | ||
==== Using the T with the ESR and 30M ==== | ==== Using the T with the ESR and 30M ==== | ||
Line 51: | Line 192: | ||
Note: some very, very early models had two slots on the left and two on the right, but counting available tool positions from the left, the positions are the same. | Note: some very, very early models had two slots on the left and two on the right, but counting available tool positions from the left, the positions are the same. | ||
− | {| border="1" class="wikitable" style="width: | + | {| border="1" class="wikitable" style="width: 60%; text-align: center;" |
− | |+ T | + | |+ T Addresses for <span style="color: red;">VERY EARLY (2012-2014)</span> ESR and 30M |
|- | |- | ||
! style="width: 20%;" | Yoke<br>Image | ! style="width: 20%;" | Yoke<br>Image | ||
Line 58: | Line 199: | ||
|- | |- | ||
! style="width: 15%;" | Description | ! style="width: 15%;" | Description | ||
− | ! style="width: 15%;" | <span style="color: | + | ! style="width: 15%; background-color:red;"| <span style="color:white;"> '''First Slot''' |
− | ! style="width: 15%;" | | + | ! style="width: 15%; background-color:magenta;"| <span style="color:white;"> '''Second Slot''' |
− | ! style="width: 15%;" | <span style="color: | + | ! style="width: 15%; background-color:black;"| <span style="color:white;"> '''No Slot''' |
− | ! style="width: 15%;" | <span style="color: | + | ! style="width: 15%; background-color:royalblue;" | <span style="color:white;"> '''Third Slot''' |
− | ! style="width: 15%;" | <span style="color: | + | ! style="width: 15%; background-color:darkorange;" | <span style="color:white;"> '''Fourth Slot''' |
|- | |- | ||
− | ! T | + | ! T Address |
− | | <span style="color: red;">'''T0'''< | + | | <span style="color: red;">'''T0''' |
+ | | <span style="color: magenta;">'''T1''' | ||
| '''N/A''' | | '''N/A''' | ||
− | | <span style="color: | + | | <span style="color: royalblue;">'''T2''' |
− | | <span style="color: | + | | <span style="color: darkorange;">'''T3''' |
− | | <span style="color: | + | |- |
+ | ! Global Variable | ||
+ | | scope="row" colspan="5" | <span style="color:dimgrey;"> '''T41''' | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | {| border="1" class="wikitable" style="width: 60%; text-align: center;" | ||
+ | |+ T Addresses for <span style="color: red;">CURRENT (2015+)</span> ESR and 30M | ||
+ | |- | ||
+ | ! style="width: 20%;" | Yoke<br>Image | ||
+ | ! scope="row" colspan="5"| [[File:YokePCA.png|675px]] | ||
+ | |- | ||
+ | ! style="width: 15%;" | Description | ||
+ | ! style="width: 15%; background-color:red;"| <span style="color:white;"> '''First Slot''' | ||
+ | ! style="width: 15%; background-color:black;"| <span style="color:white;"> '''No Slot''' | ||
+ | ! style="width: 15%; background-color:magenta;"| <span style="color:white;"> '''Second Slot''' | ||
+ | ! style="width: 15%; background-color:royalblue;" | <span style="color:white;"> '''Third Slot''' | ||
+ | ! style="width: 15%; background-color:darkorange;" | <span style="color:white;"> '''Fourth Slot''' | ||
|- | |- | ||
− | ! T | + | ! T Address |
− | | <span style="color: red;">''' | + | | <span style="color: red;">'''T0''' |
| '''N/A''' | | '''N/A''' | ||
− | | <span style="color: magenta;">''' | + | | <span style="color: magenta;">'''T1''' |
− | | <span style="color: royalblue;">''' | + | | <span style="color: royalblue;">'''T2''' |
− | | <span style="color: | + | | <span style="color: darkorange;">'''T3''' |
|- | |- | ||
! Global Variable | ! Global Variable | ||
− | | scope="row" colspan="5"| ''' | + | | scope="row" colspan="5" | <span style="color:dimgrey;"> '''T41''' |
|- | |- | ||
|} | |} | ||
Line 87: | Line 246: | ||
The Engine, High Resolution and the single-yoke Hydra 16A use the following configuration. | The Engine, High Resolution and the single-yoke Hydra 16A use the following configuration. | ||
− | {| border="1" class="wikitable" style="width: | + | {| border="1" class="wikitable" style="width: 60%; text-align: center;" |
− | |+ T | + | |+ T Addresses for the EHR and 16A (Single Yoke) |
|- | |- | ||
! style="width: 20%;" | Yoke<br>Image | ! style="width: 20%;" | Yoke<br>Image | ||
Line 94: | Line 253: | ||
|- | |- | ||
! style="width: 15%;" | Description | ! style="width: 15%;" | Description | ||
− | ! style="width: 15%;" | <span style="color: | + | ! style="width: 15%; background-color:red;"| <span style="color:white;"> '''First Slot''' |
− | ! style="width: 15%;" | <span style="color: | + | ! style="width: 15%; background-color:magenta;"| <span style="color:white;"> '''Second Slot''' |
− | ! style="width: 15%;" | <span style="color: | + | ! style="width: 15%; background-color:royalblue;" | <span style="color:white;"> '''Third Slot''' |
− | ! style="width: 15%;" | <span style="color: | + | ! style="width: 15%; background-color:darkorange;" | <span style="color:white;"> '''Fourth Slot''' |
− | ! style="width: 15%;" | <span style="color: | + | ! style="width: 15%; background-color:limegreen;" | <span style="color:white;"> '''Fifth Slot |
|- | |- | ||
− | ! T | + | ! T Address |
| <span style="color: red;">'''T0'''</span> | | <span style="color: red;">'''T0'''</span> | ||
| <span style="color: magenta;">'''T1'''</span> | | <span style="color: magenta;">'''T1'''</span> | ||
| <span style="color: royalblue;">'''T2'''</span> | | <span style="color: royalblue;">'''T2'''</span> | ||
− | | <span style="color: | + | | <span style="color: darkorange;">'''T3'''</span> |
| <span style="color: limegreen;">'''T4'''</span> | | <span style="color: limegreen;">'''T4'''</span> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
! Global Variable | ! Global Variable | ||
− | | scope="row" colspan="5"| | + | | scope="row" colspan="5"| <span style="color:dimgrey;"> '''T41''' |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 169: | Line 276: | ||
{| border="1" class="wikitable" style="width: 80%; text-align: center;" | {| border="1" class="wikitable" style="width: 80%; text-align: center;" | ||
− | |+ T | + | |+ T Addresses for the 16A (Dual Yoke) |
|- | |- | ||
! style="width: 8%;" | Yoke<br>Image | ! style="width: 8%;" | Yoke<br>Image | ||
Line 176: | Line 283: | ||
|- | |- | ||
! style="width: 8%;" | Description | ! style="width: 8%;" | Description | ||
− | ! style="width: 8%;" | <span style="color: | + | ! style="width: 8%; background-color:firebrick;"| <span style="color:white;"> '''2nd Yoke<br>1st Slot''' |
− | ! style="width: 8%;" | <span style="color: | + | ! style="width: 8%; background-color:darkorchid;"| <span style="color:white;"> '''2nd Yoke<br>2nd Slot''' |
− | ! style="width: 8%;" | <span style="color: | + | ! style="width: 8%; background-color:navy;"| <span style="color:white;"> '''2nd Yoke<br>3rd Slot''' |
− | ! style="width: 8%;" | <span style="color: | + | ! style="width: 8%; background-color:tomato;"| <span style="color:white;"> '''2nd Yoke<br>4th Slot''' |
− | ! style="width: 8%;" | <span style="color: | + | ! style="width: 8%; background-color:forestgreen;"| <span style="color:white;"> '''2nd Yoke<br>5th Slot''' |
− | ! style="width: 8%;" | <span style="color: | + | ! style="width: 8%; background-color:red;"| <span style="color:white;"> '''1st Yoke<br>1st Slot''' |
− | ! style="width: 8%;" | <span style="color: | + | ! style="width: 8%; background-color:magenta;"| <span style="color:white;"> '''1st Yoke<br>2nd Slot''' |
− | ! style="width: 8%;" | <span style="color: | + | ! style="width: 8%; background-color:royalblue;" | <span style="color:white;"> '''1st Yoke<br>3rd Slot''' |
− | ! style="width: 8%;" | <span style="color: | + | ! style="width: 8%; background-color:darkorange;" | <span style="color:white;"> '''1st Yoke<br>4th Slot''' |
− | ! style="width: 8%;" | <span style="color: | + | ! style="width: 8%; background-color:limegreen;" | <span style="color:white;"> '''1st Yoke<br>5th Slot''' |
|- | |- | ||
− | ! T | + | ! T Address |
| <span style="color: firebrick;">'''T5'''</span> | | <span style="color: firebrick;">'''T5'''</span> | ||
| <span style="color: darkorchid;">'''T6'''</span> | | <span style="color: darkorchid;">'''T6'''</span> | ||
| <span style="color: navy;">'''T7'''</span> | | <span style="color: navy;">'''T7'''</span> | ||
| <span style="color: tomato;">'''T8'''</span> | | <span style="color: tomato;">'''T8'''</span> | ||
− | | <span style="color: | + | | <span style="color: forestgreen;">'''T9'''</span> |
| <span style="color: red;">'''T0'''</span> | | <span style="color: red;">'''T0'''</span> | ||
| <span style="color: magenta;">'''T1'''</span> | | <span style="color: magenta;">'''T1'''</span> | ||
| <span style="color: royalblue;">'''T2'''</span> | | <span style="color: royalblue;">'''T2'''</span> | ||
− | | <span style="color: | + | | <span style="color: darkorange;">'''T3'''</span> |
| <span style="color: limegreen;">'''T4'''</span> | | <span style="color: limegreen;">'''T4'''</span> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
! Global Variable | ! Global Variable | ||
− | | scope="row" colspan="5"| ''' | + | | scope="row" colspan="5"| '''T42''' |
− | | scope="row" colspan="5"| | + | | scope="row" colspan="5"| <span style="color:dimgrey;"> '''T41''' |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
Line 270: | Line 320: | ||
==== One Head Loaded ==== | ==== One Head Loaded ==== | ||
− | In the following example, I have one MK1-250 head loaded in the first slot on the left, slot 1 | + | In the following example, I have one MK1-250 head loaded in the first slot on the left, slot 1 - now designated '''T0''' for all uses: |
− | M6 <span style="color: red;"> | + | M6 <span style="color: red;">'''T0'''</span> O1 X0 Y0 Z0 |
− | M721 S10000 E100 P-15 <span style="color: red;"> | + | M721 S10000 E100 P-15 <span style="color: red;">'''T0'''</span> |
− | M722 S10000 E100 P20 <span style="color: red;"> | + | M722 S10000 E100 P20 <span style="color: red;">'''T0'''</span> |
− | M221 S1.0 <span style="color: red;"> | + | M221 S1.0 <span style="color: red;">'''T0'''</span> P77 W0.5 Z0.3 |
− | M728 <span style="color: red;"> | + | M728 <span style="color: red;">'''T0'''</span> S0 |
These commands are decoded and executed by the printer as follows: | These commands are decoded and executed by the printer as follows: | ||
* '''M6''' (Declare Head Offsets) | * '''M6''' (Declare Head Offsets) | ||
− | ** <span style="color: red;">''' | + | ** <span style="color: red;">'''T0''' (far left slot) </span> |
** '''O1''' (offset stored in register "O1") | ** '''O1''' (offset stored in register "O1") | ||
** '''X0''' (offsets in X) | ** '''X0''' (offsets in X) | ||
Line 290: | Line 340: | ||
** '''E100''' (100 pulses) | ** '''E100''' (100 pulses) | ||
** '''P-15''' (15ms before end of print move sequence) | ** '''P-15''' (15ms before end of print move sequence) | ||
− | ** <span style="color: red;">''' | + | ** <span style="color: red;">'''T0''' (for far left head)</span> |
* '''M722''' (Set Prime Values) | * '''M722''' (Set Prime Values) | ||
** '''S10000''' (10,000 pps) | ** '''S10000''' (10,000 pps) | ||
** '''E100''' (100 pulses) | ** '''E100''' (100 pulses) | ||
** '''P20''' (20ms before start of print move sequence) | ** '''P20''' (20ms before start of print move sequence) | ||
− | ** <span style="color: red;">''' | + | ** <span style="color: red;">'''T0''' (for far left head) </span> |
* '''M221''' (Set Flow Rate) | * '''M221''' (Set Flow Rate) | ||
** '''S1.0''' (flow multiplier of 1.0) | ** '''S1.0''' (flow multiplier of 1.0) | ||
− | ** <span style="color: red;">''' | + | ** <span style="color: red;">'''T0''' (for far left head) </span> |
** '''P77''' (77 pulses per microliter) | ** '''P77''' (77 pulses per microliter) | ||
** '''W0.5''' (0.5mm nozzle) | ** '''W0.5''' (0.5mm nozzle) | ||
** '''Z0.3''' (0.3mm layer thickness - note that your gcode M756 will overwrite this value) | ** '''Z0.3''' (0.3mm layer thickness - note that your gcode M756 will overwrite this value) | ||
* '''M728''' (set motor current boost) | * '''M728''' (set motor current boost) | ||
− | ** <span style="color: red;">''' | + | ** <span style="color: red;">'''T0''' (far left slot)</span> |
** '''S0''' (off) | ** '''S0''' (off) | ||
Line 310: | Line 360: | ||
==== Two Heads Loaded ==== | ==== Two Heads Loaded ==== | ||
− | In the following example, I have one MK1-250 head loaded in <span style="color: magenta;">the second slot from the left, slot 2 | + | In the following example, I have one MK1-250 head loaded in <span style="color: magenta;">the second slot from the left, slot 2 - now designated '''T1''' for all uses</span>, and one SDS-05 head loaded in <span style="color: royalblue;">the third slot from the left, slot 3 - now designated '''T2''' for all uses</span>: |
− | M6 <span style="color: magenta;"> | + | M6 <span style="color: magenta;">'''T1'''</span> O2 X0 Y0 Z0 |
− | M721 S10000 E100 P-15 <span style="color: magenta;"> | + | M721 S10000 E100 P-15 <span style="color: magenta;">'''T1'''</span> |
− | M722 S10000 E100 P20 <span style="color: magenta;"> | + | M722 S10000 E100 P20 <span style="color: magenta;">'''T1'''</span> |
− | M221 S1.0 <span style="color: magenta;"> | + | M221 S1.0 <span style="color: magenta;">'''T1'''</span> P77 W0.5 Z0.3 |
− | M728 <span style="color: magenta;"> | + | M728 <span style="color: magenta;">'''T1'''</span> S0 |
− | M6 <span style="color: royalblue;"> | + | M6 <span style="color: royalblue;">'''T2'''</span> O3 X0 Y0 Z0 |
− | M721 S10000 E160 P-100 <span style="color: royalblue;"> | + | M721 S10000 E160 P-100 <span style="color: royalblue;">'''T2'''</span> |
− | M722 S10000 E200 P100 <span style="color: royalblue;"> | + | M722 S10000 E200 P100 <span style="color: royalblue;">'''T2'''</span> |
− | M221 S1.0 <span style="color: royalblue;"> | + | M221 S1.0 <span style="color: royalblue;">'''T2'''</span> P81.0 W1.6 Z0.3 |
− | M728 <span style="color: royalblue;"> | + | M728 <span style="color: royalblue;">'''T2'''</span> S0 |
See above for full details. | See above for full details. | ||
Line 341: | Line 391: | ||
* <span style="color: red;">'''T0''' (Switch to far left head, and invoke all flow, prime, unprime, and offset parameters) </span> | * <span style="color: red;">'''T0''' (Switch to far left head, and invoke all flow, prime, unprime, and offset parameters) </span> | ||
− | <span style="color: | + | <span style="color: darkorange;">T3</span> |
This command is decoded and executed by the printer as follows: | This command is decoded and executed by the printer as follows: | ||
− | * <span style="color: | + | * <span style="color: darkorange;">'''T3''' (Switch to fourth head from the left, and invoke all flow, prime, unprime, and offset parameters) </span> |
=== Error Messages === | === Error Messages === | ||
Line 355: | Line 405: | ||
== Gcodes == | == Gcodes == | ||
− | === M702 - M704 Clone | + | === M702 Establish Clone Squad === |
+ | |||
+ | M702 establishes a "Clone Squad" - a group of heads that will perform the same exact (extrusion) commands. | ||
+ | |||
+ | Note that an '''M30''' decommissions any clone squads that were in effect. | ||
+ | |||
+ | '''Usage''' | ||
+ | |||
+ | M702 T# S# | ||
+ | |||
+ | '''Parameters''' | ||
+ | |||
+ | '''T#''' is the head from which flow (pulse/prime/etc) settings will be copied and applied to the group; this head does not need to be in the group | ||
+ | '''S#''' is the clone squad number designation and ''must be in the range '''30 - 39''' '' | ||
+ | |||
+ | '''Example''' | ||
+ | |||
+ | M702 T# S# | ||
+ | |||
+ | This command is decoded and executed by the printer as follows: | ||
+ | |||
+ | * '''M702''' (establish clone squad) | ||
+ | ** '''T#''' (using flow values from target head) | ||
+ | ** '''S#''' (designate squad number) | ||
+ | |||
+ | <br> | ||
+ | <hr> | ||
+ | |||
+ | === M703 Add to Clone Squad === | ||
+ | |||
+ | M703 adds a single head to the Clone Squad we established with an M702. Use this command multiple times to add multiple heads to the squad. | ||
+ | |||
+ | Alternately, M703 can be used to simply clone one head to another (as with v4). | ||
+ | |||
+ | '''Usage''' | ||
+ | |||
+ | M703 T# S# | ||
+ | |||
+ | '''Parameters''' | ||
+ | |||
+ | '''T#''' is the target head to add to the squad | ||
+ | '''S#''' is the clone squad number designation and must be in the range 30 - 39 | ||
+ | '''OR''' | ||
+ | '''T#''' is the head which will duplicate commands sent to S# | ||
+ | '''S#''' is the head which T# will duplicate | ||
+ | |||
+ | '''Example 1''' | ||
+ | |||
+ | M703 T# S# | ||
+ | |||
+ | This command is decoded and executed by the printer as follows: | ||
+ | |||
+ | * '''M703''' (add to clone squad) | ||
+ | ** '''T#''' (target head) | ||
+ | ** '''S#''' (clone squad to join) | ||
+ | |||
+ | '''Example 2''' | ||
+ | |||
+ | M703 T# S# | ||
+ | |||
+ | This command is decoded and executed by the printer as follows: | ||
+ | |||
+ | * '''M703''' (duplicate head actions) | ||
+ | ** '''T#''' (head on which to immitate head S# actions) | ||
+ | ** '''S#''' (head which T# will immitate) | ||
+ | |||
+ | |||
+ | <br> | ||
+ | <hr> | ||
+ | |||
+ | === M704 Remove from Clone Squad === | ||
+ | |||
+ | |||
+ | M704 removes a single head to the Clone Squad we established with an M702 and loaded with one or more M703s. Use this command multiple times to remove multiple heads from the squad. | ||
+ | |||
+ | '''Usage''' | ||
+ | |||
+ | M704 T# S# | ||
+ | |||
+ | '''Parameters''' | ||
+ | |||
+ | '''T#''' is the target head to remove from the squad | ||
+ | '''S#''' is the clone squad number designation and must be in the range 30 - 39 | ||
+ | '''OR''' | ||
+ | '''T#''' is the head which will stop duplicating commands sent to S# | ||
+ | '''S#''' is the head (which T# will stop duplicating) | ||
+ | |||
+ | '''Example 1''' | ||
+ | |||
+ | M704 T# S# | ||
+ | |||
+ | This command is decoded and executed by the printer as follows: | ||
+ | |||
+ | * '''M704''' (remove from clone squad) | ||
+ | ** '''T#''' (target head) | ||
+ | ** '''S#''' (target clone squad) | ||
+ | |||
+ | '''Example 2''' | ||
+ | |||
+ | M704 T# S# | ||
+ | |||
+ | This command is decoded and executed by the printer as follows: | ||
+ | |||
+ | * '''M704''' (stop duplication) | ||
+ | ** '''T#''' (head to stop immitating S#) | ||
+ | ** '''S#''' (head which T# will stop immitating) | ||
+ | |||
− | + | <br> | |
− | + | <hr> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 19:51, 21 December 2020
Understanding the T on versions 5 and later (the enlightenment).
The T
With the release of Repetrel v5, we are happy to announce that the means of addressing heads for T Commands and T Variables within M Commands has been unified. Finally, T0 always means the first head on the first yoke, regardless of how or why we are referring to it.
Chart of Addresses
Below are details of addressing for each tool position on our printers. These are explained by model with images below.
Overall
While most units come with four or five physical tool positions, and one extra yoke gives a 16A a total of ten positions, we have the ability to control up to 20 tool positions or "heads", organized in four banks (or yokes) of five each.
Basic device mapping:
New
Yoke | Pos 1 | Pos 2 | Pos 3 | Pos 4 | Pos 5 |
---|---|---|---|---|---|
1 | T0 | T1 | T2 | T3 | T4 |
2 | T5 | T6 | T7 | T8 | T9 |
3 | T10 | T11 | T12 | T13 | T14 |
4 | T15 | T16 | T17 | T18 | T19 |
Special device mapping:
T# | Device | Virtual |
---|---|---|
T20 | 3-Phase Spindle | T45 |
T21 | CO2 Laser | |
T22 | Aux1 | |
T23 | Aux2 | |
T24 | Bed1 / Chamber1 | T46 |
T25 | Bed2 / Chamber2 |
Virtual device mapping:
T# | Device |
---|---|
T30 - T39 | Virtual Heads / Groups / Squads |
T40 | ALL DEVICES |
T41 | Yoke 1, all Heads |
T42 | Yoke 2, all Heads |
T43 | Yoke 3, all Heads |
T44 | Yoke 4, all Heads |
T45 | All Aux devices |
T46 | All Beds / Chambers |
T47 | All non-Bed / non-Chamber devices |
T48 | All Virtual devices (T30-T39) |
Chart of virtual address hierarchy:
Physical | |||||
---|---|---|---|---|---|
Description | Virtual Addresses | ||||
Address | Yoke | Position | Zone | Type | All |
T0 | 1 | 1 | T41 | T47 | T40 |
T1 | 2 | ||||
T2 | 3 | ||||
T3 | 4 | ||||
T4 | 5 | ||||
T5 | 2 | 1 | T42 | ||
T6 | 2 | ||||
T7 | 3 | ||||
T8 | 4 | ||||
T9 | 5 | ||||
T10 | 3 | 1 | T43 | ||
T11 | 2 | ||||
T12 | 3 | ||||
T13 | 4 | ||||
T14 | 5 | ||||
T15 | 4 | 1 | T44 | ||
T16 | 2 | ||||
T17 | 3 | ||||
T18 | 4 | ||||
T19 | 5 | ||||
T20 | 3P Spindle | T45 | |||
T21 | CO2 Laser | ||||
T22 | Aux1 | ||||
T23 | Aux2 | ||||
T24 | Bed/Chamber 1 | T46 | |||
T25 | Bed/Chamber 2 |
Using the T with the ESR and 30M
The Engine, Standard Resolution and the System 30M use the following configuration.
Note: some very, very early models had two slots on the left and two on the right, but counting available tool positions from the left, the positions are the same.
Yoke Image |
![]() | ||||
---|---|---|---|---|---|
Description | First Slot | Second Slot | No Slot | Third Slot | Fourth Slot |
T Address | T0 | T1 | N/A | T2 | T3 |
Global Variable | T41 |
Yoke Image |
![]() | ||||
---|---|---|---|---|---|
Description | First Slot | No Slot | Second Slot | Third Slot | Fourth Slot |
T Address | T0 | N/A | T1 | T2 | T3 |
Global Variable | T41 |
Using the T with the EHR and 16A (Single Yoke)
The Engine, High Resolution and the single-yoke Hydra 16A use the following configuration.
Yoke Image |
![]() | ||||
---|---|---|---|---|---|
Description | First Slot | Second Slot | Third Slot | Fourth Slot | Fifth Slot |
T Address | T0 | T1 | T2 | T3 | T4 |
Global Variable | T41 |
Using the T with the 16A (Dual Yoke)
Dual-yoke Hydra 16A units use the following configuration.
Default Mode
By default, when you start a job (click the "Print" button), Repetrel will scan the yoke(s), detecting heads serially from left to right, registering which head is in which slot, and "focus" on the first head it detects. Many users only print with one head and use gcode that does not explicitly direct commands to any particular head. The effect of this is that the gcode will be executed with the only head loaded, regardless of what slot it is in. However, you do have the option - and, when printing with multiple heads, the requirement - to explicitly direct Repetrel's "focus" to a particular head, either for the entire job, or changing "focus" to different heads at different times.
At the start of the job, Repetrel sends the head-specific data to the motion controller; this is done behind the scenes, but if you enable XMIT echoing on the Interface/COM tab, you can see what gets sent. Additionally, the header and gcode together are written to C:\PrintHistory\HyrelPrintFile.gocde
- and this is the file you should send us for help toubleshooting.
One Head Loaded
In the following example, I have one MK1-250 head loaded in the first slot on the left, slot 1 - now designated T0 for all uses:
M6 T0 O1 X0 Y0 Z0 M721 S10000 E100 P-15 T0 M722 S10000 E100 P20 T0 M221 S1.0 T0 P77 W0.5 Z0.3 M728 T0 S0
These commands are decoded and executed by the printer as follows:
- M6 (Declare Head Offsets)
- T0 (far left slot)
- O1 (offset stored in register "O1")
- X0 (offsets in X)
- Y0 (offsets in Y)
- Z0 (offsets in Z)
- M721 (Set Unprime Values)
- S10000 (10,000 pps)
- E100 (100 pulses)
- P-15 (15ms before end of print move sequence)
- T0 (for far left head)
- M722 (Set Prime Values)
- S10000 (10,000 pps)
- E100 (100 pulses)
- P20 (20ms before start of print move sequence)
- T0 (for far left head)
- M221 (Set Flow Rate)
- S1.0 (flow multiplier of 1.0)
- T0 (for far left head)
- P77 (77 pulses per microliter)
- W0.5 (0.5mm nozzle)
- Z0.3 (0.3mm layer thickness - note that your gcode M756 will overwrite this value)
- M728 (set motor current boost)
- T0 (far left slot)
- S0 (off)
See the entries for these commands, below, for more details.
Two Heads Loaded
In the following example, I have one MK1-250 head loaded in the second slot from the left, slot 2 - now designated T1 for all uses, and one SDS-05 head loaded in the third slot from the left, slot 3 - now designated T2 for all uses:
M6 T1 O2 X0 Y0 Z0 M721 S10000 E100 P-15 T1 M722 S10000 E100 P20 T1 M221 S1.0 T1 P77 W0.5 Z0.3 M728 T1 S0 M6 T2 O3 X0 Y0 Z0 M721 S10000 E160 P-100 T2 M722 S10000 E200 P100 T2 M221 S1.0 T2 P81.0 W1.6 Z0.3 M728 T2 S0
See above for full details.
Explicit Mode
Although we don't generally recommend keeping heads loaded if they will be unused on the current job, you might want to do this. At the beginning of your gcode, force focus with a T command in the gcode before your first print move. We recommend doing this before any movements, in case your head will collide with the bed without the offset. A simple T1 (or for whichever head you want focused on) will accomplish this.
If you are printing with two heads (for two stl files from different heads, or if you want infill or support from a different head than the one printing perimeters), the slicer will generate T commands where needed.
If you are doing a clone/parallel/slave print (two heads executing the same code at the same time), see the M703 entry, below, for more details.
Here are some examples:
T0
This command is decoded and executed by the printer as follows:
- T0 (Switch to far left head, and invoke all flow, prime, unprime, and offset parameters)
T3
This command is decoded and executed by the printer as follows:
- T3 (Switch to fourth head from the left, and invoke all flow, prime, unprime, and offset parameters)
Error Messages
So, in an effort to conform with standard CNC gcode practices, we now check which heads are called out with T commands in your gcode when it is loaded or refreshed, and we compare that with which tool positions on the yoke actually have heads. If there is any mismatch, warning message popups will appear.
If you have your heads called out in your gcode and the same tool positions loaded with heads, you will not see these warnings.
Gcodes
M702 Establish Clone Squad
M702 establishes a "Clone Squad" - a group of heads that will perform the same exact (extrusion) commands.
Note that an M30 decommissions any clone squads that were in effect.
Usage
M702 T# S#
Parameters
T# is the head from which flow (pulse/prime/etc) settings will be copied and applied to the group; this head does not need to be in the group S# is the clone squad number designation and must be in the range 30 - 39
Example
M702 T# S#
This command is decoded and executed by the printer as follows:
- M702 (establish clone squad)
- T# (using flow values from target head)
- S# (designate squad number)
M703 Add to Clone Squad
M703 adds a single head to the Clone Squad we established with an M702. Use this command multiple times to add multiple heads to the squad.
Alternately, M703 can be used to simply clone one head to another (as with v4).
Usage
M703 T# S#
Parameters
T# is the target head to add to the squad S# is the clone squad number designation and must be in the range 30 - 39 OR T# is the head which will duplicate commands sent to S# S# is the head which T# will duplicate
Example 1
M703 T# S#
This command is decoded and executed by the printer as follows:
- M703 (add to clone squad)
- T# (target head)
- S# (clone squad to join)
Example 2
M703 T# S#
This command is decoded and executed by the printer as follows:
- M703 (duplicate head actions)
- T# (head on which to immitate head S# actions)
- S# (head which T# will immitate)
M704 Remove from Clone Squad
M704 removes a single head to the Clone Squad we established with an M702 and loaded with one or more M703s. Use this command multiple times to remove multiple heads from the squad.
Usage
M704 T# S#
Parameters
T# is the target head to remove from the squad S# is the clone squad number designation and must be in the range 30 - 39 OR T# is the head which will stop duplicating commands sent to S# S# is the head (which T# will stop duplicating)
Example 1
M704 T# S#
This command is decoded and executed by the printer as follows:
- M704 (remove from clone squad)
- T# (target head)
- S# (target clone squad)
Example 2
M704 T# S#
This command is decoded and executed by the printer as follows:
- M704 (stop duplication)
- T# (head to stop immitating S#)
- S# (head which T# will stop immitating)