333 lines
7.9 KiB
Tcl
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
|