diff --git a/site_ansto/instrument/hrpd/hrpd_configuration.tcl b/site_ansto/instrument/hrpd/hrpd_configuration.tcl index 62b3ea22..f92257b7 100644 --- a/site_ansto/instrument/hrpd/hrpd_configuration.tcl +++ b/site_ansto/instrument/hrpd/hrpd_configuration.tcl @@ -1,16 +1,12 @@ -# $Revision: 1.8 $ -# $Date: 2006-05-22 05:02:04 $ +# $Revision: 1.9 $ +# $Date: 2006-07-13 04:54:57 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) # Last revision by: $Author: ffr $ #START SERVER CONFIGURATION SECTION installprotocolhandler -# Use this to create an array of named parameters to inilise motors. -proc params {args} { - upvar 1 "" x; - if [info exists x] {unset x} - eval "array set x [list $args]" -} + +source utility.tcl ServerOption statusfile /home/sics/SICS/log/status.tcl ServerOption RedirectFile /home/sics/SICS/log/stdout @@ -102,28 +98,10 @@ set dmc2280_controller3(port) 1034 set dmc2280_controller4(host) 137.157.201.69 set dmc2280_controller4(port) 1034 -#Motor mth DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis xxxx\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx\ -# absEnc 1\ -# absEncHome xxxx\ -# cntsPerX xxxx] -#mth hardlowerlim -180 -#mth hardupperlim 180 -#mth softlowerlim -180 -#mth softupperlim 180 -#mth home 0 -# #Motor mom DMC2280 [params \ # host $dmc2280_controller1(host)\ # port $dmc2280_controller1(port)\ -# axis xxxx\ +# axis E\ # units xxxx\ # maxSpeed xxxx\ # maxAccel xxxx\ @@ -137,166 +115,38 @@ set dmc2280_controller4(port) 1034 #mom softlowerlim -180 #mom softupperlim 180 #mom home 0 -# -#Motor mtth DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis xxxx\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx\ -# absEnc 1\ -# absEncHome xxxx\ -# cntsPerX xxxx] -#mtth hardlowerlim 85 -#mtth hardupperlim 155 -#mtth softlowerlim 85 -#mtth softupperlim 155 -#mtth home 120 -# -#Motor mchi DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis xxxx\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx\ -# absEnc 1\ -# absEncHome xxxx\ -# cntsPerX xxxx] -#mchi hardlowerlim 70 -#mchi hardupperlim 110 -#mchi softlowerlim 70 -#mchi softupperlim 110 -#mchi home 90 -# -#Motor mphi DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis xxxx\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx\ -# absEnc 1\ -# absEncHome xxxx\ -# cntsPerX xxxx] -#mphi hardlowerlim -20 -#mphi hardupperlim 20 -#mphi softlowerlim -20 -#mphi softupperlim 20 -#mphi home 0 -# -#Motor mx DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis xxxx\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx\ -# absEnc 1\ -# absEncHome xxxx\ -# cntsPerX xxxx] -#mx hardlowerlim -20 -#mx hardupperlim 20 -#mx softlowerlim -20 -#mx softupperlim 20 -#mx home 0 -# -#Motor my DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis xxxx\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx\ -# absEnc 1\ -# absEncHome xxxx\ -# cntsPerX xxxx] -#my hardlowerlim -20 -#my hardupperlim 20 -#my softlowerlim -20 -#my softupperlim 20 -#my home 0 -# -#Motor mr DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis xxxx\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx\ -# absEnc 1\ -# absEncHome xxxx\ -# cntsPerX xxxx] -#mr hardlowerlim xxxx -#mr hardupperlim xxxx -#mr softlowerlim xxxx -#mr softupperlim xxxx -#mr home 0 -# -#Motor pc1 DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis F\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx] -#pc1 hardlowerlim xxxx -#pc1 hardupperlim xxxx -#pc1 softlowerlim xxxx -#pc1 softupperlim xxxx -#pc1 home 0 -# -#Motor pc2 DMC2280 [params \ -# host $dmc2280_controller1(host)\ -# port $dmc2280_controller1(port)\ -# axis G\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx] -#pc2 hardlowerlim xxxx -#pc2 hardupperlim xxxx -#pc2 softlowerlim xxxx -#pc2 softupperlim xxxx -#pc2 home 0 -# -#Motor sth DMC2280 [params \ -# host $dmc2280_controller2(host)\ -# port $dmc2280_controller2(port)\ -# axis xxxx\ -# units xxxx\ -# maxSpeed xxxx\ -# maxAccel xxxx\ -# maxDecel xxxx\ -# stepsPerX xxxx\ -# absEnc 1\ -# absEncHome xxxx\ -# cntsPerX xxxx] -#sth hardlowerlim -180 -#sth hardupperlim 180 -#sth softlowerlim -180 -#sth softupperlim 180 -#sth home 0 -Motor som DMC2280 [params \ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ +Motor mtth DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis F\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +mtth hardlowerlim 85 +mtth hardupperlim 155 +mtth softlowerlim 85 +mtth softupperlim 155 +mtth home 120 + +proc mthGet {} { return [expr [SplitReply [mtth]]/2.0]} +publish mthGet user +proc mthSet {val} { return [expr [SplitReply [mtth]] * 2.0]} +publish mthSet user +MakeConfigurableMotor mth +mth readscript mthGet +mth drivescript mthSet + + +# Monochromoter Tilt 2, lower +Motor mchi DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ axis B\ units degrees\ maxSpeed 1\ @@ -304,18 +154,117 @@ Motor som DMC2280 [params \ maxDecel 1\ stepsPerX 25000\ absEnc 1\ - absEncHome 17694127\ + absEncHome 7818915\ cntsPerX 8192] -som hardlowerlim -180 -som hardupperlim 180 -som softlowerlim -1.9 -som softupperlim 1.9 -som home 0 +setHomeandRange -motor mchi -home 90 -lowrange 5 -uprange 5 +mchi speed 1 + +# Monochromoter 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 5 -uprange 5 +mphi speed 1 + +# Monochromoter Trans 1, upper +Motor mz 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 + +# Monochromoter 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 xxxx\ + cntsPerX xxxx] +setHomeandRange -motor mx -home 0 -lowrange 5 -uprange 5 +mx speed 1 + +Motor mr DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis A\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +setHomeandRange -motor mr -home 0 -lowrange xxxx -uprange xxxx +mr speed 1 + +Motor pc1 DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis F\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx] +setHomeandRange -motor pc1 -home 0 -lowrange xxxx -uprange xxxx +pc1 speed 1 + +Motor pc2 DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis G\ + units xxxx\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx] +setHomeandRange -motor pc2 -home 0 -lowrange xxxx -uprange xxxx +pc2 speed 1 + +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 +som speed 1 Motor stth DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ - axis A\ + axis F\ units degrees\ maxSpeed 0.2\ maxAccel 0.2\ @@ -324,50 +273,69 @@ Motor stth DMC2280 [params \ motorHome 11250000\ absEnc 1\ absEncHome 6559259\ - cntsPerX -93207] -stth hardlowerlim 85 -stth hardupperlim 155 -stth softlowerlim 85 -stth softupperlim 155 -stth home 120 + cntsPerX 93207] +setHomeandRange -motor stth -home 120 -lowrange 15 -uprange 15 +stth speed 0.2 +proc sthGet {} { return [expr [SplitReply [stth]]/2.0]} +publish sthGet user +proc sthSet {val} { return [expr [SplitReply [stth]] * 2.0]} +publish sthSet user +MakeConfigurableMotor sth +sth readscript sthGet +sth drivescript sthSet + +# Sample Tilt 2, lower Motor schi DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ - axis E\ + axis B\ units degrees\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX -25000\ + stepsPerX 25000\ motorHome 500000\ absEnc 1\ absEncHome 7581355\ - cntsPerX -8192] -schi hardlowerlim 70 -schi hardupperlim 110 -schi softlowerlim 70 -schi softupperlim 110 -schi home 90 + cntsPerX 8192] +setHomeandRange -motor schi -home 90 -lowrange 5 -uprange 5 +schi speed 1 + +# Sample Tilt 1, upper Motor sphi DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ - axis F\ + axis A\ units degrees\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX -25000\ + stepsPerX 25000\ motorHome 500000\ absEnc 1\ absEncHome 7934290\ - cntsPerX -8192] -sphi hardlowerlim -20 -sphi hardupperlim 20 -sphi softlowerlim -20 -sphi softupperlim 20 -sphi home 0 + cntsPerX 8192] +setHomeandRange -motor sphi -home 0 -lowrange 5 -uprange 5 +sphi speed 1 +# Sample Trans 1 (upper) +Motor sz 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 + +# Sample Trans2 (lower) Motor sx DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ @@ -376,167 +344,116 @@ Motor sx DMC2280 [params \ maxSpeed 1\ maxAccel 1\ maxDecel 1\ - stepsPerX -25000\ + stepsPerX 25000\ absEnc 1\ absEncHome 7562793\ - cntsPerX -8192] -sx hardlowerlim -20 -sx hardupperlim 20 -sx softlowerlim -20 -sx softupperlim 20 -sx home 0 + cntsPerX 8192] +setHomeandRange -motor sx -home 0 -lowrange 5 -uprange 5 +sx speed 1 -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] -sy hardlowerlim -20 -sy hardupperlim 20 -sy softlowerlim -20 -sy softupperlim 20 -sy home 0 +#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 \ host $dmc2280_controller3(host)\ port $dmc2280_controller3(port)\ - axis C\ + axis G\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ - motorHome 2040518] -ss1u hardlowerlim 0 -ss1u hardupperlim 50 -ss1u softlowerlim 0 -ss1u softupperlim 50 -ss1u home 0 + motorHome 2100893] +setHomeandRange -motor ss1u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange Motor ss1d DMC2280 [params \ host $dmc2280_controller3(host)\ port $dmc2280_controller3(port)\ - axis D\ + axis H\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ - motorHome 2040518] -ss1d hardlowerlim 0 -ss1d hardupperlim 50 -ss1d softlowerlim 0 -ss1d softupperlim 50 -ss1d home 0 + motorHome 2100893] +setHomeandRange -motor ss1d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange Motor ss1l DMC2280 [params \ host $dmc2280_controller3(host)\ port $dmc2280_controller3(port)\ - axis A\ + axis E\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ - motorHome 542093] -ss1l hardlowerlim 0 -ss1l hardupperlim 50 -ss1l softlowerlim 0 -ss1l softupperlim 50 -ss1l home 0 + motorHome 592406] +setHomeandRange -motor ss1l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange Motor ss1r DMC2280 [params \ host $dmc2280_controller3(host)\ port $dmc2280_controller3(port)\ - axis B\ + axis F\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ - motorHome 542093] -ss1r hardlowerlim 0 -ss1r hardupperlim 50 -ss1r softlowerlim 0 -ss1r softupperlim 50 -ss1r home 0 + motorHome 592406] +setHomeandRange -motor ss1r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange Motor ss2u DMC2280 [params \ host $dmc2280_controller4(host)\ port $dmc2280_controller4(port)\ - axis C\ + axis G\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ - motorHome 2043085] -ss2u hardlowerlim 0 -ss2u hardupperlim 50 -ss2u softlowerlim 0 -ss2u softupperlim 50 -ss2u home 0 + motorHome 2053148] +setHomeandRange -motor ss2u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange Motor ss2d DMC2280 [params \ host $dmc2280_controller4(host)\ port $dmc2280_controller4(port)\ - axis D\ + axis H\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ - motorHome 2043085] -ss2d hardlowerlim 0 -ss2d hardupperlim 50 -ss2d softlowerlim 0 -ss2d softupperlim 50 -ss2d home 0 + motorHome 2053148] +setHomeandRange -motor ss2d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange Motor ss2l DMC2280 [params \ host $dmc2280_controller4(host)\ port $dmc2280_controller4(port)\ - axis A\ + axis E\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ - motorHome 500000] -ss2l hardlowerlim 0 -ss2l hardupperlim 50 -ss2l softlowerlim 0 -ss2l softupperlim 50 -ss2l home 0 + motorHome 530188] +setHomeandRange -motor ss2l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange Motor ss2r DMC2280 [params \ host $dmc2280_controller4(host)\ port $dmc2280_controller4(port)\ - axis B\ + axis F\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ - motorHome 500000] -ss2r hardlowerlim 0 -ss2r hardupperlim 50 -ss2r softlowerlim 0 -ss2r softupperlim 50 -ss2r home 0 - - -proc SplitReply { text } { - set l [split $text =] - return [lindex $l 1] -} + motorHome 530188] +setHomeandRange -motor ss2r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange #-------------------------------------------------------- proc ss1widthscript {val} { @@ -715,3 +632,6 @@ publish ss2readvertoffset user MakeConfigurableMotor ss2vo ss2vo drivescript ss2vertoffsetscript ss2vo readscript ss2readvertoffset + +# Pre comm +MakeBatchManager