444 lines
9.8 KiB
Tcl
444 lines
9.8 KiB
Tcl
# $Revision: 1.4 $
|
|
# $Date: 2006-12-12 22:30:13 $
|
|
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
|
# Last revision by: $Author: dcl $
|
|
|
|
# START MOTOR CONFIGURATION
|
|
|
|
# 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
|
|
#}
|
|
|
|
############################
|
|
# Motor Controller 1
|
|
# Motor Controller 1
|
|
# Motor Controller 1
|
|
############################
|
|
#:TP at HOME
|
|
#
|
|
|
|
# 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\
|
|
absEnc 1\
|
|
absEncHome 7414753\
|
|
cntsPerX -8192]
|
|
setHomeandRange -motor mphi -home 0 -lowrange 15 -uprange 15
|
|
mphi speed 1
|
|
mphi precision 0.01
|
|
|
|
# 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\
|
|
absEnc 1\
|
|
absEncHome 7818915\
|
|
cntsPerX 8192]
|
|
setHomeandRange -motor mchi -home 90 -lowrange 15 -uprange 15
|
|
mchi speed 1
|
|
mchi 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\
|
|
absEnc 1\
|
|
absEncHome 7781680\
|
|
cntsPerX 8192]
|
|
setHomeandRange -motor my -home 0 -lowrange 20 -uprange 20
|
|
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\
|
|
absEnc 1\
|
|
absEncHome 7562793\
|
|
cntsPerX -8192]
|
|
setHomeandRange -motor mx -home 0 -lowrange 20 -uprange 20
|
|
mx speed 1
|
|
mx precision 0.01
|
|
|
|
# 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\
|
|
absEnc 1\
|
|
absEncHome 17694127\
|
|
cntsPerX -4096]
|
|
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\
|
|
absEnc 1\
|
|
absEncHome 10299428\
|
|
cntsPerX 93207]
|
|
setHomeandRange -motor mtth -home 120 -lowrange 35 -uprange 35
|
|
mtth speed 0.5
|
|
mtth accel 0.01
|
|
mtth decel 0.01
|
|
mtth precision 0.02
|
|
|
|
############################
|
|
# Motor Controller 2
|
|
# Motor Controller 2
|
|
# Motor Controller 2
|
|
############################
|
|
#:TP at HOME
|
|
#
|
|
|
|
# Sample Trans, vertical, first stage
|
|
Motor sz1 DMC2280 [params \
|
|
host $dmc2280_controller2(host)\
|
|
port $dmc2280_controller2(port)\
|
|
axis A\
|
|
units mm\
|
|
maxSpeed 1\
|
|
maxAccel 1\
|
|
maxDecel 1\
|
|
stepsPerX 25000]
|
|
setHomeandRange -motor sz1 -home 0 -lowrange 0 -uprange 350
|
|
sz1 speed 1
|
|
sz1 precision 0.01
|
|
|
|
# Sample Trans, vertical, second stage
|
|
Motor sz2 DMC2280 [params \
|
|
host $dmc2280_controller2(host)\
|
|
port $dmc2280_controller2(port)\
|
|
axis B\
|
|
units mm\
|
|
maxSpeed 1\
|
|
maxAccel 1\
|
|
maxDecel 1\
|
|
stepsPerX 25000]
|
|
setHomeandRange -motor sz2 -home 0 -lowrange 0 -uprange 350
|
|
sz2 speed 1
|
|
sz2 precision 0.01
|
|
|
|
# Sample Trans 1, upper, y
|
|
Motor sy DMC2280 [params \
|
|
host $dmc2280_controller2(host)\
|
|
port $dmc2280_controller2(port)\
|
|
axis C\
|
|
units mm\
|
|
maxSpeed 1\
|
|
maxAccel 1\
|
|
maxDecel 1\
|
|
stepsPerX 5000\
|
|
absEnc 1\
|
|
absEncHome 7626584\
|
|
cntsPerX 1638.4]
|
|
setHomeandRange -motor sy -home 0 -lowrange 250 -uprange 250
|
|
sy speed 1
|
|
sy precision 0.01
|
|
|
|
# Sample Trans2, lower, x
|
|
Motor sx DMC2280 [params \
|
|
host $dmc2280_controller2(host)\
|
|
port $dmc2280_controller2(port)\
|
|
axis D\
|
|
units mm\
|
|
maxSpeed 1\
|
|
maxAccel 1\
|
|
maxDecel 1\
|
|
stepsPerX 5000\
|
|
absEnc 1\
|
|
absEncHome 24029910\
|
|
cntsPerX 1638.4]
|
|
setHomeandRange -motor sx -home 0 -lowrange 250 -uprange 250
|
|
sx speed 1
|
|
sx 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\
|
|
absEnc 1\
|
|
absEncHome 24984596\
|
|
cntsPerX 4096]
|
|
setHomeandRange -motor som -home 0 -lowrange 100 -uprange 100
|
|
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.5\
|
|
maxAccel 0.2\
|
|
maxDecel 0.2\
|
|
stepsPerX 125000\
|
|
absEnc 1\
|
|
absEncHome 14530407\
|
|
cntsPerX -93207]
|
|
setHomeandRange -motor stth -home 0 -lowrange 100 -uprange 100
|
|
stth speed 0.5
|
|
stth precision 0.01
|
|
|
|
############################
|
|
# Motor Controller 3
|
|
# Motor Controller 3
|
|
# Motor Controller 3
|
|
############################
|
|
#
|
|
|
|
# Monochromator Focusing (HOPG)
|
|
Motor mf1 DMC2280 [params \
|
|
host $dmc2280_controller3(host)\
|
|
port $dmc2280_controller3(port)\
|
|
axis A\
|
|
units degrees\
|
|
maxSpeed 1\
|
|
maxAccel 1\
|
|
maxDecel 1\
|
|
stepsPerX 25000]
|
|
setHomeandRange -motor mf1 -home 0 -lowrange 0 -uprange 360
|
|
mf1 speed 1
|
|
mf1 precision 0.01
|
|
|
|
# Monochromator Focusing (Ge)
|
|
Motor mf2 DMC2280 [params \
|
|
host $dmc2280_controller3(host)\
|
|
port $dmc2280_controller3(port)\
|
|
axis B\
|
|
units degrees\
|
|
maxSpeed 1\
|
|
maxAccel 1\
|
|
maxDecel 1\
|
|
stepsPerX 25000]
|
|
setHomeandRange -motor mf2 -home 0 -lowrange 0 -uprange 360
|
|
mf2 speed 1
|
|
mf2 precision 0.01
|
|
|
|
## Eulerian-chi
|
|
#Motor echi DMC2280 [params \
|
|
# host $dmc2280_controller3(host)\
|
|
# port $dmc2280_controller3(port)\
|
|
# axis G\
|
|
# 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_controller3(host)\
|
|
# port $dmc2280_controller3(port)\
|
|
# axis H\
|
|
# 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
|
|
|
|
############################
|
|
# Motor Controller 4
|
|
# Motor Controller 4
|
|
# Motor Controller 4
|
|
############################
|
|
#
|
|
|
|
# Primary Slit, horizontal offset, 0-30mm
|
|
Motor psho DMC2280 [params \
|
|
host $dmc2280_controller4(host)\
|
|
port $dmc2280_controller4(port)\
|
|
axis A\
|
|
units mm\
|
|
maxSpeed 1\
|
|
maxAccel 1\
|
|
maxDecel 1\
|
|
stepsPerX -20125\
|
|
motorHome 542093]
|
|
setHomeandRange -motor psho -home 0 -lowrange 0 -uprange 30
|
|
|
|
# Primary Slit, position 0-150mm
|
|
Motor psp DMC2280 [params \
|
|
host $dmc2280_controller4(host)\
|
|
port $dmc2280_controller4(port)\
|
|
axis B\
|
|
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_controller4(host)\
|
|
port $dmc2280_controller4(port)\
|
|
axis C\
|
|
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_controller4(host)\
|
|
# port $dmc2280_controller4(port)\
|
|
# axis D\
|
|
# units mm\
|
|
# maxSpeed 1\
|
|
# maxAccel 1\
|
|
# maxDecel 1\
|
|
# stepsPerX -20125\
|
|
# motorHome 542093]
|
|
#setHomeandRange -motor psh -home 0 -lowrange 0 -uprange 30
|
|
|
|
#--------------------------------------------------------
|
|
|
|
# Secondary Slit, horizontal offset
|
|
Motor ssho DMC2280 [params \
|
|
host $dmc2280_controller4(host)\
|
|
port $dmc2280_controller4(port)\
|
|
axis E\
|
|
units mm\
|
|
maxSpeed 1\
|
|
maxAccel 1\
|
|
maxDecel 1\
|
|
stepsPerX -20125\
|
|
motorHome 500000]
|
|
setHomeandRange -motor ssho -home 0 -lowrange 0 -uprange 30
|
|
|
|
# Secondary Slit, position
|
|
Motor ssp 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 ssp -home 0 -lowrange 0 -uprange 150
|
|
|
|
# Secondary Slit, width
|
|
Motor ssw DMC2280 [params \
|
|
host $dmc2280_controller4(host)\
|
|
port $dmc2280_controller4(port)\
|
|
axis G\
|
|
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 H\
|
|
# units mm\
|
|
# maxSpeed 1\
|
|
# maxAccel 1\
|
|
# maxDecel 1\
|
|
# stepsPerX -20125\
|
|
# motorHome 500000]
|
|
#setHomeandRange -motor ssh -home 0 -lowrange 0 -uprange 30
|
|
|
|
#--------------------------------------------------------
|
|
|
|
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
|
|
|
|
proc sthGet {} { return [expr [SplitReply [stth]]/2.0]}
|
|
proc sthSet {val} { return "stth=[SplitReply [stth]]"}
|
|
publish sthGet user
|
|
publish sthSet user
|
|
MakeConfigurableMotor sth
|
|
sth readscript sthGet
|
|
sth drivescript sthSet
|
|
|
|
#--------------------------------------------------------
|
|
|
|
# END MOTOR CONFIGURATION
|