Files
sics/site_ansto/instrument/rsd/motor_configuration.tcl
Douglas Clowes 6ad47fb288 Modify to reflect motion stage information in Kowari Instruction Manual
r1303 | dcl | 2006-11-21 09:20:16 +1100 (Tue, 21 Nov 2006) | 2 lines
2012-11-15 12:53:33 +11:00

333 lines
7.9 KiB
Tcl

# Setup addresses of Galil DMC2280 controllers.
set dmc2280_controller1(host) mc1-kowari
set dmc2280_controller1(port) pmc1-kowari
set dmc2280_controller2(host) mc2-kowari
set dmc2280_controller2(port) pmc2-kowari
set dmc2280_controller3(host) mc3-kowari
set dmc2280_controller3(port) pmc3-kowari
set dmc2280_controller4(host) mc4-kowari
set dmc2280_controller4(port) pmc4-kowari
# Run slit homing routines on controllers 3 and 4
#if [catch {dmc_connect dmc2280_controller3} ] {
# dmc_sendCmd dmc2280_controller3 "XQ#HOME,1"
# dmc_close dmc2280_controller3
#}
#if [catch {dmc_connect dmc2280_controller4} ] {
# dmc_sendCmd dmc2280_controller4 "XQ#HOME,1"
# dmc_close dmc2280_controller4
#}
# Monochromator omega, rotate
Motor mom DMC2280 [params \
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis E\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -12500]
setHomeandRange -motor mom -home 0 -lowrange 180 -uprange 180
mom speed 1
mom precision 0.01
# Monochromator two-theta, flight-tube rotate
Motor mtth DMC2280 [params \
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis F\
units degrees\
maxSpeed 0.5\
maxAccel 0.2\
maxDecel 0.2\
stepsPerX 25000]
setHomeandRange -motor mtth -home 120 -lowrange 35 -uprange 35
mtth speed 0.5
mtth precision 0.01
proc mthGet {} { return [expr [SplitReply [mtth]]/2.0]}
proc mthSet {val} { return "mtth=[SplitReply [mtth]]"}
publish mthSet user
publish mthGet user
MakeConfigurableMotor mth
mth readscript mthGet
mth drivescript mthSet
# Monochromator chi, Tilt 2, lower
Motor mchi DMC2280 [params \
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis B\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000]
setHomeandRange -motor mchi -home 90 -lowrange 20 -uprange 20
mchi speed 1
mchi precision 0.01
# Monochromator phi, Tilt 1, upper
Motor mphi DMC2280 [params \
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis A\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -25000]
setHomeandRange -motor mphi -home 0 -lowrange 20 -uprange 20
mphi speed 1
mphi precision 0.01
# Monochromator Trans 1, upper
Motor my DMC2280 [params \
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis C\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000]
setHomeandRange -motor my -home 0 -lowrange 5 -uprange 5
my speed 1
my precision 0.01
# Monochromator Trans 2, lower
Motor mx DMC2280 [params \
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis D\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000]
setHomeandRange -motor mx -home 0 -lowrange 5 -uprange 5
mx speed 1
mx precision 0.01
# Sample Omega, rotate
Motor som DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis E\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -12500]
setHomeandRange -motor som -home 0 -lowrange 0 -uprange 360
som speed 1
som precision 0.01
# Sample two-theta, detector rotate
Motor stth DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis F\
units degrees\
maxSpeed 0.2\
maxAccel 0.2\
maxDecel 0.2\
stepsPerX 125000]
setHomeandRange -motor stth -home 90 -lowrange 15 -uprange 15
stth speed 0.5
stth precision 0.01
proc sthGet {} { return [expr [SplitReply [stth]]/2.0]}
proc sthSet {val} { return "stth=[SplitReply [stth]]"}
publish sthSet user
publish sthGet user
MakeConfigurableMotor sth
sth readscript sthGet
sth drivescript sthSet
# Eulerian-chi
Motor echi DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis B\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000]
setHomeandRange -motor echi -home 0 -lowrange 0 -uprange 360
echi speed 1
echi precision 0.01
# Eulerian-phi
Motor ephi DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis A\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000]
setHomeandRange -motor ephi -home 0 -lowrange 0 -uprange 360
ephi speed 1
ephi precision 0.01
# Sample Trans 1 (upper)
Motor sy DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis C\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000]
setHomeandRange -motor sy -home 0 -lowrange 250 -uprange 250
sy speed 1
sy precision 0.01
# Sample Trans2 (lower)
Motor sx DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis D\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000]
setHomeandRange -motor sx -home 0 -lowrange 250 -uprange 250
sx speed 1
sx precision 0.01
# Sample Trans3 (vertical)
Motor sz DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis G\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000]
setHomeandRange -motor sz -home 0 -lowrange 0 -uprange 700
sz speed 1
sz precision 0.01
#--------------------------------------------------------
# Primary Slit, position 0-150mm
Motor psp DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis E\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 2040518]
setHomeandRange -motor psp -home 0 -lowrange 0 -uprange 150
# Primary Slit, width, 0-30mm
Motor psw DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis F\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 2040518]
setHomeandRange -motor psw -home 0 -lowrange 0 -uprange 30
# Primary Slit, height, 0-30mm
Motor psh DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis G\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 542093]
setHomeandRange -motor psh -home 0 -lowrange 0 -uprange 30
# Primary Slit, horizontal offset, 0-30mm
Motor psho DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis H\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 542093]
setHomeandRange -motor psho -home 0 -lowrange 0 -uprange 30
#--------------------------------------------------------
# Secondary Slit, position
Motor ssp DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis E\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 2043085]
setHomeandRange -motor ssp -home 0 -lowrange 0 -uprange 150
# Secondary Slit, width
Motor ssw DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis F\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 2043085]
setHomeandRange -motor ssw -home 0 -lowrange 0 -uprange 30
# Secondary Slit, height
Motor ssh DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis G\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 500000]
setHomeandRange -motor ssh -home 0 -lowrange 0 -uprange 30
# Secondary Slit, horizontal offset
Motor ssho DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis H\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 500000]
setHomeandRange -motor ssho -home 0 -lowrange 0 -uprange 30
#--------------------------------------------------------
# END MOTOR CONFIGURATION