Difference between revisions of "T v4"
(One intermediate revision by the same user not shown) | |||
Line 52: | Line 52: | ||
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: 65%; text-align: center;" | {| border="1" class="wikitable" style="width: 65%; text-align: center; background-color:lightgrey;" | ||
|+ T Commands and Variables for <span style="color: red;">VERY EARLY (2012-2014)</span> ESR and 30M | |+ T Commands and Variables for <span style="color: red;">VERY EARLY (2012-2014)</span> ESR and 30M | ||
|- | |- | ||
! style="width: 20%;" | Yoke<br>Image | ! style="width: 20%; background-color:lightgrey;" | Yoke<br>Image | ||
! scope="row" colspan="5"| [[File:YokePCA.png|675px]] | ! scope="row" colspan="5" style="background-color:lightgrey;"| [[File:YokePCA.png|675px]] | ||
|- | |- | ||
! style="width: 15%;" | Description | ! style="width: 15%; background-color:lightgrey;" | Description | ||
! style="width: 15%; background-color:red;"| <span style="color:white;"> '''First Slot''' | ! style="width: 15%; background-color:red;"| <span style="color:white;"> '''First Slot''' | ||
! style="width: 15%; background-color:magenta;"| <span style="color:white;"> '''Second Slot''' | ! style="width: 15%; background-color:magenta;"| <span style="color:white;"> '''Second Slot''' | ||
Line 65: | Line 65: | ||
! style="width: 15%; background-color:darkorange;" | <span style="color:white;"> '''Fourth Slot''' | ! style="width: 15%; background-color:darkorange;" | <span style="color:white;"> '''Fourth Slot''' | ||
|- | |- | ||
! T Command | ! style="background-color:lightgrey;" | T Command | ||
| <span style="color: red;">'''T0''' | | <span style="color: red;">'''T0''' | ||
| <span style="color: magenta;">'''T1''' | | <span style="color: magenta;">'''T1''' | ||
Line 72: | Line 72: | ||
| <span style="color: darkorange;">'''T3''' | | <span style="color: darkorange;">'''T3''' | ||
|- | |- | ||
! T Variable | ! style="background-color:lightgrey;" | T Variable | ||
| <span style="color: red;">'''T11''' | | <span style="color: red;">'''T11''' | ||
| <span style="color: magenta;">'''T12''' | | <span style="color: magenta;">'''T12''' | ||
Line 79: | Line 79: | ||
| <span style="color: darkorange;">'''T14''' </span> | | <span style="color: darkorange;">'''T14''' </span> | ||
|- | |- | ||
! Global Variable | ! style="background-color:lightgrey;" | Global Variable | ||
| scope="row" colspan="5" | <span style="color:dimgrey;"> '''T10''' | | scope="row" colspan="5" | <span style="color:dimgrey;"> '''T10''' | ||
|- | |- | ||
Line 459: | Line 459: | ||
|- | |- | ||
! Hotbed 1 | ! Hotbed 1 | ||
| M140 T91 S200 | | M140 '''T91''' S200 | ||
| M190 T91 S200 | | M190 '''T91''' S200 | ||
| ''if no T value, last hotbed communicated with'' | | ''if no T value, last hotbed communicated with'' | ||
|- | |- |
Latest revision as of 19:45, 19 May 2021
Understanding the T on versions 4 and earlier (the dark ages).
The T
The T command (lines starting with a T) and the T variable in M commands (lines starting with an M) use different addressing. Each address has a resistor value to identify it. Here's how they're used:
T Commands
A T command starts with a T, and indicates a tool change, or a change of focus from one tool position (print head) to another. A T command also invokes the variables (nozzle diameter, motor pulses per unit volume, flow multiplier, prime and unprime values, and any X/Y/Z offsets) which were sent from Repetrel to the Motion Controller at job start. On Yoke 1, these are labeled 0-4 (or 5), left to right. See the chart below for a full listing.
Here is an example:
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)
T Variables
A T variable is a variable or parameter (sometimes optional), sent as part of an M command, starting with an M, and indicates which tool position these settings should be applied to. If left out, these settings are applied to the head which currently has focus (is printing). On Yoke 1, these are labeled 11-14 (11-15 on Hydras and EHRs), left to right, with 10 being a wildcard, sending this command to every head on Yoke 1. See the chart below for a full listing.
Here is an example:
M221 T11 S1.0 P.58 W1.6 Z0.3
This command is decoded and executed by the printer as follows:
- M221 (Set Flow Rate)
- S1.0 (flow multiplier of 1.0)
- T11 (for far left head)
- P77 (77 pulses per microliter)
- W0.5 (0.5mm nozzle)
- Z0.3 (0.3mm layer thickness)
Note that this Z value will later be overwritten with the value provided by the M756 command.
See the entries for these commands, below, for more details.
Charts of Addresses
Below are details of addressing for each tool position on each model printer.
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.
Using the T with the EHR and 16A (Single Yoke)
The Engine, High Resolution and the single-yoke Hydra 16A use the following configuration.
Using the T with the 16A (Dual Yoke)
Dual-yoke Hydra 16A units use the following configuration.
Special Addresses
Description | T Command | T Variable |
---|---|---|
All Devices | n/a | M# T0 |
All Heads | n/a | M# T100 |
Yoke 1, All Slots | n/a | M# T10 |
Yoke 2, All Slots | n/a | M# T20 |
CO2 Laser | T11 | M# T41 |
3-Phase Spindle | T12 | M# T26 |
Primary Bed/Chamber | n/a (T13) | M# T91 |
Secondary Bed/Chamber | n/a (T14) | M# T92 |
All Beds/Chambers | n/a | M# T90 |
Description | T Command | T Variable |
---|---|---|
All Devices | n/a | M# T0 |
All Heads | n/a | M# T100 |
Yoke 1, All Slots | n/a | M# T10 |
Yoke 2, All Slots | n/a | M# T20 |
CO2 Laser | T11 | M# T41 |
3-Phase Spindle | T12 | M# T26 |
Primary Bed/Chamber | n/a (T13) | M# T91 |
Secondary Bed/Chamber | n/a (T14) | M# T92 |
All Beds/Chambers | n/a | M# T90 |
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 (tool focus command T0, but variable T11):
M6 T11 O1 X0 Y0 Z0 M721 S10000 E100 P-15 T11 M722 S10000 E100 P20 T11 M221 S1.0 T11 P77 W0.5 Z0.3 M728 T11 S0
These commands are decoded and executed by the printer as follows:
- M6 (Declare Head Offsets)
- T11 (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)
- T11 (for far left head)
- M722 (Set Prime Values)
- S10000 (10,000 pps)
- E100 (100 pulses)
- P20 (20ms before start of print move sequence)
- T11 (for far left head)
- M221 (Set Flow Rate)
- S1.0 (flow multiplier of 1.0)
- T11 (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)
- T11 (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 (tool focus command T1, but variable T12), and one SDS-05 head loaded in the third slot from the left, slot 3 (tool focus command T2, but variable T13):
M6 T12 O2 X0 Y0 Z0 M721 S10000 E100 P-15 T12 M722 S10000 E100 P20 T12 M221 S1.0 T12 P77 W0.5 Z0.3 M728 T12 S0 M6 T13 O3 X0 Y0 Z0 M721 S10000 E160 P-100 T13 M722 S10000 E200 P100 T13 M221 S1.0 T13 P81.0 W1.6 Z0.3 M728 T13 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.
Target | Set Temp | Set & Wait | Default Values |
---|---|---|---|
Yoke 1, Head 1 | M104 T11 S240 | M109 T11 S240 | if no T value, last head communicated with |
Yoke 1, Head 2 | M104 T12 S240 | M109 T12 S240 | if no T value, last head communicated with |
Yoke 1, Head 3 | M104 T13 S240 | M109 T13 S240 | if no T value, last head communicated with |
Yoke 1, Head 4 | M104 T14 S240 | M109 T14 S240 | if no T value, last head communicated with |
Yoke 1, Head 5 | M104 T15 S240 | M109 T15 S240 | if no T value, last head communicated with |
Yoke 1, All heads | M104 T10 S240 | M109 T10 S240 | if no T value, last head communicated with |
Yoke 2, Head 1 | M104 T21 S240 | M109 T21 S240 | if no T value, last head communicated with |
Yoke 2, Head 2 | M104 T22 S240 | M109 T22 S240 | if no T value, last head communicated with |
Yoke 2, Head 3 | M104 T23 S240 | M109 T23 S240 | if no T value, last head communicated with |
Yoke 2, Head 4 | M104 T24 S240 | M109 T24 S240 | if no T value, last head communicated with |
Yoke 2, Head 5 | M104 T25 S240 | M109 T25 S240 | if no T value, last head communicated with |
Yoke 2, All Heads | M104 T20 S240 | M109 T20 S240 | if no T value, last head communicated with |
Hotbed 1 | M140 T91 S200 | M190 T91 S200 | if no T value, last hotbed communicated with |
Hotbed 2 | M140 T92 S200 | M190 92 S200 | if no T value, last hotbed communicated with |
Chamber 1 | M141 T91 S50 | M191 T91 S50 | if no T value, last chamber communicated with |
Chamber 2 | M141 T92 S50 | M191 T92 S50 | if no T value, last chamber communicated with |
Gcodes
M703 Cloning
Clone, slave, or parallel printing, is when one head makes a normal print, and another head makes the exact same print at the same time.
We will normally execute a T command first, to establish the primary or master head (generally the one to the left). Then the M703 command, cloning or slaving another head to the first.
In the following example we have a five-position yoke; commands executed by the head in the far left slot will also be executed by both the center (third from left) and far right (fifth from left) slots:
T0 M703 T13 S11 M703 T15 S11
These commands are decoded and executed by the printer as follows:
- T0 - Assign commands to far left head (on yoke 1)
- M703 - Begin to Duplicate Commands:
- T13 - Tool position 3 will also execute commands
- S11 - Sent to position 1
- M703 - Begin to Duplicate Commands:
- T15 - Tool position 5 will also execute commands
- S11 - Sent to position 1
Note that only Hydra (16A) and High Resolution Engine (EHR) units have five tool positions; other models have four only. See Understanding the T at the top of this page for tool position nomenclature.
Note, M30 (or reset button in GUI) erases all cloning and all squads.