diff --git a/site_ansto/instrument/reflectometer/chopper.tcl b/site_ansto/instrument/reflectometer/chopper.tcl deleted file mode 100644 index 99dec37c..00000000 --- a/site_ansto/instrument/reflectometer/chopper.tcl +++ /dev/null @@ -1,29 +0,0 @@ -#START SERVER CONFIGURATION SECTION -set sicsroot /usr/local/sics -source dmc2280_util.tcl -source server_config.tcl -#END SERVER CONFIGURATION SECTION - -######################################## -# INSTRUMENT SPECIFIC CONFIGURATION -VarMake Instrument Text Internal -Instrument Platypus -Instrument lock - -# Chopper NCS013 communications -set chopper_controller(host) 137.157.202.130 -set chopper_controller(port) 10000 -set chopper_controller(user) NCS -set chopper_controller(password) NCS013 - - -# CHOPPER -MakeChopper chopperController tcpdocho [params \ - host $chopper_controller(host) \ - port $chopper_controller(port) \ - nchopper 4 \ - timeout 30 \ - user $chopper_controller(user) \ - password $chopper_controller(password) \ -] -ChopperAdapter chspeed chopperController speed 0 10 diff --git a/site_ansto/instrument/reflectometer/hipadaba_configuration.tcl b/site_ansto/instrument/reflectometer/hipadaba_configuration.tcl deleted file mode 100644 index 45707065..00000000 --- a/site_ansto/instrument/reflectometer/hipadaba_configuration.tcl +++ /dev/null @@ -1,57 +0,0 @@ -# $Revision: 1.2 $ -# $Date: 2006-11-13 21:29:39 $ -# Author: Ferdi Franceschini (ffr@ansto.gov.au) -# Last revision by: $Author: dcl $ - -# Defines hashes which map motor names to arrays -source hpaths.tcl - -#TODO What we really want are duplicates of the SICS Motor and -# MakeConfigurableMotor commands which -foreach hp $hpaths { hmake $hp spy none } - -makeHdbMotor $motor_hpath(s1up) s1up s1up -makeHdbMotor $motor_hpath(s1lo) s1lo s1lo -makeHdbMotor $motor_hpath(s1le) s1le s1le -makeHdbMotor $motor_hpath(s1ri) s1ri s1ri -makeHdbVirtMotor $motor_hpath(s1vg) s1vg s1vg -makeHdbVirtMotor $motor_hpath(s1vo) s1vo s1vo -makeHdbVirtMotor $motor_hpath(s1hg) s1hg s1hg -makeHdbVirtMotor $motor_hpath(s1ho) s1ho s1ho - -makeHdbMotor $motor_hpath(s2up) s2up s2up -makeHdbMotor $motor_hpath(s2lo) s2lo s2lo -makeHdbMotor $motor_hpath(s2le) s2le s2le -makeHdbMotor $motor_hpath(s2ri) s2ri s2ri -makeHdbVirtMotor $motor_hpath(s2vg) s2vg s2vg -makeHdbVirtMotor $motor_hpath(s2vo) s2vo s2vo -makeHdbVirtMotor $motor_hpath(s2hg) s2hg s2hg -makeHdbVirtMotor $motor_hpath(s2ho) s2ho s2ho - -makeHdbMotor $motor_hpath(s3up) s3up s3up -makeHdbMotor $motor_hpath(s3lo) s3lo s3lo -makeHdbMotor $motor_hpath(s3le) s3le s3le -makeHdbMotor $motor_hpath(s3ri) s3ri s3ri -makeHdbVirtMotor $motor_hpath(s3vg) s3vg s3vg -makeHdbVirtMotor $motor_hpath(s3vo) s3vo s3vo -makeHdbVirtMotor $motor_hpath(s3hg) s3hg s3hg -makeHdbVirtMotor $motor_hpath(s3ho) s3ho s3ho -makeHdbMotor $motor_hpath(st3vt) st3vt st3vt - -makeHdbMotor $motor_hpath(s4up) s4up s4up -makeHdbMotor $motor_hpath(s4lo) s4lo s4lo -makeHdbMotor $motor_hpath(s4le) s4le s4le -makeHdbMotor $motor_hpath(s4ri) s4ri s4ri -makeHdbVirtMotor $motor_hpath(s4vg) s4vg s4vg -makeHdbVirtMotor $motor_hpath(s4vo) s4vo s4vo -makeHdbVirtMotor $motor_hpath(s4hg) s4hg s4hg -makeHdbVirtMotor $motor_hpath(s4ho) s4ho s4ho -makeHdbMotor $motor_hpath(st4vt) st4vt st4vt - -makeHdbMotor $motor_hpath(saz) saz saz -makeHdbMotor $motor_hpath(sax) sax sax -makeHdbMotor $motor_hpath(sath) sath sath -makeHdbMotor $motor_hpath(saphi) saphi saphi - -makeHdbMotor $motor_hpath(dszvt) dszvt dszvt -makeHdbMotor $motor_hpath(dezvt) dezvt dezvt diff --git a/site_ansto/instrument/reflectometer/hpaths.tcl b/site_ansto/instrument/reflectometer/hpaths.tcl deleted file mode 100644 index c8f938ec..00000000 --- a/site_ansto/instrument/reflectometer/hpaths.tcl +++ /dev/null @@ -1,46 +0,0 @@ -set hpaths [list \ -/sample /detector /slits \ -/slits/1 /slits/2 /slits/3 /slits/4 ] - -# Maps devices (eg motors) to hipadaba paths. -array set motor_hpath [list \ -ss1u /slits/1 \ -ss1d /slits/1 \ -ss1l /slits/1 \ -ss1r /slits/1 \ -ss1vg /slits/1 \ -ss1vo /slits/1 \ -ss1hg /slits/1 \ -ss1ho /slits/1 \ -ss2u /slits/2 \ -ss2d /slits/2 \ -ss2l /slits/2 \ -ss2r /slits/2 \ -ss2vg /slits/2 \ -ss2vo /slits/2 \ -ss2hg /slits/2 \ -ss2ho /slits/2 \ -ss3u /slits/3 \ -ss3d /slits/3 \ -ss3l /slits/3 \ -ss3r /slits/3 \ -ss3vg /slits/3 \ -ss3vo /slits/3 \ -ss3hg /slits/3 \ -ss3ho /slits/3 \ -st3vt /slits/3 \ -ss4u /slits/4 \ -ss4d /slits/4 \ -ss4l /slits/4 \ -ss4r /slits/4 \ -ss4vg /slits/4 \ -ss4vo /slits/4 \ -ss4hg /slits/4 \ -ss4ho /slits/4 \ -st4vt /slits/4 \ -sz /sample \ -sx /sample \ -sth /sample \ -sphi /sample \ -dszvt /detector \ -dezvt /detector ] diff --git a/site_ansto/instrument/reflectometer/motor_configuration.tcl b/site_ansto/instrument/reflectometer/motor_configuration.tcl deleted file mode 100644 index e38f8be5..00000000 --- a/site_ansto/instrument/reflectometer/motor_configuration.tcl +++ /dev/null @@ -1,1137 +0,0 @@ -# $Revision: 1.16 $ -# $Date: 2007-03-21 20:39:06 $ -# Author: Ferdi Franceschini (ffr@ansto.gov.au) -# Last revision by: $Author: dcl $ - -# START MOTOR CONFIGURATION - -set animal platypus -# Setup addresses of Galil DMC2280 controllers. -set dmc2280_controller1(host) mc1-$animal -set dmc2280_controller1(port) pmc1-$animal - -set dmc2280_controller2(host) mc2-$animal -set dmc2280_controller2(port) pmc2-$animal - -set dmc2280_controller3(host) mc3-$animal -set dmc2280_controller3(port) pmc3-$animal - -set dmc2280_controller4(host) mc4-$animal -set dmc2280_controller4(port) pmc4-$animal - -set use_multichan 1 - -if {$use_multichan == 1} { -MakeRS232Controller dmc_rs1 137.157.202.131 1034 -MakeRS232Controller dmc_rs2 137.157.202.132 1034 -MakeRS232Controller dmc_rs3 137.157.202.133 1034 -MakeRS232Controller dmc_rs4 137.157.202.134 1034 -MakeMultiChan dmc_mc1 dmc_rs1 -MakeMultiChan dmc_mc2 dmc_rs2 -MakeMultiChan dmc_mc3 dmc_rs3 -MakeMultiChan dmc_mc4 dmc_rs4 -} -#Measured absolute encoder reading at home position - -set bz_home 8142000 -set c1ht_home 8265000 -set m1ro_home 134658 -set bat_home 7500000 -set st3vt_home 8742250 -set st4vt_home 8806900 -set sth_home 23511400 -set sphi_home 7548440 -set sx_home 8574000 -set sy_home 7500000 -set sz_home 8927484 -set dy_home 7500000 -set dz_home 7805000 - -#Measured or computed step rate for sz (Sample Raise) -set szStepRate -116500 - -#Measured or computed slit motor steps per millimetre -# 125 steps * 161:1 gears = 20125 -set slitStepRate 20125 - -#Measured slit gap, in units, after homing on limit switches -set ss1h_Gap 56.7 -set ss1v_Gap 54.5 -set ss2h_Gap 9.1 -set ss2v_Gap 23.1 - -set ss3h_Gap 7.4 -set ss3v_Gap 28.6 -set ss4h_Gap 12.1 -set ss4v_Gap 23.6 - -set ss1r_Home [expr $ss1h_Gap/2*$slitStepRate] -set ss1l_Home [expr $ss1h_Gap/2*$slitStepRate] -set ss1u_Home [expr $ss1v_Gap/2*$slitStepRate] -set ss1d_Home [expr $ss1v_Gap/2*$slitStepRate] -set ss2r_Home [expr $ss2h_Gap/2*$slitStepRate] -set ss2l_Home [expr $ss2h_Gap/2*$slitStepRate] -set ss2u_Home [expr $ss2v_Gap/2*$slitStepRate] -set ss2d_Home [expr $ss2v_Gap/2*$slitStepRate] - -set ss3r_Home [expr $ss3h_Gap/2*$slitStepRate] -set ss3l_Home [expr $ss3h_Gap/2*$slitStepRate] -set ss3u_Home [expr $ss3v_Gap/2*$slitStepRate] -set ss3d_Home [expr $ss3v_Gap/2*$slitStepRate] -set ss4r_Home [expr $ss4h_Gap/2*$slitStepRate] -set ss4l_Home [expr $ss4h_Gap/2*$slitStepRate] -set ss4u_Home [expr $ss4v_Gap/2*$slitStepRate] -set ss4d_Home [expr $ss4v_Gap/2*$slitStepRate] - -#Default upper and lower ranges for vertical slits -set vertSlitHome 0 -set vertSlitLowRange 25 -set vertSlitUpRange 100 - -#Default upper and lower ranges for horizontal slits -set horSlitHome 0 -set horSlitLowRange 25 -set horSlitUpRange 25 - -# set movecount high to reduce the frequency of -# hnotify messages to a reasonable level -set move_count 100 - -############################ -# Motor Controller 1 -# Motor Controller 1 -# Motor Controller 1 -############################ -#:TP at HOME -# - -# Beam Shade Vertical Translation (6mm/T double helix, 500mm) -Motor bz DMC2280 [params \ - multichan dmc_mc1\ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis A\ - units mm\ - hardlowerlim 0\ - hardupperlim 275\ - maxSpeed 5\ - maxAccel 1\ - maxDecel 1\ - stepsPerX [expr -25000/6]\ - absEnc 1\ - absEncHome $bz_home\ - cntsPerX [expr -8192/6]] -bz softlowerlim 0 -bz softupperlim 275 -bz home 0 - -# Collimator Table Horizontal Translation, X -Motor c1ht DMC2280 [params \ - multichan dmc_mc1\ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis B\ - units mm\ - hardlowerlim 0\ - hardupperlim 1065\ - maxSpeed 10\ - maxAccel 1\ - maxDecel 1\ - stepsPerX [expr 25000/5]\ - absEnc 1\ - absEncHome $c1ht_home\ - cntsPerX [expr -8192/5]] -c1ht softlowerlim 0 -c1ht softupperlim 1065 -c1ht home 0 - -# Collimator Tilt, Z axis, positive is down -Motor m1ro DMC2280 [params \ - multichan dmc_mc1\ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis C\ - units degrees\ - hardlowerlim -3.5\ - hardupperlim 3.5\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 275000\ - absEnc 1\ - absEncHome $m1ro_home\ - cntsPerX [expr -262144/360]] -m1ro softlowerlim -3.5 -m1ro softupperlim 3.5 -m1ro home 0 - -# Beam Attenuator (16mm/turn, 200mm travel) -Motor bat DMC2280 [params \ - multichan dmc_mc1\ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis D\ - units mm\ - hardlowerlim 0\ - hardupperlim 200\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX [expr 25000/16]\ - absEnc 1\ - absEncHome $bat_home\ - cntsPerX [expr 8192/16]] -bat softlowerlim 0 -bat softupperlim 200 -bat home 0 - -# Slit 3 Tower Translation (1mm/T, +/- 100mm) -Motor st3vt DMC2280 [params \ - multichan dmc_mc1\ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis E\ - units mm\ - hardlowerlim 0\ - hardupperlim 253\ - maxSpeed 10\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome $st3vt_home\ - cntsPerX -8192] -st3vt softlowerlim 0 -st3vt softupperlim 253 -st3vt home 0 - -# Slit 4 Tower Translation (1mm/T, +/- 100mm) -Motor st4vt DMC2280 [params \ - multichan dmc_mc1\ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ - axis F\ - units mm\ - hardlowerlim 0\ - hardupperlim 249\ - maxSpeed 10\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome $st4vt_home\ - cntsPerX -8192] -st4vt softlowerlim 0 -st4vt softupperlim 249 -st4vt home 0 - -############################ -# Motor Controller 2 -# Motor Controller 2 -# Motor Controller 2 -############################ -#:TP at HOME -# - -# Sample Tilt 1, upper (1 degree/turn) -Motor sth DMC2280 [params \ - multichan dmc_mc2\ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis A\ - units degrees\ - hardlowerlim -15\ - hardupperlim 15\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ - absEnc 1\ - absEncHome $sth_home\ - cntsPerX 8192] -setHomeandRange -motor sth -home 0 -lowrange 5 -uprange 5 -sth speed 1 -sth precision 0.01 - -# Sample Tilt 2, lower (1 degree/turn) -Motor sphi DMC2280 [params \ - multichan dmc_mc2\ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis B\ - units degrees\ - hardlowerlim 75\ - hardupperlim 105\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -25000\ - absEnc 1\ - absEncHome $sphi_home\ - cntsPerX -8192] -setHomeandRange -motor sphi -home 90 -lowrange 5 -uprange 5 -sphi speed 1 -sphi precision 0.01 - -# Sample Translation, Linear X (5mm/T, 0-750mm) -Motor sx DMC2280 [params \ - multichan dmc_mc2\ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis C\ - units mm\ - hardlowerlim 0\ - hardupperlim 734\ - maxSpeed 10\ - maxAccel 1\ - maxDecel 1\ - stepsPerX [expr 25000/5]\ - absEnc 1\ - absEncHome $sx_home\ - cntsPerX [expr 8192/5]] -sx softlowerlim 0 -sx softupperlim 730 -sx home 0 - -# Sample Translation, Linear Y -#Motor sy DMC2280 [params \ -# multichan dmc_mc2\ -# host $dmc2280_controller2(host)\ -# port $dmc2280_controller2(port)\ -# axis D\ -# units mm\ -# hardlowerlim -600\ -# hardupperlim -300\ -# maxSpeed 1\ -# maxAccel 1\ -# maxDecel 1\ -# stepsPerX 25000\ -# absEnc 1\ -# absEncHome $sy_home\ -# cntsPerX 8192] -#sy softlowerlim -600 -#sy softupperlim -300 -#sy home -450 - -# Sample Translation, Linear Z (??/T, 300mm) -Motor sz DMC2280 [params \ - multichan dmc_mc2\ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis E\ - units mm\ - hardlowerlim 0\ - hardupperlim 300.5\ - maxSpeed 2\ - maxAccel 1\ - maxDecel 1\ - stepsPerX $szStepRate\ - absEnc 1\ - absEncHome $sz_home\ - cntsPerX [expr -8192/5]] -sz softlowerlim 0 -sz softupperlim 300.5 -sz home 0 -sz speed 2 - -# Detector Translation, Linear Y (Not Motorized) -#Motor dy DMC2280 [params \ -# multichan dmc_mc2\ -# host $dmc2280_controller2(host)\ -# port $dmc2280_controller2(port)\ -# axis F\ -# units mm\ -# hardlowerlim -595\ -# hardupperlim 800\ -# maxSpeed 1\ -# maxAccel 1\ -# maxDecel 1\ -# stepsPerX 25000\ -# absEnc 1\ -# absEncHome $dy_home\ -# cntsPerX 8192] -#dy softlowerlim -595 -#dy softupperlim 800 -#dy home 0 - -# Detector Translation, Linear Z (5mm/T gearing unknown) -Motor dz DMC2280 [params \ - multichan dmc_mc2\ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ - axis G\ - units mm\ - hardlowerlim 0\ - hardupperlim 1351\ - maxSpeed 5\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -25000\ - absEnc 1\ - absEncHome $dz_home\ - cntsPerX [expr -8192/5]] -dz softlowerlim 0 -dz softupperlim 1351 -dz home 0 - -############################ -# Motor Controller 3 -# Motor Controller 3 -# Motor Controller 3 -############################ -# - -# Slit 1, lower -Motor ss1d DMC2280 [params \ - multichan dmc_mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis D\ - units mm\ - hardlowerlim [expr $vertSlitHome - $vertSlitLowRange]\ - hardupperlim [expr $vertSlitHome + $vertSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX $slitStepRate\ - motorHome $ss1d_Home] -ss1d softlowerlim -25 -ss1d softupperlim 95 -ss1d home 0 - -# Slit 1, upper -Motor ss1u DMC2280 [params \ - multichan dmc_mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis C\ - units mm\ - hardlowerlim [expr $vertSlitHome - $vertSlitLowRange]\ - hardupperlim [expr $vertSlitHome + $vertSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -$slitStepRate\ - motorHome $ss1u_Home] -ss1u softlowerlim -25 -ss1u softupperlim 95 -ss1u home 0 - -# Slit 1, left -Motor ss1l DMC2280 [params \ - multichan dmc_mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis A\ - units mm\ - hardlowerlim [expr $horSlitHome - $horSlitLowRange]\ - hardupperlim [expr $horSlitHome + $horSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX $slitStepRate\ - motorHome $ss1l_Home] -ss1l softlowerlim -25 -ss1l softupperlim 25 -ss1l home 0 - -# Slit 1, right -Motor ss1r DMC2280 [params \ - multichan dmc_mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis B\ - units mm\ - hardlowerlim [expr $horSlitHome - $horSlitLowRange]\ - hardupperlim [expr $horSlitHome + $horSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -$slitStepRate\ - motorHome $ss1r_Home] -ss1r softlowerlim -25 -ss1r softupperlim 25 -ss1r home 0 - -# Slit 2, lower -Motor ss2d DMC2280 [params \ - multichan dmc_mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis H\ - units mm\ - hardlowerlim [expr $vertSlitHome - $vertSlitLowRange]\ - hardupperlim [expr $vertSlitHome + $vertSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX $slitStepRate\ - motorHome $ss2d_Home] -ss2d softlowerlim -25 -ss2d softupperlim 95 -ss2d home 0 - -# Slit 2, upper -Motor ss2u DMC2280 [params \ - multichan dmc_mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis G\ - units mm\ - hardlowerlim [expr $vertSlitHome - $vertSlitLowRange]\ - hardupperlim [expr $vertSlitHome + $vertSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -$slitStepRate\ - motorHome $ss2u_Home] -ss2u softlowerlim -25 -ss2u softupperlim 95 -ss2u home 0 - -# Slit 2, left -Motor ss2l DMC2280 [params \ - multichan dmc_mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis E\ - units mm\ - hardlowerlim [expr $horSlitHome - $horSlitLowRange]\ - hardupperlim [expr $horSlitHome + $horSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX $slitStepRate\ - motorHome $ss2l_Home] -ss2l softlowerlim -25 -ss2l softupperlim 25 -ss2l home 0 - -# Slit 2, right -Motor ss2r DMC2280 [params \ - multichan dmc_mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ - axis F\ - units mm\ - hardlowerlim [expr $horSlitHome - $horSlitLowRange]\ - hardupperlim [expr $horSlitHome + $horSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -$slitStepRate\ - motorHome $ss2r_Home] -ss2r softlowerlim -25 -ss2r softupperlim 25 -ss2r home 0 - -# Slit 3, lower -Motor ss3d DMC2280 [params \ - multichan dmc_mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis A\ - units mm\ - hardlowerlim [expr $vertSlitHome - $vertSlitLowRange]\ - hardupperlim [expr $vertSlitHome + $vertSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX $slitStepRate\ - motorHome $ss3d_Home] -ss3d softlowerlim -25 -ss3d softupperlim 95 -ss3d home 0 - -# Slit 3, upper -Motor ss3u DMC2280 [params \ - multichan dmc_mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis B\ - units mm\ - hardlowerlim [expr $vertSlitHome - $vertSlitLowRange]\ - hardupperlim [expr $vertSlitHome + $vertSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -$slitStepRate\ - motorHome $ss3u_Home] -ss3u softlowerlim -25 -ss3u softupperlim 95 -ss3u home 0 - -# Slit 3, Left -Motor ss3l DMC2280 [params \ - multichan dmc_mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis C\ - units mm\ - hardlowerlim [expr $horSlitHome - $horSlitLowRange]\ - hardupperlim [expr $horSlitHome + $horSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX $slitStepRate\ - motorHome $ss3l_Home] -ss3l softlowerlim -25 -ss3l softupperlim 25 -ss3l home 0 - -# Slit 3, right -Motor ss3r DMC2280 [params \ - multichan dmc_mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis D\ - units mm\ - hardlowerlim [expr $horSlitHome - $horSlitLowRange]\ - hardupperlim [expr $horSlitHome + $horSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -$slitStepRate\ - motorHome $ss3r_Home] -ss3r softlowerlim -25 -ss3r softupperlim 25 -ss3r home 0 - -# Slit 4, lower -Motor ss4d DMC2280 [params \ - multichan dmc_mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis E\ - units mm\ - hardlowerlim [expr $vertSlitHome - $vertSlitLowRange]\ - hardupperlim [expr $vertSlitHome + $vertSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX $slitStepRate\ - motorHome $ss4d_Home] -ss4d softlowerlim -25 -ss4d softupperlim 95 -ss4d home 0 - -# Slit 4, upper -Motor ss4u DMC2280 [params \ - multichan dmc_mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis F\ - units mm\ - hardlowerlim [expr $vertSlitHome - $vertSlitLowRange]\ - hardupperlim [expr $vertSlitHome + $vertSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -$slitStepRate\ - motorHome $ss4u_Home] -ss4u softlowerlim -25 -ss4u softupperlim 95 -ss4u home 0 - -# Slit 4, left -Motor ss4l DMC2280 [params \ - multichan dmc_mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis G\ - units mm\ - hardlowerlim [expr $horSlitHome - $horSlitLowRange]\ - hardupperlim [expr $horSlitHome + $horSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX $slitStepRate\ - motorHome $ss4l_Home] -ss4l softlowerlim -25 -ss4l softupperlim 25 -ss4l home 0 - -# Slit 4, right -Motor ss4r DMC2280 [params \ - multichan dmc_mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ - axis H\ - units mm\ - hardlowerlim [expr $horSlitHome - $horSlitLowRange]\ - hardupperlim [expr $horSlitHome + $horSlitUpRange]\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX -$slitStepRate\ - motorHome $ss4r_Home] -ss4r softlowerlim -25 -ss4r softupperlim 25 -ss4r home 0 - -## Polarization Analyzer Vertical Translation, Z -#Motor anzvt DMC2280 [params \ -# multichan dmc_mc2\ -# 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] -#anzvt hardlowerlim xxxx -#anzvt hardupperlim xxxx -#anzvt softlowerlim xxxx -#anzvt softupperlim xxxx -#anzvt home 0 - -## Polarization Analyzer Rotation -#Motor anro DMC2280 [params \ -# multichan dmc_mc2\ -# host $dmc2280_controller2(host)\ -# port $dmc2280_controller2(port)\ -# axis xxxx\ -# units mm\ -# hardlowerlim -10\ -# hardupperlim 10\ -# maxSpeed 1\ -# maxAccel 1\ -# maxDecel 1\ -# stepsPerX 25000\ -# absEnc 1\ -# absEncHome 7500000\ -# cntsPerX 8192] -#anro softlowerlim -10 -#anro softupperlim 10 -#anro home 0 - -#proc SplitReply { text } { -# set l [split $text =] -# return [lindex $l 1] -#} - -if {1} { -proc get_gap_width {m1 m2} { - return [expr [SplitReply [$m1]] - [SplitReply [$m2]]] -} - -proc set_gap_width {m1 m2 val} { - set currentWidth [expr [SplitReply [$m1]] - [SplitReply [$m2]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [$m1]] + $diff/2] - set newD1L [expr [SplitReply [$m2]] - $diff/2] - return "$m1=$newD1R,$m2=$newD1L" -} - -proc get_gap_offset {m1 m2} { - set S1 [SplitReply [$m1]] - set S2 [SplitReply [$m2]] - return [ expr ($S1 + $S2)/2.0 ] -} - -proc set_gap_offset {m1 m2 val} { - set S1 [SplitReply [$m1]] - set S2 [SplitReply [$m2]] - set currentoffset [expr ($S1 + $S2)/2.0 ] - set diff [expr $val - $currentoffset] - set newD1R [expr $S1 + $diff] - set newD1L [expr $S2 + $diff] - return "$m1=$newD1R,$m2=$newD1L" -} - -# make_gap_motors virt_width_motor virt_offset_motor real_high_motor real_low_motor -proc make_gap_motors {vm1 vm2 m1 m2} { - eval "proc get_$vm1 {} { get_gap_width $m1 $m2 }" - set v {$var} - eval "proc set_$vm1 {var} { set_gap_width $m1 $m2 $v }" - MakeConfigurableMotor $vm1 - $vm1 readscript get_$vm1 - $vm1 drivescript set_$vm1 -publish get_$vm1 user -publish set_$vm1 user - - eval "proc get_$vm2 {} { get_gap_offset $m1 $m2 }" - set v {$var} - eval "proc set_$vm2 {var} { set_gap_offset $m1 $m2 $v }" - MakeConfigurableMotor $vm2 - $vm2 readscript get_$vm2 - $vm2 drivescript set_$vm2 -publish get_$vm2 user -publish set_$vm2 user -} - -make_gap_motors ss1vg ss1vo ss1u ss1d -make_gap_motors ss1hg ss1ho ss1r ss1l - -make_gap_motors ss2vg ss2vo ss2u ss2d -make_gap_motors ss2hg ss2ho ss2r ss2l - -make_gap_motors ss3vg ss3vo ss3u ss3d -make_gap_motors ss3hg ss3ho ss3r ss3l - -make_gap_motors ss4vg ss4vo ss4u ss4d -make_gap_motors ss4hg ss4ho ss4r ss4l -} else { -#-------------------------------------------------------- -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 - -############################################### - -#-------------------------------------------------------- -proc ss3widthscript {val} { - set currentWidth [expr [SplitReply [ss3r]] + [SplitReply [ss3l]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [ss3r]] + $diff/2] - set newD1L [expr [SplitReply [ss3l]] + $diff/2] - return "ss3r=$newD1R,ss3l=$newD1L" -} -publish ss3widthscript user - -#------------------------------------------------------- -proc ss3readwidth {} { - return [expr [SplitReply [ss3r]] + [SplitReply [ss3l]]] -} -publish ss3readwidth user -MakeConfigurableMotor ss3hg -ss3hg drivescript ss3widthscript -ss3hg readscript ss3readwidth - -#----------------------------------------------------- -proc ss3heightscript {val} { - set currentWidth [expr [SplitReply [ss3u]] + [SplitReply [ss3d]]] - set diff [expr $val - $currentWidth] - set newD1B [expr [SplitReply [ss3d]] + $diff/2] - set newD1T [expr [SplitReply [ss3u]] + $diff/2] - return "ss3d=$newD1B,ss3u=$newD1T" -} -publish ss3heightscript user - -#------------------------------------------------------- -proc ss3readheight {} { - return [expr [SplitReply [ss3u]] + [SplitReply [ss3d]]] -} -publish ss3readheight user - -#--------------------------------------------------------- -MakeConfigurableMotor ss3vg -ss3vg drivescript ss3heightscript -ss3vg readscript ss3readheight - -#-------------------------------------------------------- -proc ss3horoffsetscript {val} { - set SR [SplitReply [ss3r]] - set SL [SplitReply [ss3l]] - set currentoffset [ expr $SR - ($SR + $SL)/2.0 ] - set diff [expr $val - $currentoffset] - set newd1r [expr $SR + $diff] - set newd1l [expr $SL - $diff] - return "ss3r=$newd1r,ss3l=$newd1l" -} -publish ss3horoffsetscript user - -#------------------------------------------------------- -proc ss3readhoroffset {} { - set SR [SplitReply [ss3r]] - return [ expr $SR - ($SR + [SplitReply [ss3l]])/2.0 ] -} -publish ss3readhoroffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss3ho -ss3ho drivescript ss3horoffsetscript -ss3ho readscript ss3readhoroffset - -#-------------------------------------------------------- -proc ss3vertoffsetscript {val} { - set SU [SplitReply [ss3u]] - set SD [SplitReply [ss3d]] - set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1U [expr $SU + $diff] - set newD1D [expr $SD - $diff] - return "ss3u=$newD1U,ss3d=$newD1D" -} -publish ss3vertoffsetscript user - -#------------------------------------------------------- -proc ss3readvertoffset {} { - set SU [SplitReply [ss3u]] - return [ expr $SU - ($SU + [SplitReply [ss3d]])/2.0 ] -} -publish ss3readvertoffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss3vo -ss3vo drivescript ss3vertoffsetscript -ss3vo readscript ss3readvertoffset - -############################################### - -#-------------------------------------------------------- -proc ss4widthscript {val} { - set currentWidth [expr [SplitReply [ss4r]] + [SplitReply [ss4l]]] - set diff [expr $val - $currentWidth] - set newD1R [expr [SplitReply [ss4r]] + $diff/2] - set newD1L [expr [SplitReply [ss4l]] + $diff/2] - return "ss4r=$newD1R,ss4l=$newD1L" -} -publish ss4widthscript user - -#------------------------------------------------------- -proc ss4readwidth {} { - return [expr [SplitReply [ss4r]] + [SplitReply [ss4l]]] -} -publish ss4readwidth user -MakeConfigurableMotor ss4hg -ss4hg drivescript ss4widthscript -ss4hg readscript ss4readwidth - -#----------------------------------------------------- -proc ss4heightscript {val} { - set currentWidth [expr [SplitReply [ss4u]] + [SplitReply [ss4d]]] - set diff [expr $val - $currentWidth] - set newD1B [expr [SplitReply [ss4d]] + $diff/2] - set newD1T [expr [SplitReply [ss4u]] + $diff/2] - return "ss4d=$newD1B,ss4u=$newD1T" -} -publish ss4heightscript user - -#------------------------------------------------------- -proc ss4readheight {} { - return [expr [SplitReply [ss4u]] + [SplitReply [ss4d]]] -} -publish ss4readheight user - -#--------------------------------------------------------- -MakeConfigurableMotor ss4vg -ss4vg drivescript ss4heightscript -ss4vg readscript ss4readheight - -#-------------------------------------------------------- -proc ss4horoffsetscript {val} { - set SR [SplitReply [ss4r]] - set SL [SplitReply [ss4l]] - set currentoffset [ expr $SR - ($SR + $SL)/2.0 ] - set diff [expr $val - $currentoffset] - set newd1r [expr $SR + $diff] - set newd1l [expr $SL - $diff] - return "ss4r=$newd1r,ss4l=$newd1l" -} -publish ss4horoffsetscript user - -#------------------------------------------------------- -proc ss4readhoroffset {} { - set SR [SplitReply [ss4r]] - return [ expr $SR - ($SR + [SplitReply [ss4l]])/2.0 ] -} -publish ss4readhoroffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss4ho -ss4ho drivescript ss4horoffsetscript -ss4ho readscript ss4readhoroffset - -#-------------------------------------------------------- -proc ss4vertoffsetscript {val} { - set SU [SplitReply [ss4u]] - set SD [SplitReply [ss4d]] - set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] - set diff [expr $val - $currentOffset] - set newD1U [expr $SU + $diff] - set newD1D [expr $SD - $diff] - return "ss4u=$newD1U,ss4d=$newD1D" -} -publish ss4vertoffsetscript user - -#------------------------------------------------------- -proc ss4readvertoffset {} { - set SU [SplitReply [ss4u]] - return [ expr $SU - ($SU + [SplitReply [ss4d]])/2.0 ] -} -publish ss4readvertoffset user - -#------------------------------------------------------- -MakeConfigurableMotor ss4vo -ss4vo drivescript ss4vertoffsetscript -ss4vo readscript ss4readvertoffset -} diff --git a/site_ansto/instrument/reflectometer/troubleshoot_setup.tcl b/site_ansto/instrument/reflectometer/troubleshoot_setup.tcl deleted file mode 100644 index 5c91d7c3..00000000 --- a/site_ansto/instrument/reflectometer/troubleshoot_setup.tcl +++ /dev/null @@ -1,22 +0,0 @@ -# Platypus troubleshooter setup - -# $Revision: 1.1 $ -# $Date: 2006-11-12 21:45:02 $ -# Author: Ferdi Franceschini (ffr@ansto.gov.au) -# Last revision by $Author: ffr $ - -set configFileName "motor_configuration.tcl" - -# These subroutines should be installed on the controllers -set contSubs(dmc2280_controller1) "#AUTO #LIMSWI #SOLCTRL #TCPERR" -set contSubs(dmc2280_controller2) "#AUTO #LIMSWI #SOLCTRL #TCPERR" -set contSubs(dmc2280_controller3) "#AUTO #HOME #LOOPER #RES #TCPERR" -set contSubs(dmc2280_controller4) "#AUTO #HOME #LIMSWI #LOOPER #TCPERR" - - -# These threads should be running on the controllers. -set contThreads(dmc2280_controller1) "0" -set contThreads(dmc2280_controller2) "0" -set contThreads(dmc2280_controller3) "0" -set contThreads(dmc2280_controller4) "0" -