refine home encoder positions and add primary collimator motors

r1360 | dcl | 2006-12-11 08:56:25 +1100 (Mon, 11 Dec 2006) | 2 lines
This commit is contained in:
Douglas Clowes
2006-12-11 08:56:25 +11:00
parent f815347e72
commit a3da8a72a0

View File

@@ -1,3 +1,8 @@
# $Revision: 1.7 $
# $Date: 2006-12-10 21:56:25 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: dcl $
# START MOTOR CONFIGURATION # START MOTOR CONFIGURATION
# Setup addresses of Galil DMC2280 controllers. # Setup addresses of Galil DMC2280 controllers.
@@ -25,6 +30,8 @@ set dmc2280_controller4(port) pmc4-echidna
############################ ############################
# Motor Controller 1 # Motor Controller 1
# Motor Controller 1
# Motor Controller 1
############################ ############################
#:TP at HOME #:TP at HOME
# #
@@ -40,7 +47,7 @@ Motor mphi DMC2280 [params \
maxDecel 1\ maxDecel 1\
stepsPerX -25000\ stepsPerX -25000\
absEnc 1\ absEnc 1\
absEncHome 7414753\ absEncHome 7415177\
cntsPerX -8192] cntsPerX -8192]
setHomeandRange -motor mphi -home 0 -lowrange 15 -uprange 15 setHomeandRange -motor mphi -home 0 -lowrange 15 -uprange 15
mphi speed 1 mphi speed 1
@@ -57,9 +64,9 @@ Motor mchi DMC2280 [params \
maxDecel 1\ maxDecel 1\
stepsPerX 25000\ stepsPerX 25000\
absEnc 1\ absEnc 1\
absEncHome 7818915\ absEncHome 7818798\
cntsPerX 8192] cntsPerX 8192]
setHomeandRange -motor mchi -home 90 -lowrange 15 -uprange 15 setHomeandRange -motor mchi -home 90 -lowrange 15 -uprange 15
mchi speed 1 mchi speed 1
mchi precision 0.01 mchi precision 0.01
@@ -74,7 +81,7 @@ Motor my DMC2280 [params \
maxDecel 1\ maxDecel 1\
stepsPerX 25000\ stepsPerX 25000\
absEnc 1\ absEnc 1\
absEncHome 7781680\ absEncHome 7779997\
cntsPerX 8192] cntsPerX 8192]
setHomeandRange -motor my -home 0 -lowrange 20 -uprange 20 setHomeandRange -motor my -home 0 -lowrange 20 -uprange 20
my speed 1 my speed 1
@@ -91,7 +98,7 @@ Motor mx DMC2280 [params \
maxDecel 1\ maxDecel 1\
stepsPerX -25000\ stepsPerX -25000\
absEnc 1\ absEnc 1\
absEncHome 7562793\ absEncHome 7580365\
cntsPerX -8192] cntsPerX -8192]
setHomeandRange -motor mx -home 0 -lowrange 20 -uprange 20 setHomeandRange -motor mx -home 0 -lowrange 20 -uprange 20
mx speed 1 mx speed 1
@@ -108,7 +115,7 @@ Motor mom DMC2280 [params \
maxDecel 1\ maxDecel 1\
stepsPerX -12500\ stepsPerX -12500\
absEnc 1\ absEnc 1\
absEncHome 17694127\ absEncHome 13442932\
cntsPerX -4096] cntsPerX -4096]
setHomeandRange -motor mom -home 0 -lowrange 180 -uprange 180 setHomeandRange -motor mom -home 0 -lowrange 180 -uprange 180
mom speed 1 mom speed 1
@@ -125,7 +132,7 @@ Motor mtth DMC2280 [params \
maxDecel 0.2\ maxDecel 0.2\
stepsPerX 25000\ stepsPerX 25000\
absEnc 1\ absEnc 1\
absEncHome 10299428\ absEncHome 10604013\
cntsPerX 93207] cntsPerX 93207]
mtth hardlowerlim 85 mtth hardlowerlim 85
mtth hardupperlim 155 mtth hardupperlim 155
@@ -135,36 +142,44 @@ mtth home 120
mtth speed 0.5 mtth speed 0.5
mtth precision 0.01 mtth precision 0.01
# Primary Collimator 1 # Primary Collimator Translation X
#Motor pc1 DMC2280 [params \ Motor pcx DMC2280 [params \
# host $dmc2280_controller1(host)\ host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\ port $dmc2280_controller1(port)\
# axis G\ axis G\
# units xxxx\ units mm\
# maxSpeed xxxx\ maxSpeed 1\
# maxAccel xxxx\ maxAccel 1\
# maxDecel xxxx\ maxDecel 1\
# stepsPerX xxxx] stepsPerX [expr -25000/6]\
#setHomeandRange -motor pc1 -home 0 -lowrange 0 -uprange 0 absEnc 1\
#pc1 speed 1 absEncHome 8345644\
#pc1 precision 0.01 cntsPerX [expr 8192/6]]
setHomeandRange -motor pcx -home 0 -lowrange 0 -uprange 100
pcx speed 0.1
pcx precision 0.01
# Primary Collimator 2 # Primary Collimator Rotation
#Motor pc2 DMC2280 [params \ Motor pcr DMC2280 [params \
# host $dmc2280_controller1(host)\ host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\ port $dmc2280_controller1(port)\
# axis H\ axis H\
# units xxxx\ units degrees\
# maxSpeed xxxx\ maxSpeed 0.1\
# maxAccel xxxx\ maxAccel 0.1\
# maxDecel xxxx\ maxDecel 0.1\
# stepsPerX xxxx] stepsPerX [expr 25000*100]\
#setHomeandRange -motor pc2 -home 0 -lowrange 0 -uprange 0 absEnc 1\
#pc2 speed 1 absEncHome 6189745\
#pc2 precision 0.01 cntsPerX [expr -8192*100]]
setHomeandRange -motor pcr -home 0 -lowrange 10 -uprange 10
pcr speed 0.01
pcr precision 0.01
############################ ############################
# Motor Controller 2 # Motor Controller 2
# Motor Controller 2
# Motor Controller 2
############################ ############################
#:TP at HOME #:TP at HOME
# 7924507, 7542917, 7626584, 24029910, 24984596, 14530407, 22369621, 22369621 # 7924507, 7542917, 7626584, 24029910, 24984596, 14530407, 22369621, 22369621
@@ -216,11 +231,11 @@ Motor sy DMC2280 [params \
absEnc 1\ absEnc 1\
absEncHome 7626584\ absEncHome 7626584\
cntsPerX 8192] cntsPerX 8192]
setHomeandRange -motor sy -home 0 -lowrange 20 -uprange 20 setHomeandRange -motor sy -home 0 -lowrange 20 -uprange 20
sy speed 1 sy speed 1
sy precision 0.01 sy precision 0.01
# Sample Trans2. lower, x # Sample Trans2, lower, x
Motor sx DMC2280 [params \ Motor sx DMC2280 [params \
host $dmc2280_controller2(host)\ host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\ port $dmc2280_controller2(port)\
@@ -233,7 +248,7 @@ Motor sx DMC2280 [params \
absEnc 1\ absEnc 1\
absEncHome 24029910\ absEncHome 24029910\
cntsPerX -8192] cntsPerX -8192]
setHomeandRange -motor sx -home 0 -lowrange 20 -uprange 20 setHomeandRange -motor sx -home 0 -lowrange 20 -uprange 20
sx speed 1 sx speed 1
sx precision 0.01 sx precision 0.01
@@ -288,11 +303,13 @@ set slitStepRate 20180
############################ ############################
# Motor Controller 3 # Motor Controller 3
# Motor Controller 3
# Motor Controller 3
############################ ############################
# #
# Monochromator radius, focus # Monochromator Focusing (Ge)
#Motor mr DMC2280 [params \ #Motor mf1 DMC2280 [params \
# host $dmc2280_controller3(host)\ # host $dmc2280_controller3(host)\
# port $dmc2280_controller3(port)\ # port $dmc2280_controller3(port)\
# axis A\ # axis A\
@@ -304,10 +321,11 @@ set slitStepRate 20180
# absEnc 1\ # absEnc 1\
# absEncHome xxxx\ # absEncHome xxxx\
# cntsPerX xxxx] # cntsPerX xxxx]
#setHomeandRange -motor mr -home 0 -lowrange 0 -uprange 360 #setHomeandRange -motor mf1 -home 0 -lowrange 0 -uprange 360
#mr speed 1 #mf1 speed 1
#mr precision 0.01 #mf1 precision 0.01
# Slit 1, right
Motor ss1r DMC2280 [params \ Motor ss1r DMC2280 [params \
host $dmc2280_controller3(host)\ host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\ port $dmc2280_controller3(port)\
@@ -320,6 +338,7 @@ Motor ss1r DMC2280 [params \
motorHome [expr 54.5/2*$slitStepRate]] motorHome [expr 54.5/2*$slitStepRate]]
setHomeandRange -motor ss1r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange setHomeandRange -motor ss1r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
# Slit 1, left
Motor ss1l DMC2280 [params \ Motor ss1l DMC2280 [params \
host $dmc2280_controller3(host)\ host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\ port $dmc2280_controller3(port)\
@@ -330,8 +349,9 @@ Motor ss1l DMC2280 [params \
maxDecel 1\ maxDecel 1\
stepsPerX -$slitStepRate\ stepsPerX -$slitStepRate\
motorHome [expr 54.5/2*$slitStepRate]] motorHome [expr 54.5/2*$slitStepRate]]
setHomeandRange -motor ss1l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange setHomeandRange -motor ss1l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
# Slit 1, up
Motor ss1u DMC2280 [params \ Motor ss1u DMC2280 [params \
host $dmc2280_controller3(host)\ host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\ port $dmc2280_controller3(port)\
@@ -342,8 +362,9 @@ Motor ss1u DMC2280 [params \
maxDecel 1\ maxDecel 1\
stepsPerX -$slitStepRate\ stepsPerX -$slitStepRate\
motorHome [expr 207.5/2*$slitStepRate]] motorHome [expr 207.5/2*$slitStepRate]]
setHomeandRange -motor ss1u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange setHomeandRange -motor ss1u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
# Slit 1, down
Motor ss1d DMC2280 [params \ Motor ss1d DMC2280 [params \
host $dmc2280_controller3(host)\ host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\ port $dmc2280_controller3(port)\
@@ -354,14 +375,17 @@ Motor ss1d DMC2280 [params \
maxDecel 1\ maxDecel 1\
stepsPerX -$slitStepRate\ stepsPerX -$slitStepRate\
motorHome [expr 207.5/2*$slitStepRate]] motorHome [expr 207.5/2*$slitStepRate]]
setHomeandRange -motor ss1d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange setHomeandRange -motor ss1d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
############################ ############################
# Motor Controller 4 # Motor Controller 4
# Motor Controller 4
# Motor Controller 4
############################ ############################
# #
# Little is known about the Eularian Cradle # Little is known about the Eularian Cradle
## Eularian-phi
#Motor ephi DMC2280 [params \ #Motor ephi DMC2280 [params \
# host $dmc2280_controller4(host)\ # host $dmc2280_controller4(host)\
# port $dmc2280_controller4(port)\ # port $dmc2280_controller4(port)\
@@ -390,6 +414,7 @@ setHomeandRange -motor ss1d -home 0 -lowrange $vertSlitLowRange -uprange $vertS
# cntsPerX xxxx] # cntsPerX xxxx]
#setHomeandRange -motor echi -home 0 -lowrange 180 -uprange 180 #setHomeandRange -motor echi -home 0 -lowrange 180 -uprange 180
# Slit 2, right
Motor ss2r DMC2280 [params \ Motor ss2r DMC2280 [params \
host $dmc2280_controller4(host)\ host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\ port $dmc2280_controller4(port)\
@@ -400,8 +425,9 @@ Motor ss2r DMC2280 [params \
maxDecel 1\ maxDecel 1\
stepsPerX -$slitStepRate\ stepsPerX -$slitStepRate\
motorHome [expr 52.25/2*$slitStepRate]] motorHome [expr 52.25/2*$slitStepRate]]
setHomeandRange -motor ss2r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange setHomeandRange -motor ss2r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
# Slit 2, left
Motor ss2l DMC2280 [params \ Motor ss2l DMC2280 [params \
host $dmc2280_controller4(host)\ host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\ port $dmc2280_controller4(port)\
@@ -412,8 +438,9 @@ Motor ss2l DMC2280 [params \
maxDecel 1\ maxDecel 1\
stepsPerX -$slitStepRate\ stepsPerX -$slitStepRate\
motorHome [expr 52.25/2*$slitStepRate]] motorHome [expr 52.25/2*$slitStepRate]]
setHomeandRange -motor ss2l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange setHomeandRange -motor ss2l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
# Slit 2, up
Motor ss2u DMC2280 [params \ Motor ss2u DMC2280 [params \
host $dmc2280_controller4(host)\ host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\ port $dmc2280_controller4(port)\
@@ -424,8 +451,9 @@ Motor ss2u DMC2280 [params \
maxDecel 1\ maxDecel 1\
stepsPerX -$slitStepRate\ stepsPerX -$slitStepRate\
motorHome [expr 204.1/2*$slitStepRate]] motorHome [expr 204.1/2*$slitStepRate]]
setHomeandRange -motor ss2u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange setHomeandRange -motor ss2u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
# Slit 2, down
Motor ss2d DMC2280 [params \ Motor ss2d DMC2280 [params \
host $dmc2280_controller4(host)\ host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\ port $dmc2280_controller4(port)\
@@ -436,7 +464,7 @@ Motor ss2d DMC2280 [params \
maxDecel 1\ maxDecel 1\
stepsPerX -$slitStepRate\ stepsPerX -$slitStepRate\
motorHome [expr 204.1/2*$slitStepRate]] motorHome [expr 204.1/2*$slitStepRate]]
setHomeandRange -motor ss2d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange setHomeandRange -motor ss2d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
proc mthGet {} { return [expr [SplitReply [mtth]]/2.0]} proc mthGet {} { return [expr [SplitReply [mtth]]/2.0]}
proc mthSet {val} { return "mtth=[SplitReply [mtth]]"} proc mthSet {val} { return "mtth=[SplitReply [mtth]]"}
@@ -466,7 +494,7 @@ publish ss1widthscript user
#------------------------------------------------------- #-------------------------------------------------------
proc ss1readwidth {} { proc ss1readwidth {} {
return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]] return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
} }
publish ss1readwidth user publish ss1readwidth user
MakeConfigurableMotor ss1hg MakeConfigurableMotor ss1hg
@@ -477,7 +505,7 @@ ss1hg readscript ss1readwidth
proc ss1horoffsetscript {val} { proc ss1horoffsetscript {val} {
set SR [SplitReply [ss1r]] set SR [SplitReply [ss1r]]
set SL [SplitReply [ss1l]] set SL [SplitReply [ss1l]]
set currentOffset [ expr $SR - ($SR + $SL)/2.0 ] set currentOffset [ expr $SR - ($SR + $SL)/2.0 ]
set diff [expr $val - $currentOffset] set diff [expr $val - $currentOffset]
set newD1R [expr $SR + $diff] set newD1R [expr $SR + $diff]
set newD1L [expr $SL - $diff] set newD1L [expr $SL - $diff]
@@ -488,7 +516,7 @@ publish ss1horoffsetscript user
#------------------------------------------------------- #-------------------------------------------------------
proc ss1readhoroffset {} { proc ss1readhoroffset {} {
set SR [SplitReply [ss1r]] set SR [SplitReply [ss1r]]
return [ expr $SR - ($SR + [SplitReply [ss1l]])/2.0 ] return [ expr $SR - ($SR + [SplitReply [ss1l]])/2.0 ]
} }
publish ss1readhoroffset user publish ss1readhoroffset user
@@ -509,7 +537,7 @@ publish ss1heightscript user
#------------------------------------------------------- #-------------------------------------------------------
proc ss1readheight {} { proc ss1readheight {} {
return [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]] return [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
} }
publish ss1readheight user publish ss1readheight user
@@ -522,7 +550,7 @@ ss1vg readscript ss1readheight
proc ss1vertoffsetscript {val} { proc ss1vertoffsetscript {val} {
set SU [SplitReply [ss1u]] set SU [SplitReply [ss1u]]
set SD [SplitReply [ss1d]] set SD [SplitReply [ss1d]]
set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] set currentOffset [ expr $SU - ($SU + $SD)/2.0 ]
set diff [expr $val - $currentOffset] set diff [expr $val - $currentOffset]
set newD1U [expr $SU + $diff] set newD1U [expr $SU + $diff]
set newD1D [expr $SD - $diff] set newD1D [expr $SD - $diff]
@@ -533,7 +561,7 @@ publish ss1vertoffsetscript user
#------------------------------------------------------- #-------------------------------------------------------
proc ss1readvertoffset {} { proc ss1readvertoffset {} {
set SU [SplitReply [ss1u]] set SU [SplitReply [ss1u]]
return [ expr $SU - ($SU + [SplitReply [ss1d]])/2.0 ] return [ expr $SU - ($SU + [SplitReply [ss1d]])/2.0 ]
} }
publish ss1readvertoffset user publish ss1readvertoffset user
@@ -556,7 +584,7 @@ publish ss2widthscript user
#------------------------------------------------------- #-------------------------------------------------------
proc ss2readwidth {} { proc ss2readwidth {} {
return [expr [SplitReply [ss2r]] + [SplitReply [ss2l]]] return [expr [SplitReply [ss2r]] + [SplitReply [ss2l]]]
} }
publish ss2readwidth user publish ss2readwidth user
MakeConfigurableMotor ss2hg MakeConfigurableMotor ss2hg
@@ -567,7 +595,7 @@ ss2hg readscript ss2readwidth
proc ss2horoffsetscript {val} { proc ss2horoffsetscript {val} {
set SR [SplitReply [ss2r]] set SR [SplitReply [ss2r]]
set SL [SplitReply [ss2l]] set SL [SplitReply [ss2l]]
set currentOffset [ expr $SR - ($SR + $SL)/2.0 ] set currentOffset [ expr $SR - ($SR + $SL)/2.0 ]
set diff [expr $val - $currentOffset] set diff [expr $val - $currentOffset]
set newD1R [expr $SR + $diff] set newD1R [expr $SR + $diff]
set newD1L [expr $SL - $diff] set newD1L [expr $SL - $diff]
@@ -578,7 +606,7 @@ publish ss2horoffsetscript user
#------------------------------------------------------- #-------------------------------------------------------
proc ss2readhoroffset {} { proc ss2readhoroffset {} {
set SR [SplitReply [ss2r]] set SR [SplitReply [ss2r]]
return [ expr $SR - ($SR + [SplitReply [ss2l]])/2.0 ] return [ expr $SR - ($SR + [SplitReply [ss2l]])/2.0 ]
} }
publish ss2readhoroffset user publish ss2readhoroffset user
@@ -599,7 +627,7 @@ publish ss2heightscript user
#------------------------------------------------------- #-------------------------------------------------------
proc ss2readheight {} { proc ss2readheight {} {
return [expr [SplitReply [ss2u]] + [SplitReply [ss2d]]] return [expr [SplitReply [ss2u]] + [SplitReply [ss2d]]]
} }
publish ss2readheight user publish ss2readheight user
@@ -612,7 +640,7 @@ ss2vg readscript ss2readheight
proc ss2vertoffsetscript {val} { proc ss2vertoffsetscript {val} {
set SU [SplitReply [ss2u]] set SU [SplitReply [ss2u]]
set SD [SplitReply [ss2d]] set SD [SplitReply [ss2d]]
set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] set currentOffset [ expr $SU - ($SU + $SD)/2.0 ]
set diff [expr $val - $currentOffset] set diff [expr $val - $currentOffset]
set newD1U [expr $SU + $diff] set newD1U [expr $SU + $diff]
set newD1D [expr $SD - $diff] set newD1D [expr $SD - $diff]
@@ -623,7 +651,7 @@ publish ss2vertoffsetscript user
#------------------------------------------------------- #-------------------------------------------------------
proc ss2readvertoffset {} { proc ss2readvertoffset {} {
set SU [SplitReply [ss2u]] set SU [SplitReply [ss2u]]
return [ expr $SU - ($SU + [SplitReply [ss2d]])/2.0 ] return [ expr $SU - ($SU + [SplitReply [ss2d]])/2.0 ]
} }
publish ss2readvertoffset user publish ss2readvertoffset user