From 6ad47fb2888a3e0e497f30410941a9d8236cce68 Mon Sep 17 00:00:00 2001 From: Douglas Clowes Date: Tue, 21 Nov 2006 09:20:16 +1100 Subject: [PATCH] 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 --- .../instrument/rsd/motor_configuration.tcl | 567 ++++++------------ 1 file changed, 176 insertions(+), 391 deletions(-) diff --git a/site_ansto/instrument/rsd/motor_configuration.tcl b/site_ansto/instrument/rsd/motor_configuration.tcl index f5a71db6..0985cdf7 100644 --- a/site_ansto/instrument/rsd/motor_configuration.tcl +++ b/site_ansto/instrument/rsd/motor_configuration.tcl @@ -24,17 +24,14 @@ set dmc2280_controller4(port) pmc4-kowari # 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 -8192] -setHomeandRange -motor mom -home 0 -lowrange 5 -uprange 5 + 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 @@ -43,19 +40,12 @@ 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] -mtth hardlowerlim 85 -mtth hardupperlim 155 -mtth softlowerlim 85 -mtth softupperlim 155 -mtth home 120 + 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 @@ -72,15 +62,12 @@ 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 5 -uprange 5 + 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 @@ -89,48 +76,39 @@ 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 5 -uprange 5 + 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 mz DMC2280 [params \ +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 mz -home 0 -lowrange 5 -uprange 5 -mz speed 1 -mz precision 0.01 + 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\ - absEnc 1\ - absEncHome 7562793\ - cntsPerX 8192] + 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 @@ -140,15 +118,12 @@ 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 17694127\ - cntsPerX -8192] -setHomeandRange -motor som -home 0 -lowrange 45 -uprange 45 + 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 @@ -157,15 +132,12 @@ 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\ - absEnc 1\ - absEncHome 6559259\ - cntsPerX 93207] -setHomeandRange -motor stth -home 120 -lowrange 15 -uprange 15 + 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 @@ -177,172 +149,134 @@ MakeConfigurableMotor sth sth readscript sthGet sth drivescript sthSet -# Sample Tilt 2, lower -Motor schi DMC2280 [params \ +# 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\ - absEnc 1\ - absEncHome 7581355\ - cntsPerX 8192] -setHomeandRange -motor schi -home 90 -lowrange 5 -uprange 5 -schi speed 1 -schi precision 0.01 + 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 -# Sample Tilt 1, upper -Motor sphi DMC2280 [params \ +# 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\ - absEnc 1\ - absEncHome 7934290\ - cntsPerX 8192] -setHomeandRange -motor sphi -home 0 -lowrange 5 -uprange 5 -sphi speed 1 -sphi precision 0.01 + 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 sz DMC2280 [params \ +Motor sy DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis C\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7562793\ - cntsPerX 8192] -setHomeandRange -motor sz -home 0 -lowrange 5 -uprange 5 -sz speed 1 -sz precision 0.01 + 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\ - absEnc 1\ - absEncHome 7562793\ - cntsPerX 8192] -setHomeandRange -motor sx -home 0 -lowrange 5 -uprange 5 + 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 sy DMC2280 [params \ +Motor sz DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ - axis D\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 7562793\ - cntsPerX 8192] -setHomeandRange -motor sy -home 0 -lowrange 500 -uprange 500 -sy speed 1 -sy precision 0.01 + 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 -#Default upper and lower ranges for vertical slits -set vertSlitLowRange 25 -set vertSlitUpRange 95 +#-------------------------------------------------------- -#Default upper and lower ranges for horizontal slits -set horSlitLowRange 20 -set horSlitUpRange 25 - -Motor ss1u DMC2280 [params \ +# Primary Slit, position 0-150mm +Motor psp DMC2280 [params \ host $dmc2280_controller3(host)\ port $dmc2280_controller3(port)\ - axis G\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ + axis E\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ stepsPerX -20125\ - motorHome 2040518] -setHomeandRange -motor ss1u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange + motorHome 2040518] +setHomeandRange -motor psp -home 0 -lowrange 0 -uprange 150 -Motor ss1d DMC2280 [params \ +# 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\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ stepsPerX -20125\ - motorHome 2040518] -setHomeandRange -motor ss1d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange + motorHome 542093] +setHomeandRange -motor psho -home 0 -lowrange 0 -uprange 30 -Motor ss1l DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis E\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -20125\ - motorHome 542093] -setHomeandRange -motor ss1l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange +#-------------------------------------------------------- -Motor ss1r DMC2280 [params \ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis F\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -20125\ - motorHome 542093] -setHomeandRange -motor ss1r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange - -Motor ss2u 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 ss2u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange - -Motor ss2d DMC2280 [params \ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis H\ - units mm\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -20125\ - motorHome 2043085] -setHomeandRange -motor ss2d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange - -Motor ss2l DMC2280 [params \ +# Secondary Slit, position +Motor ssp DMC2280 [params \ host $dmc2280_controller4(host)\ port $dmc2280_controller4(port)\ axis E\ @@ -351,10 +285,11 @@ Motor ss2l DMC2280 [params \ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ - motorHome 500000] -setHomeandRange -motor ss2l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange + motorHome 2043085] +setHomeandRange -motor ssp -home 0 -lowrange 0 -uprange 150 -Motor ss2r DMC2280 [params \ +# Secondary Slit, width +Motor ssw DMC2280 [params \ host $dmc2280_controller4(host)\ port $dmc2280_controller4(port)\ axis F\ @@ -363,185 +298,35 @@ Motor ss2r DMC2280 [params \ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ - motorHome 500000] -setHomeandRange -motor ss2r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange + 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 #-------------------------------------------------------- -proc ss1widthscript {val} { - set currentWidth [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [ss1r]] + $diff/2] - set newD1L [expr [SplitReply [ss1l]] + $diff/2] - return "ss1r=$newD1R,ss1l=$newD1L" -} -publish ss1widthscript user - -#------------------------------------------------------- -proc ss1readwidth {} { - return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]] -} -publish ss1readwidth user -MakeConfigurableMotor ss1hg -ss1hg drivescript ss1widthscript -ss1hg readscript ss1readwidth - -#-------------------------------------------------------- -proc ss1horoffsetscript {val} { - set SR [SplitReply [ss1r]] - set SL [SplitReply [ss1l]] - set currentOffset [ expr $SR - ($SR + $SL)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1R [expr $SR + $diff] - set newD1L [expr $SL - $diff] - return "ss1r=$newD1R,ss1l=$newD1L" -} -publish ss1horoffsetscript user - -#------------------------------------------------------- -proc ss1readhoroffset {} { - set SR [SplitReply [ss1r]] - return [ expr $SR - ($SR + [SplitReply [ss1l]])/2.0 ] -} -publish ss1readhoroffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss1ho -ss1ho drivescript ss1horoffsetscript -ss1ho readscript ss1readhoroffset - -#----------------------------------------------------- -proc ss1heightscript {val} { - set currentWidth [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]] - set diff [expr $val - $currentWidth] - set newD1B [expr [SplitReply [ss1d]] + $diff/2] - set newD1T [expr [SplitReply [ss1u]] + $diff/2] - return "ss1d=$newD1B,ss1u=$newD1T" -} -publish ss1heightscript user - -#------------------------------------------------------- -proc ss1readheight {} { - return [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]] -} -publish ss1readheight user - -#--------------------------------------------------------- -MakeConfigurableMotor ss1vg -ss1vg drivescript ss1heightscript -ss1vg readscript ss1readheight - -#-------------------------------------------------------- -proc ss1vertoffsetscript {val} { - set SU [SplitReply [ss1u]] - set SD [SplitReply [ss1d]] - set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1U [expr $SU + $diff] - set newD1D [expr $SD - $diff] - return "ss1u=$newD1U,ss1d=$newD1D" -} -publish ss1vertoffsetscript user - -#------------------------------------------------------- -proc ss1readvertoffset {} { - set SU [SplitReply [ss1u]] - return [ expr $SU - ($SU + [SplitReply [ss1d]])/2.0 ] -} -publish ss1readvertoffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss1vo -ss1vo drivescript ss1vertoffsetscript -ss1vo readscript ss1readvertoffset -############################################### - - -#-------------------------------------------------------- -proc ss2widthscript {val} { - set currentWidth [expr [SplitReply [ss2r]] + [SplitReply [ss2l]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [ss2r]] + $diff/2] - set newD1L [expr [SplitReply [ss2l]] + $diff/2] - return "ss2r=$newD1R,ss2l=$newD1L" -} -publish ss2widthscript user - -#------------------------------------------------------- -proc ss2readwidth {} { - return [expr [SplitReply [ss2r]] + [SplitReply [ss2l]]] -} -publish ss2readwidth user -MakeConfigurableMotor ss2hg -ss2hg drivescript ss2widthscript -ss2hg readscript ss2readwidth - -#-------------------------------------------------------- -proc ss2horoffsetscript {val} { - set SR [SplitReply [ss2r]] - set SL [SplitReply [ss2l]] - set currentOffset [ expr $SR - ($SR + $SL)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1R [expr $SR + $diff] - set newD1L [expr $SL - $diff] - return "ss2r=$newD1R,ss2l=$newD1L" -} -publish ss2horoffsetscript user - -#------------------------------------------------------- -proc ss2readhoroffset {} { - set SR [SplitReply [ss2r]] - return [ expr $SR - ($SR + [SplitReply [ss2l]])/2.0 ] -} -publish ss2readhoroffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss2ho -ss2ho drivescript ss2horoffsetscript -ss2ho readscript ss2readhoroffset - -#----------------------------------------------------- -proc ss2heightscript {val} { - set currentWidth [expr [SplitReply [ss2u]] + [SplitReply [ss2d]]] - set diff [expr $val - $currentWidth] - set newD1B [expr [SplitReply [ss2d]] + $diff/2] - set newD1T [expr [SplitReply [ss2u]] + $diff/2] - return "ss2d=$newD1B,ss2u=$newD1T" -} -publish ss2heightscript user - -#------------------------------------------------------- -proc ss2readheight {} { - return [expr [SplitReply [ss2u]] + [SplitReply [ss2d]]] -} -publish ss2readheight user - -#--------------------------------------------------------- -MakeConfigurableMotor ss2vg -ss2vg drivescript ss2heightscript -ss2vg readscript ss2readheight - -#-------------------------------------------------------- -proc ss2vertoffsetscript {val} { - set SU [SplitReply [ss2u]] - set SD [SplitReply [ss2d]] - set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1U [expr $SU + $diff] - set newD1D [expr $SD - $diff] - return "ss2u=$newD1U,ss2d=$newD1D" -} -publish ss2vertoffsetscript user - -#------------------------------------------------------- -proc ss2readvertoffset {} { - set SU [SplitReply [ss2u]] - return [ expr $SU - ($SU + [SplitReply [ss2d]])/2.0 ] -} -publish ss2readvertoffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss2vo -ss2vo drivescript ss2vertoffsetscript -ss2vo readscript ss2readvertoffset # END MOTOR CONFIGURATION