diff --git a/site_ansto/instrument/reflectometer/MANIFEST.TXT b/site_ansto/instrument/reflectometer/MANIFEST.TXT index 55d2c588..2538e90a 100644 --- a/site_ansto/instrument/reflectometer/MANIFEST.TXT +++ b/site_ansto/instrument/reflectometer/MANIFEST.TXT @@ -1,5 +1,5 @@ platypus_configuration.tcl -platypus_motor_configuration.tcl +motor_configuration.tcl chopper.tcl hipadaba_configuration.tcl InstXML.tcl diff --git a/site_ansto/instrument/reflectometer/motor_configuration.tcl b/site_ansto/instrument/reflectometer/motor_configuration.tcl new file mode 100644 index 00000000..296bf397 --- /dev/null +++ b/site_ansto/instrument/reflectometer/motor_configuration.tcl @@ -0,0 +1,893 @@ +# Setup addresses of Galil DMC2280 controllers. +set dmc2280_controller1(host) mc1-platypus +set dmc2280_controller1(port) pmc1-platypus + +set dmc2280_controller2(host) mc2-platypus +set dmc2280_controller2(port) pmc2-platypus + +set dmc2280_controller3(host) mc3-platypus +set dmc2280_controller3(port) pmc3-platypus + +set dmc2280_controller4(host) mc4-platypus +set dmc2280_controller4(port) pmc4-platypus + +# MOTORS +Motor s1up DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis A\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s1up hardlowerlim -15 +s1up hardupperlim 15 +s1up softlowerlim -15 +s1up softupperlim 15 +s1up home 0 + +Motor s1lo DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis B\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s1lo hardlowerlim -15 +s1lo hardupperlim 15 +s1lo softlowerlim -15 +s1lo softupperlim 15 +s1lo home 0 + +Motor s1ri DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis C\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s1ri hardlowerlim -13 +s1ri hardupperlim 27 +s1ri softlowerlim -13 +s1ri softupperlim 27 +s1ri home 0 + +Motor s1le DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis D\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s1le hardlowerlim -27 +s1le hardupperlim 13 +s1le softlowerlim -27 +s1le softupperlim 13 +s1le home 0 + +Motor s2up DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis E\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s2up hardlowerlim -15 +s2up hardupperlim 15 +s2up softlowerlim -15 +s2up softupperlim 15 +s2up home 0 + +Motor s2lo DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis F\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s2lo hardlowerlim -15 +s2lo hardupperlim 15 +s2lo softlowerlim -15 +s2lo softupperlim 15 +s2lo home 0 + +Motor s2ri DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis G\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000] +s2ri hardlowerlim -13 +s2ri hardupperlim 27 +s2ri softlowerlim -13 +s2ri softupperlim 27 +s2ri home 0 + +Motor s2le DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis H\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000] +s2le hardlowerlim -27 +s2le hardupperlim 13 +s2le softlowerlim -27 +s2le softupperlim 13 +s2le home 0 + +Motor st3vt DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis E\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +st3vt hardlowerlim -179 +st3vt hardupperlim 21 +st3vt softlowerlim -179 +st3vt softupperlim 21 +st3vt home 0 + +Motor s3up DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis A\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s3up hardlowerlim -15 +s3up hardupperlim 15 +s3up softlowerlim -15 +s3up softupperlim 15 +s3up home 0 + +Motor s3lo DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis B\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s3lo hardlowerlim -15 +s3lo hardupperlim 15 +s3lo softlowerlim -15 +s3lo softupperlim 15 +s3lo home 0 + +Motor s3ri DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis C\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s3ri hardlowerlim -13 +s3ri hardupperlim 27 +s3ri softlowerlim -13 +s3ri softupperlim 27 +s3ri home 0 + +Motor s3le DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis D\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s3le hardlowerlim -27 +s3le hardupperlim 13 +s3le softlowerlim -27 +s3le softupperlim 13 +s3le home 0 + +Motor st4vt DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis F\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +st4vt hardlowerlim -179 +st4vt hardupperlim 21 +st4vt softlowerlim -179 +st4vt softupperlim 21 +st4vt home 0 + +Motor s4up DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis E\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s4up hardlowerlim -15 +s4up hardupperlim 15 +s4up softlowerlim -15 +s4up softupperlim 15 +s4up home 0 + +Motor s4lo DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis F\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s4lo hardlowerlim -15 +s4lo hardupperlim 15 +s4lo softlowerlim -15 +s4lo softupperlim 15 +s4lo home 0 + +Motor s4ri DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis G\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s4ri hardlowerlim -13 +s4ri hardupperlim 27 +s4ri softlowerlim -13 +s4ri softupperlim 27 +s4ri home 0 + +Motor s4le DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis H\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +s4le hardlowerlim -27 +s4le hardupperlim 13 +s4le softlowerlim -27 +s4le softupperlim 13 +s4le home 0 + +#Motor c1ht DMC2280 [params \ +# host $dmc2280_controller1(host)\ +# port $dmc2280_controller1(port)\ +# axis B\ +# units mm\ +# maxSpeed 1\ +# maxAccel 1\ +# maxDecel 1\ +# stepsPerX 25000\ +# absEnc 1\ +# absEncHome 7500000\ +# cntsPerX 8192] +#c1ht hardlowerlim xxxx +#c1ht hardupperlim xxxx +#c1ht softlowerlim xxxx +#c1ht softupperlim xxxx +#c1ht home 0 + +Motor m1ro 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 7500000\ + cntsPerX 8192] +m1ro hardlowerlim -5 +m1ro hardupperlim 5 +m1ro softlowerlim -5 +m1ro softupperlim 5 +m1ro home 0 + +Motor say 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 7500000\ + cntsPerX 8192] +say hardlowerlim -600 +say hardupperlim -300 +say softlowerlim -600 +say softupperlim -300 +say home -450 + +#Motor sax 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 7500000\ +# cntsPerX 8192] +#sax hardlowerlim xxxx +#sax hardupperlim 750 +#sax softlowerlim xxxx +#sax softupperlim 750 +#sax home 0 + +Motor sath DMC2280 [params \ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis A\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +sath hardlowerlim -10 +sath hardupperlim 10 +sath softlowerlim -10 +sath softupperlim 10 +sath home 0 + +Motor saphi DMC2280 [params \ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis B\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +saphi hardlowerlim -20 +saphi hardupperlim 20 +saphi softlowerlim -20 +saphi softupperlim 20 +saphi home 0 + +#Motor anyvt DMC2280 [params \ +# host $dmc2280_controller2(host)\ +# port $dmc2280_controller2(port)\ +# axis xxxx\ +# units mm\ +# maxSpeed 1\ +# maxAccel 1\ +# maxDecel 1\ +# stepsPerX 25000\ +# absEnc 1\ +# absEncHome 7500000\ +# cntsPerX 8192] +#anyvt hardlowerlim xxxx +#anyvt hardupperlim xxxx +#anyvt softlowerlim xxxx +#anyvt softupperlim xxxx +#anyvt home 0 + +#Motor anro DMC2280 [params \ +# host $dmc2280_controller2(host)\ +# port $dmc2280_controller2(port)\ +# axis xxxx\ +# units mm\ +# maxSpeed 1\ +# maxAccel 1\ +# maxDecel 1\ +# stepsPerX 25000\ +# absEnc 1\ +# absEncHome 7500000\ +# cntsPerX 8192] +#anro hardlowerlim -10 +#anro hardupperlim 10 +#anro softlowerlim -10 +#anro softupperlim 10 +#anro home 0 + +#Motor dsyvt DMC2280 [params \ +# host $dmc2280_controller1(host)\ +# port $dmc2280_controller1(port)\ +# axis A\ +# units mm\ +# maxSpeed 1\ +# maxAccel 1\ +# maxDecel 1\ +# stepsPerX 25000\ +# absEnc 1\ +# absEncHome 7500000\ +# cntsPerX 8192] +#dsyvt hardlowerlim xxxx +#dsyvt hardupperlim xxxx +#dsyvt softlowerlim xxxx +#dsyvt softupperlim xxxx +#dsyvt home 0 + +Motor deyvt DMC2280 [params \ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis F\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7500000\ + cntsPerX 8192] +deyvt hardlowerlim -595 +deyvt hardupperlim 800 +deyvt softlowerlim -595 +deyvt softupperlim 800 +deyvt home 0 + +#Motor dezht DMC2280 [params \ +# host $dmc2280_controllerxxxx(host)\ +# port $dmc2280_controllerxxxx(port)\ +# axis xxxx\ +# units mm\ +# maxSpeed 1\ +# maxAccel 1\ +# maxDecel 1\ +# stepsPerX 25000\ +# absEnc 1\ +# absEncHome 7500000\ +# cntsPerX 8192] +#dezht hardlowerlim -595 +#dezht hardupperlim 800 +#dezht softlowerlim -595 +#dezht softupperlim 800 +#dezht home 0 + +#proc SplitReply { text } { +# set l [split $text =] +# return [lindex $l 1] +#} + +#-------------------------------------------------------- +proc s1widthscript {val} { + set currentWidth [expr [SplitReply [s1ri]] + [SplitReply [s1le]]] + set diff [expr $val - $currentWidth] + set newD1R [expr [SplitReply [s1ri]] + $diff/2] + set newD1L [expr [SplitReply [s1le]] + $diff/2] + return "s1ri=$newD1R,s1le=$newD1L" +} +publish s1widthscript user + +#------------------------------------------------------- +proc s1readwidth {} { + return [expr [SplitReply [s1ri]] + [SplitReply [s1le]]] +} +publish s1readwidth user +MakeConfigurableMotor s1hg +s1hg drivescript s1widthscript +s1hg readscript s1readwidth + +#-------------------------------------------------------- +proc s1heightscript {val} { + set currentWidth [expr [SplitReply [s1up]] + [SplitReply [s1lo]]] + set diff [expr $val - $currentWidth] + set newD1B [expr [SplitReply [s1lo]] + $diff/2] + set newD1T [expr [SplitReply [s1up]] + $diff/2] + return "s1lo=$newD1B,s1up=$newD1T" +} +publish s1heightscript user + +#------------------------------------------------------- +proc s1readheight {} { + return [expr [SplitReply [s1up]] + [SplitReply [s1lo]]] +} +publish s1readheight user + +#--------------------------------------------------------- +MakeConfigurableMotor s1vg +s1vg drivescript s1heightscript +s1vg readscript s1readheight + +#-------------------------------------------------------- +proc s1horoffsetscript {val} { + set sr [splitreply [s1ri]] + set sl [splitreply [s1le]] + set currentoffset [ expr $sr - ($sr + $sl)/2.0 ] + set diff [expr $val - $currentoffset] + set newd1r [expr $sr + $diff] + set newd1l [expr $sl - $diff] + return "s1ri=$newd1r,s1le=$newd1l" +} +publish s1horoffsetscript user + +#------------------------------------------------------- +proc s1readhoroffset {} { + set sr [splitreply [s1ri]] + return [ expr $sr - ($sr + [splitreply [s1le]])/2.0 ] +} +publish s1readhoroffset user + +#------------------------------------------------------- +MakeConfigurableMotor s1ho +s1ho drivescript s1horoffsetscript +s1ho readscript s1readhoroffset + +#-------------------------------------------------------- +proc s1vertoffsetscript {val} { + set SU [SplitReply [s1up]] + set SD [SplitReply [s1lo]] + set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] + set diff [expr $val - $currentOffset] + set newD1U [expr $SU + $diff] + set newD1D [expr $SD - $diff] + return "s1up=$newD1U,s1lo=$newD1D" +} +publish s1vertoffsetscript user + +#------------------------------------------------------- +proc s1readvertoffset {} { + set SU [SplitReply [s1up]] + return [ expr $SU - ($SU + [SplitReply [s1lo]])/2.0 ] +} +publish s1readvertoffset user + +#------------------------------------------------------- +MakeConfigurableMotor s1vo +s1vo drivescript s1vertoffsetscript +s1vo readscript s1readvertoffset + +############################################### + +#-------------------------------------------------------- +proc s2widthscript {val} { + set currentWidth [expr [SplitReply [s2ri]] + [SplitReply [s2le]]] + set diff [expr $val - $currentWidth] + set newD1R [expr [SplitReply [s2ri]] + $diff/2] + set newD1L [expr [SplitReply [s2le]] + $diff/2] + return "s2ri=$newD1R,s2le=$newD1L" +} +publish s2widthscript user + +#------------------------------------------------------- +proc s2readwidth {} { + return [expr [SplitReply [s2ri]] + [SplitReply [s2le]]] +} +publish s2readwidth user +MakeConfigurableMotor s2hg +s2hg drivescript s2widthscript +s2hg readscript s2readwidth + +#----------------------------------------------------- +proc s2heightscript {val} { + set currentWidth [expr [SplitReply [s2up]] + [SplitReply [s2lo]]] + set diff [expr $val - $currentWidth] + set newD1B [expr [SplitReply [s2lo]] + $diff/2] + set newD1T [expr [SplitReply [s2up]] + $diff/2] + return "s2lo=$newD1B,s2up=$newD1T" +} +publish s2heightscript user + +#------------------------------------------------------- +proc s2readheight {} { + return [expr [SplitReply [s2up]] + [SplitReply [s2lo]]] +} +publish s2readheight user + +#--------------------------------------------------------- +MakeConfigurableMotor s2vg +s2vg drivescript s2heightscript +s2vg readscript s2readheight + +#-------------------------------------------------------- +proc s2horoffsetscript {val} { + set sr [splitreply [s2ri]] + set sl [splitreply [s2le]] + set currentoffset [ expr $sr - ($sr + $sl)/2.0 ] + set diff [expr $val - $currentoffset] + set newd1r [expr $sr + $diff] + set newd1l [expr $sl - $diff] + return "s2ri=$newd1r,s2le=$newd1l" +} +publish s2horoffsetscript user + +#------------------------------------------------------- +proc s2readhoroffset {} { + set sr [splitreply [s2ri]] + return [ expr $sr - ($sr + [splitreply [s2le]])/2.0 ] +} +publish s2readhoroffset user + +#------------------------------------------------------- +MakeConfigurableMotor s2ho +s2ho drivescript s2horoffsetscript +s2ho readscript s2readhoroffset + +#-------------------------------------------------------- +proc s2vertoffsetscript {val} { + set SU [SplitReply [s2up]] + set SD [SplitReply [s2lo]] + set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] + set diff [expr $val - $currentOffset] + set newD1U [expr $SU + $diff] + set newD1D [expr $SD - $diff] + return "s2up=$newD1U,s2lo=$newD1D" +} +publish s2vertoffsetscript user + +#------------------------------------------------------- +proc s2readvertoffset {} { + set SU [SplitReply [s2up]] + return [ expr $SU - ($SU + [SplitReply [s2lo]])/2.0 ] +} +publish s2readvertoffset user + +#------------------------------------------------------- +MakeConfigurableMotor s2vo +s2vo drivescript s2vertoffsetscript +s2vo readscript s2readvertoffset + +############################################### + +#-------------------------------------------------------- +proc s3widthscript {val} { + set currentWidth [expr [SplitReply [s3ri]] + [SplitReply [s3le]]] + set diff [expr $val - $currentWidth] + set newD1R [expr [SplitReply [s3ri]] + $diff/2] + set newD1L [expr [SplitReply [s3le]] + $diff/2] + return "s3ri=$newD1R,s3le=$newD1L" +} +publish s3widthscript user + +#------------------------------------------------------- +proc s3readwidth {} { + return [expr [SplitReply [s3ri]] + [SplitReply [s3le]]] +} +publish s3readwidth user +MakeConfigurableMotor s3hg +s3hg drivescript s3widthscript +s3hg readscript s3readwidth + +#----------------------------------------------------- +proc s3heightscript {val} { + set currentWidth [expr [SplitReply [s3up]] + [SplitReply [s3lo]]] + set diff [expr $val - $currentWidth] + set newD1B [expr [SplitReply [s3lo]] + $diff/2] + set newD1T [expr [SplitReply [s3up]] + $diff/2] + return "s3lo=$newD1B,s3up=$newD1T" +} +publish s3heightscript user + +#------------------------------------------------------- +proc s3readheight {} { + return [expr [SplitReply [s3up]] + [SplitReply [s3lo]]] +} +publish s3readheight user + +#--------------------------------------------------------- +MakeConfigurableMotor s3vg +s3vg drivescript s3heightscript +s3vg readscript s3readheight + +#-------------------------------------------------------- +proc s3horoffsetscript {val} { + set sr [splitreply [s3ri]] + set sl [splitreply [s3le]] + set currentoffset [ expr $sr - ($sr + $sl)/2.0 ] + set diff [expr $val - $currentoffset] + set newd1r [expr $sr + $diff] + set newd1l [expr $sl - $diff] + return "s3ri=$newd1r,s3le=$newd1l" +} +publish s3horoffsetscript user + +#------------------------------------------------------- +proc s3readhoroffset {} { + set sr [splitreply [s3ri]] + return [ expr $sr - ($sr + [splitreply [s3le]])/2.0 ] +} +publish s3readhoroffset user + +#------------------------------------------------------- +MakeConfigurableMotor s3ho +s3ho drivescript s3horoffsetscript +s3ho readscript s3readhoroffset + +#-------------------------------------------------------- +proc s3vertoffsetscript {val} { + set SU [SplitReply [s3up]] + set SD [SplitReply [s3lo]] + set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] + set diff [expr $val - $currentOffset] + set newD1U [expr $SU + $diff] + set newD1D [expr $SD - $diff] + return "s3up=$newD1U,s3lo=$newD1D" +} +publish s3vertoffsetscript user + +#------------------------------------------------------- +proc s3readvertoffset {} { + set SU [SplitReply [s3up]] + return [ expr $SU - ($SU + [SplitReply [s3lo]])/2.0 ] +} +publish s3readvertoffset user + +#------------------------------------------------------- +MakeConfigurableMotor s3vo +s3vo drivescript s3vertoffsetscript +s3vo readscript s3readvertoffset + +############################################### + +#-------------------------------------------------------- +proc s4widthscript {val} { + set currentWidth [expr [SplitReply [s4ri]] + [SplitReply [s4le]]] + set diff [expr $val - $currentWidth] + set newD1R [expr [SplitReply [s4ri]] + $diff/2] + set newD1L [expr [SplitReply [s4le]] + $diff/2] + return "s4ri=$newD1R,s4le=$newD1L" +} +publish s4widthscript user + +#------------------------------------------------------- +proc s4readwidth {} { + return [expr [SplitReply [s4ri]] + [SplitReply [s4le]]] +} +publish s4readwidth user +MakeConfigurableMotor s4hg +s4hg drivescript s4widthscript +s4hg readscript s4readwidth + +#----------------------------------------------------- +proc s4heightscript {val} { + set currentWidth [expr [SplitReply [s4up]] + [SplitReply [s4lo]]] + set diff [expr $val - $currentWidth] + set newD1B [expr [SplitReply [s4lo]] + $diff/2] + set newD1T [expr [SplitReply [s4up]] + $diff/2] + return "s4lo=$newD1B,s4up=$newD1T" +} +publish s4heightscript user + +#------------------------------------------------------- +proc s4readheight {} { + return [expr [SplitReply [s4up]] + [SplitReply [s4lo]]] +} +publish s4readheight user + +#--------------------------------------------------------- +MakeConfigurableMotor s4vg +s4vg drivescript s4heightscript +s4vg readscript s4readheight + +#-------------------------------------------------------- +proc s4horoffsetscript {val} { + set sr [splitreply [s4ri]] + set sl [splitreply [s4le]] + set currentoffset [ expr $sr - ($sr + $sl)/2.0 ] + set diff [expr $val - $currentoffset] + set newd1r [expr $sr + $diff] + set newd1l [expr $sl - $diff] + return "s4ri=$newd1r,s4le=$newd1l" +} +publish s4horoffsetscript user + +#------------------------------------------------------- +proc s4readhoroffset {} { + set sr [splitreply [s4ri]] + return [ expr $sr - ($sr + [splitreply [s4le]])/2.0 ] +} +publish s4readhoroffset user + +#------------------------------------------------------- +MakeConfigurableMotor s4ho +s4ho drivescript s4horoffsetscript +s4ho readscript s4readhoroffset + +#-------------------------------------------------------- +proc s4vertoffsetscript {val} { + set SU [SplitReply [s4up]] + set SD [SplitReply [s4lo]] + set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] + set diff [expr $val - $currentOffset] + set newD1U [expr $SU + $diff] + set newD1D [expr $SD - $diff] + return "s4up=$newD1U,s4lo=$newD1D" +} +publish s4vertoffsetscript user + +#------------------------------------------------------- +proc s4readvertoffset {} { + set SU [SplitReply [s4up]] + return [ expr $SU - ($SU + [SplitReply [s4lo]])/2.0 ] +} +publish s4readvertoffset user + +#------------------------------------------------------- +MakeConfigurableMotor s4vo +s4vo drivescript s4vertoffsetscript +s4vo readscript s4readvertoffset + diff --git a/site_ansto/instrument/reflectometer/platypus_configuration.tcl b/site_ansto/instrument/reflectometer/platypus_configuration.tcl index da7cbc01..d20816c7 100644 --- a/site_ansto/instrument/reflectometer/platypus_configuration.tcl +++ b/site_ansto/instrument/reflectometer/platypus_configuration.tcl @@ -1,5 +1,5 @@ -# $Revision: 1.4 $ -# $Date: 2006-11-09 06:10:37 $ +# $Revision: 1.5 $ +# $Date: 2006-11-09 22:50:42 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) # Last revision by: $Author: ffr $ @@ -35,6 +35,6 @@ MakeChopper chopperController tcpdocho [params \ ] -fileeval platypus_motor_configuration.tcl +fileeval motor_configuration.tcl fileeval gen_hipadaba.tcl fileeval extraconfig.tcl