You are on page 1of 3

Instruction set

Notes:

All units must be either seconds, millimeters, grams, milliliters or Celsius. The speeds in
mm/s, ml/s or g/s
If X1 and X2 are not properly defined, the program won't be accepted, X1 and X2 define the
beginning and end of the injection range
X is always relative to X0, this means X1 <= X <= X2

First X1 and X2 must be declared:


{X1=...mm,X2=...mm}
Then a list of separate instructions is given, instructions have the form:
[(Tag) a=...unit b=...unit c= unit]
(initialize)

goes to X0, and loads the maximum amount of Epoxy in the system, heaters off.

(fillmixer)

Fills the static mixer in t seconds, or with default speed if not specified.

(goto)

goes to X0+x, see examples for more details

(goto_relative)

is planned but not yet implemented, same as (goto), but x is relative to the
current position.

(temp)

Sets a temperature T, and waits until T is reached, if T > Room Temperature. If


no T is specified, the Heaters are turned off, and Room Temperature is used.

(wait)

Waits for t seconds.

(pause)

Pauses the program until

(inject)

Injects e[ml] or e[g] of Epoxy mixture.

(load)

Loads Resin and Hardener equivalent to e[ml] or e[g] of Epoxy mixture.

(out)

Drives the axis out of the lathe, to the 0 position with the given speed, or default
speed if none is given.

(finalize)

sends all axes to the homing position, (while the valves are unpowered)

Examples for Valid instructions:


[(goto) x=120mm]

Goes to at default speed.

[(goto) x=120mm v=5mm/s]

Goes to X0+120mm with a speed of 5mm/s.

[(goto),x=120mm, v=5mm/s, e=10ml] goes to X0+120mm with a speed of 5mm/s, while


injecting 10 ml of mixed Epoxy, the injection process is
linear. Commas are not necessary.
Goes to X0+100.5mm, within 5.3 seconds while injecting
[(goto),x=100.5mm, t=5.3s, e=10.5ml] 10.5ml of Epoxy mix.

[(goto),x=100mm, t=5s, e=10g]

Goes to Xo+100mm, within 5 seconds while injecting 10g


of Epoxy mix, this means an injection speed of 2g/s

[(goto) t=5s e=10g x=100mm]

Does the same as the last instruction, the order of the


values isn't important, however, the instruction Tag must
always be at the beginning

[(inject) t=5s e=10g]

Injects 10g in 5s

[(inject) v=5g/s e=10g]

Injects 10g at 5g/s.

[(pause)]

Pauses until the user presses the Start Button (green). The
user must ensure that the time isn't enough for the
epoxy to solidify if the injection process isn't finished.

[(wait) t=10.53s]

Does nothing for 10.53s

[(load) t=5s e=10g]

Loads Resin and Hardener from the canisters equivalent to


10g Epoxy within 5 seconds

[(load) v= 10ml/s e=10ml]

Loads Resin and Hardener from the canisters equivalent to


10ml Epoxy 10ml/s.

[(load) e=10ml]

Loads Resin and Hardener from the canisters equivalent to


10ml Epoxy at default speed. (defined in settings)

[(fillmixer)]

Fills the mixer at default speed (defined in the settings)

[(fillmixer) t=1s]

Fills the static mixer within 1s

[(temp) T=80C]

Warms the Heater to 80C, the mixture Temperature will be


lower.

[(temp)]

Giving no temperature will result in the heaters shutting


down

[(out) v=100mm/s]

Drives the Lance out of the lathe to the 0 position, at


100mm/s

[(finalize) ]

sends all axes to the homing position, (while the valves are
unpowered)

Example 1:
{X1=10mm,X2=110mm}
[(initialize)]
[(temp) T=80C]
// Note that anything written outside the instructions is ignored as long as it doesn't have any
brackets.
[(pause)] //wait for user
[(goto) x=110mm]
[(fillmixer) t=1s]
[(goto)x=60mm t=15s e=100ml]
[(inject)e=50ml]
[(temp)] // shut heaters off
[(wait) t=300s]
[(finalize)]

Example 2:
{X1=100mm,X2=150mm}
[(initialize)]
[(fillmixer)]
[(pause)] //wait for user
[(wait) t=10s]
[(goto) x=150mm, v=10mm/s, e=100g]
[(inject)e=50ml]
[(out) v=100mm/s]
[(wait) t=300s]
[(finalize)]

You might also like