From b3a2c5c976eb69e8c7291f8d91640b46ce74c45e Mon Sep 17 00:00:00 2001 From: Ferdi Franceschini Date: Sun, 28 Apr 2013 17:15:45 +1000 Subject: [PATCH] Merge in changes from taipan branch. --- .../tas/config/motors/motor_configuration.tcl | 68 ++++++++++++++----- 1 file changed, 52 insertions(+), 16 deletions(-) diff --git a/site_ansto/instrument/tas/config/motors/motor_configuration.tcl b/site_ansto/instrument/tas/config/motors/motor_configuration.tcl index 0e2f7c24..7f0d597b 100644 --- a/site_ansto/instrument/tas/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/tas/config/motors/motor_configuration.tcl @@ -205,8 +205,11 @@ mtrans home 0.0 # mc1: Fight Tube Rotate # stepsPerX was 120000 for motor, -150 for encoder # these values come from dan's calculated values in the Galil controller -set m2_cntsPerX [expr 1.0 / 0.006696] -set m2_stepsPerX [expr -25000 * $m2_cntsPerX / -30.92] +# 18/1/2013 updated absenchome for 20 degree reference +# old 20 absEncHome 2772424 +# new 20 absEncHome 2773144 +set m2_cntsPerX [expr -1.0 / 0.00020925] +set m2_stepsPerX [expr -25000 * $m2_cntsPerX / 989.44] Motor m2 $motor_driver_type [params \ asyncqueue mc1\ host mc1-taipan\ @@ -221,7 +224,7 @@ Motor m2 $motor_driver_type [params \ maxDecel 0.1\ stepsPerX $m2_stepsPerX\ absEnc 1\ - absEncHome 23164830\ + absEncHome 2773144\ cntsPerX $m2_cntsPerX] m2 part crystal m2 long_name m2 @@ -230,7 +233,7 @@ m2 softupperlim 80 m2 home 20 m2 motOnDelay 2000 m2 motOffDelay 0 -m2 backlash_offset -0.1 +m2 backlash_offset 0.1 m2 creep_offset 0.1 m2 creep_precision 0.02088 @@ -385,6 +388,7 @@ s1 home 35.997 s1 backlash_offset -0.2 # mc2: Analyser Detector Rotate -- Sample Scattering Angle +# absEncHome 20728908\ at -50 Motor s2 $motor_driver_type [params \ asyncqueue mc2\ host mc2-taipan\ @@ -392,24 +396,26 @@ Motor s2 $motor_driver_type [params \ axis F\ units degrees\ precision 0.01\ - hardlowerlim -95\ + hardlowerlim -128\ hardupperlim 30\ maxSpeed 1.5\ maxAccel 0.5\ maxDecel 0.5\ stepsPerX 125000\ absEnc 1\ - absEncHome 20728908\ + absEncHome 20305788\ cntsPerX -93206.7556] s2 part sample s2 long_name s2 s2 softlowerlim -78 s2 softupperlim -1.9 -s2 home -49.9998 +#s2 home -49.9998 +s2 home -90 s2 motOnDelay 1000 s2 motOffDelay 0 s2 settle 0 s2 backlash_offset 0.5 +s2 blockage_thresh 1 s2 creep_offset 0.015 s2 creep_precision 0.01 s2 speed 1.07 @@ -502,21 +508,21 @@ Motor mhfocus $motor_driver_type [params \ axis B\ units degrees\ precision 0.2\ - hardlowerlim 0\ - hardupperlim 300\ + hardlowerlim -80\ + hardupperlim 240\ maxSpeed 3.6\ maxAccel 1.728\ maxDecel 1.728\ stepsPerX [expr 25000.0 * 50.0 / 360.0]\ absEnc 1\ bias_bits 12\ - bias_bias 2752\ - absEncHome 4000\ + bias_bias 1540\ + absEncHome 2788\ cntsPerX [expr -4096.0 / 360.0]] mhfocus part crystal mhfocus long_name mhfocus -mhfocus softlowerlim 0 -mhfocus softupperlim 300 +mhfocus softlowerlim -75 +mhfocus softupperlim 235 mhfocus home 0 mhfocus Blockage_Thresh 2 mhfocus Blockage_Check_Interval 2 @@ -592,6 +598,9 @@ atrans home -0.0006 atrans backlash_offset -0.5 # mc4: Analyzer Rotate +# absEncHome 24813762 +# absEncHome 26520998 +# absEncHome 24781281 Motor a1 $motor_driver_type [params \ asyncqueue mc4\ host mc4-taipan\ @@ -605,13 +614,15 @@ Motor a1 $motor_driver_type [params \ maxDecel 2\ stepsPerX 12500\ absEnc 1\ - absEncHome 24813762\ + absEncHome 202804\ cntsPerX 4096] a1 part crystal a1 long_name a1 a1 softlowerlim -5.1 a1 softupperlim 45 -a1 home 20.4586 +#a1 home 20.4586 +#a1 home 34.9 +a1 home 0 a1 backlash_offset 0.2 # mc4: Virtural Source Left Translation @@ -923,16 +934,26 @@ proc set_vei {mEv} { MakeConfigurableMotor vwi vwi readscript get_vwi vwi drivescript set_vwi +sicslist setatt vwi units Angstrom +sicslist setatt vwi klass sample +sicslist setatt vwi long_name vei MakeConfigurableMotor vei vei readscript get_vei vei drivescript set_vei +sicslist setatt vei units meV +sicslist setatt vei klass sample +sicslist setatt vei long_name vei publish get_vwi user publish set_vwi user publish get_vei user publish set_vei user +# magnet +if {0} { # Convert magnet angle to s1 angle + VarMake vs1speed float user + vs1speed 1 proc get_vs1 {} { set angle [GetMagOmPos] return $angle @@ -940,7 +961,17 @@ proc get_vs1 {} { # Convert s1 angle to magnet angle proc set_vs1 {angle} { - MagOmMove $angle + set vs1_pos [SplitReply [GetMagOmPos]] + set dummy_prec [SplitReply [dummy_s1 precision]] + if {[expr abs($vs1_pos - $angle)] <= $dummy_prec} { + return + } + set speed [SplitReply [vs1speed]] + if {$angle < $vs1_pos} { + set blo [expr $angle - 1] + MagOmMove $blo $speed + } + MagOmMove $angle $speed set result "dummy_motor=$angle" return $result } @@ -949,5 +980,10 @@ MakeConfigurableMotor vs1 vs1 readscript get_vs1 vs1 drivescript set_vs1 + sicslist setatt vs1 units degrees + sicslist setatt vs1 klass sample + sicslist setatt vs1 long_name vs1 + publish get_vs1 user publish set_vs1 user +}