diff --git a/site_ansto/instrument/tas/config/motors/motor_configuration.tcl b/site_ansto/instrument/tas/config/motors/motor_configuration.tcl index d52a6229..6e1b5efa 100644 --- a/site_ansto/instrument/tas/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/tas/config/motors/motor_configuration.tcl @@ -62,6 +62,28 @@ set samzStepRate [expr -((25000.0*25.0)/5.0)/2.0] # 8192 count encoder, 5mm/Turn screw, 14:15 gearing? set samzCountRate [expr -((8192.0/5.0)/(14.0/15.0))/2.0] + +#Measured or computed slit motor steps per millimetre +# 250 steps * 161:1 gears = 40250 +set slitStepRate [expr (250.0*161.0)/2.0] + +#Measured slit gap, in units, after homing on limit switches +set ss1h_Gap 52.5 +set ss1v_Gap 205.9 +set ss2h_Gap 51.3 +set ss2v_Gap 203.8 + +set ss1l_Home [expr $ss1h_Gap/2*$slitStepRate] +set ss1r_Home [expr $ss1h_Gap/2*$slitStepRate] +set ss1t_Home [expr $ss1v_Gap/2*$slitStepRate] +set ss1b_Home [expr $ss1v_Gap/2*$slitStepRate] + +set ss2l_Home [expr $ss2h_Gap/2*$slitStepRate] +set ss2r_Home [expr $ss2h_Gap/2*$slitStepRate] +set ss2t_Home [expr $ss2v_Gap/2*$slitStepRate] +set ss2b_Home [expr $ss2v_Gap/2*$slitStepRate] + + # set movecount high to reduce the frequency of # hnotify messages to a reasonable level set move_count 100 @@ -111,13 +133,13 @@ Motor mtilt $motor_driver_type [params \ maxDecel 1\ stepsPerX 25000\ absEnc 1\ - absEncHome 80235\ - cntsPerX 8192] + absEncHome 79651\ + cntsPerX 4096] mtilt part crystal mtilt long_name mtilt mtilt softlowerlim -5 mtilt softupperlim 5 -mtilt home 0.143 +mtilt home 0.151 #} set atest mtilt @@ -136,13 +158,13 @@ Motor mtrans $motor_driver_type [params \ maxDecel 1\ stepsPerX 25000\ absEnc 1\ - absEncHome 743791\ - cntsPerX 8192] + absEncHome 469388\ + cntsPerX 4096] mtrans part crystal mtrans long_name mtrans mtrans softlowerlim -10 mtrans softupperlim 195 -mtrans home 66.993 +mtrans home 66.991 # mc1: Fight Tube Rotate Motor m2 $motor_driver_type [params \ @@ -151,20 +173,20 @@ Motor m2 $motor_driver_type [params \ port pmc1-taipan\ axis F\ units degrees\ - hardlowerlim -32.5\ + hardlowerlim 17\ hardupperlim 53\ - maxSpeed 4\ - maxAccel 0.4\ - maxDecel 0.4\ - stepsPerX 12500\ + maxSpeed 1\ + maxAccel 0.1\ + maxDecel 0.1\ + stepsPerX 50000\ absEnc 1\ - absEncHome 183787\ - cntsPerX 4096] + absEncHome -124231\ + cntsPerX 8192] m2 part crystal m2 long_name m2 -m2 softlowerlim -32.5 +m2 softlowerlim 17 m2 softupperlim 53 -m2 home 69.42475 +m2 home 38.17141 # mc1: Detector Rotate Motor a2 $motor_driver_type [params \ @@ -174,19 +196,19 @@ Motor a2 $motor_driver_type [params \ axis H\ units degrees\ hardlowerlim -55\ - hardupperlim 55\ - maxSpeed 8\ - maxAccel 2\ - maxDecel 2\ - stepsPerX 12500\ + hardupperlim 88\ + maxSpeed 0.8\ + maxAccel 0.2\ + maxDecel 0.2\ + stepsPerX 125000\ absEnc 1\ - absEncHome 16093721\ - cntsPerX 4096] + absEncHome 10194201\ + cntsPerX 93206.7556] a2 part detector a2 long_name a2 a2 softlowerlim -55 -a2 softupperlim 55 -a2 home 20.0421 +a2 softupperlim 88 +a2 home 41.16916 ############################ @@ -203,19 +225,19 @@ Motor sgu $motor_driver_type [params \ port pmc2-taipan\ axis A\ units degrees\ - hardlowerlim -18\ - hardupperlim 19\ + hardlowerlim -13\ + hardupperlim 16.5\ maxSpeed 2\ maxAccel 1\ maxDecel 1\ stepsPerX 25000\ absEnc 1\ - absEncHome 7745445\ + absEncHome 7745436\ cntsPerX 8192] sgu part sample sgu long_name sgu -sgu softlowerlim -18 -sgu softupperlim 19 +sgu softlowerlim -13 +sgu softupperlim 16.5 sgu home 0 # mc2: Sample Tilt 2 @@ -225,19 +247,19 @@ Motor sgl $motor_driver_type [params \ port pmc2-taipan\ axis B\ units degrees\ - hardlowerlim -18\ - hardupperlim 18\ + hardlowerlim -16.5\ + hardupperlim 17.5\ maxSpeed 2\ maxAccel 1\ maxDecel 1\ stepsPerX 25000\ absEnc 1\ - absEncHome 7499341\ + absEncHome 7499179\ cntsPerX 8192] sgl part sample sgl long_name sgl -sgl softlowerlim -18 -sgl softupperlim 18 +sgl softlowerlim -16.5 +sgl softupperlim 17.5 sgl home 0 # mc2: Sample Up Tanslation @@ -254,13 +276,13 @@ Motor stu $motor_driver_type [params \ maxDecel 1\ stepsPerX 25000\ absEnc 1\ - absEncHome 7392945\ + absEncHome 7392971\ cntsPerX 8192] stu part sample stu long_name stu stu softlowerlim -15 stu softupperlim 15 -stu home -0.001 +stu home -0.002 # mc2: Sample Lower Tanslation Motor stl $motor_driver_type [params \ @@ -276,13 +298,13 @@ Motor stl $motor_driver_type [params \ maxDecel 1\ stepsPerX 25000\ absEnc 1\ - absEncHome 7582758\ + absEncHome 7582791\ cntsPerX 8192] stl part sample stl long_name stl stl softlowerlim -15 stl softupperlim 15 -stl home -0.002 +stl home -0.001 # mc2: Sample Rotate Motor s1 $motor_driver_type [params \ @@ -291,20 +313,20 @@ Motor s1 $motor_driver_type [params \ port pmc2-taipan\ axis E\ units degrees\ - hardlowerlim -185\ - hardupperlim 124\ + hardlowerlim -170\ + hardupperlim 90\ maxSpeed 4\ maxAccel 2\ maxDecel 2\ stepsPerX 12500\ absEnc 1\ - absEncHome 10138002\ - cntsPerX 4096] + absEncHome 18156361\ + cntsPerX 93206.7556] s1 part sample s1 long_name s1 -s1 softlowerlim -185 -s1 softupperlim 124 -s1 home -100.0051 +s1 softlowerlim -170 +s1 softupperlim 90 +s1 home -85.38518 # mc2: Analyser Detector Rotate -- Sample Scattering Angle Motor s2 $motor_driver_type [params \ @@ -313,20 +335,20 @@ Motor s2 $motor_driver_type [params \ port pmc2-taipan\ axis F\ units degrees\ - hardlowerlim -128\ - hardupperlim 3\ - maxSpeed 8\ - maxAccel 2\ - maxDecel 2\ - stepsPerX 12500\ + hardlowerlim -78\ + hardupperlim -1.9\ + maxSpeed 0.8\ + maxAccel 0.2\ + maxDecel 0.2\ + stepsPerX 125000\ absEnc 1\ - absEncHome 17827565\ - cntsPerX 4096] + absEncHome 27256910\ + cntsPerX 93206.7556] s2 part sample s2 long_name s2 -s2 softlowerlim -128 -s2 softupperlim 3 -s2 home -50.0026 +s2 softlowerlim -78 +s2 softupperlim -1.9 +s2 home -75.58425 # mc2: Analyser Horizontal Focus Motor ahfocus $motor_driver_type [params \ @@ -337,12 +359,12 @@ Motor ahfocus $motor_driver_type [params \ units degrees\ hardlowerlim -360\ hardupperlim 360\ - maxSpeed 1\ - maxAccel 0.5\ - maxDecel 0.5\ - stepsPerX 25000\ + maxSpeed 360\ + maxAccel 180\ + maxDecel 180\ + stepsPerX 69.444\ absEnc 1\ - absEncHome 8361542\ + absEncHome 7879140\ cntsPerX 8192] ahfocus part crystal ahfocus long_name ahfocus @@ -351,6 +373,7 @@ ahfocus softupperlim 360 ahfocus home 58.887 # mc2: Analyser Vertical Focus +# Jing: not fixed so far Motor avfocus $motor_driver_type [params \ asyncqueue mc2\ host mc2-taipan\ @@ -359,10 +382,10 @@ Motor avfocus $motor_driver_type [params \ units degrees\ hardlowerlim -200\ hardupperlim 0\ - maxSpeed 1\ - maxAccel 0.5\ - maxDecel 0.5\ - stepsPerX 25000\ + maxSpeed 1.2422\ + maxAccel 0.6211\ + maxDecel 0.6211\ + stepsPerX 20125\ absEnc 1\ absEncHome $samthet_Home\ cntsPerX 8192] @@ -381,13 +404,13 @@ Motor mvfocus $motor_driver_type [params \ units degrees\ hardlowerlim 0\ hardupperlim 240\ - maxSpeed 0.5\ - maxAccel 0.24\ - maxDecel 0.24\ - stepsPerX 25000\ + maxSpeed 3.6\ + maxAccel 1.728\ + maxDecel 1.728\ + stepsPerX 3472.2222\ absEnc 1\ - absEncHome 542614\ - cntsPerX 8192] + absEncHome 75695\ + cntsPerX 4096] mvfocus part crystal mvfocus long_name mvfocus mvfocus softlowerlim 0 @@ -403,18 +426,18 @@ Motor mhfocus $motor_driver_type [params \ units degrees\ hardlowerlim -180\ hardupperlim 275\ - maxSpeed 0.5\ - maxAccel 0.24\ - maxDecel 0.24\ - stepsPerX 25000\ + maxSpeed 3.6\ + maxAccel 1.728\ + maxDecel 1.728\ + stepsPerX 3472.2222\ absEnc 1\ - absEncHome 5860595\ - cntsPerX 8192] + absEncHome 5983434\ + cntsPerX 4096] mhfocus part crystal mhfocus long_name mhfocus mhfocus softlowerlim 0 mhfocus softupperlim 240 -mhfocus home -29.970 +mhfocus home -29.990 # mc3: Monochromator Rotate Motor m1 $motor_driver_type [params \ @@ -425,18 +448,18 @@ Motor m1 $motor_driver_type [params \ units degrees\ hardlowerlim 5\ hardupperlim 40\ - maxSpeed 8\ - maxAccel 2\ - maxDecel 2\ - stepsPerX 12500\ + maxSpeed 1\ + maxAccel 0.25\ + maxDecel 0.25\ + stepsPerX 100000\ absEnc 1\ - absEncHome 16293938\ + absEncHome 16310005\ cntsPerX 4096] m1 part crystal m1 long_name m1 m1 softlowerlim 5 m1 softupperlim 40 -m1 home 34.76255 +m1 home 8.97251 # mc4: Analyzer Tilt 1 -- Two-theta Angle Motor atilt $motor_driver_type [params \ @@ -452,13 +475,13 @@ Motor atilt $motor_driver_type [params \ maxDecel 1\ stepsPerX 25000\ absEnc 1\ - absEncHome 7909774\ + absEncHome 7909802\ cntsPerX 8192] atilt part crystal atilt long_name atilt atilt softlowerlim -5 atilt softupperlim 5 -atilt home -0.004 +atilt home 0.001 # mc4: Analyzer Translate Motor atrans $motor_driver_type [params \ @@ -474,13 +497,13 @@ Motor atrans $motor_driver_type [params \ maxDecel 1\ stepsPerX 25000\ absEnc 1\ - absEncHome 23726439\ + absEncHome 23560555\ cntsPerX 8192] atrans part crystal atrans long_name atrans atrans softlowerlim -1 atrans softupperlim 22 -atrans home 0.00023 +atrans home 10.12476 # mc4: Analyzer Rotate Motor a1 $motor_driver_type [params \ @@ -490,19 +513,19 @@ Motor a1 $motor_driver_type [params \ axis D\ units degrees\ hardlowerlim -5.1\ - hardupperlim 30\ + hardupperlim 45\ maxSpeed 4\ maxAccel 2\ maxDecel 2\ stepsPerX 12500\ absEnc 1\ - absEncHome 24771579\ - cntsPerX 4096] + absEncHome 24646226\ + cntsPerX 8192] a1 part crystal a1 long_name a1 a1 softlowerlim -5.1 -a1 softupperlim 30 -a1 home 10.0204 +a1 softupperlim 45 +a1 home 20.58360 # mc4: Virtural Source Left Translation Motor VS_left $motor_driver_type [params \ @@ -512,18 +535,18 @@ Motor VS_left $motor_driver_type [params \ axis E\ units mm\ hardlowerlim 2\ - hardupperlim 35\ - maxSpeed 0.5\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ + hardupperlim 41\ + maxSpeed 3\ + maxAccel 6\ + maxDecel 6\ + stepsPerX 4166.6667\ absEnc 1\ - absEncHome 14574349\ - cntsPerX 8192] + absEncHome 14471941\ + cntsPerX 4096] VS_left part slits VS_left long_name VS_left VS_left softlowerlim 2 -VS_left softupperlim 35 +VS_left softupperlim 41 VS_left home 25.0019 # mc4: Virtural Source Right Translation @@ -533,22 +556,23 @@ Motor VS_right $motor_driver_type [params \ port pmc4-taipan\ axis F\ units mm\ - hardlowerlim -35\ + hardlowerlim -41\ hardupperlim -2\ - maxSpeed 0.5\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ + maxSpeed 3\ + maxAccel 6\ + maxDecel 6\ + stepsPerX 4166.6667\ absEnc 1\ - absEncHome 16251954\ - cntsPerX 8192] + absEncHome 16354268\ + cntsPerX 4096] VS_right part slits VS_right long_name VS_right -VS_right softlowerlim -35 +VS_right softlowerlim -41 VS_right softupperlim -2 VS_right home -24.9790 # mc4: Filter Rotate +#Jing: current no data from SPiCe, based on Gali reading only Motor mfilter $motor_driver_type [params \ asyncqueue mc4\ host mc4-taipan\ @@ -562,8 +586,8 @@ Motor mfilter $motor_driver_type [params \ maxDecel 2\ stepsPerX 12500\ absEnc 1\ - absEncHome $samthet_Home\ - cntsPerX 4096] + absEncHome 22369621\ + cntsPerX 8192] mfilter part crystal mfilter long_name mfilter mfilter softlowerlim 0 @@ -579,13 +603,13 @@ Motor collimator $motor_driver_type [params \ units mm\ hardlowerlim -112\ hardupperlim 112\ - maxSpeed 0.5\ - maxAccel 1\ - maxDecel 1\ - stepsPerX 25000\ + maxSpeed 3\ + maxAccel 6\ + maxDecel 6\ + stepsPerX 4166.6667\ absEnc 1\ - absEncHome $samthet_Home\ - cntsPerX 8192] + absEncHome 2176205\ + cntsPerX 4096] collimator part collimator collimator long_name collimator collimator softlowerlim -112 @@ -598,21 +622,20 @@ Motor ps_right $motor_driver_type [params \ host mc6-taipan\ port pmc6-taipan\ axis A\ - units degrees\ + units mm\ hardlowerlim -27\ - hardupperlim -2\ - maxSpeed 1.2\ - maxAccel 2.4\ - maxDecel 2.4\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 0\ - cntsPerX 8192] + hardupperlim -3\ + maxSpeed 1.4907\ + maxAccel 3.0020\ + maxDecel 3.0020\ + stepsPerX $slitStepRate\ + motorHome $ss1r_Home] ps_right part slits ps_right long_name ps_right ps_right softlowerlim -27 -ps_right softupperlim -2 -ps_right home -8.0000 +ps_right softupperlim -3 +ps_right home -10.0000 +ps_right movecount $move_count # mc6: Pre-sample left aperture -- Slit s1 left Blade Motor ps_left $motor_driver_type [params \ @@ -620,21 +643,21 @@ Motor ps_left $motor_driver_type [params \ host mc6-taipan\ port pmc6-taipan\ axis B\ - units degrees\ + units mm\ hardlowerlim -27\ - hardupperlim -2\ - maxSpeed 1.2\ - maxAccel 2.4\ - maxDecel 2.4\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 0\ - cntsPerX 8192] + hardupperlim -4\ + maxSpeed 1.4907\ + maxAccel 3.0020\ + maxDecel 3.0020\ + stepsPerX $slitStepRate\ + motorHome $ss1l_Home] ps_left part slits ps_left long_name ps_left ps_left softlowerlim -27 -ps_left softupperlim -2 -ps_left home -7.99998 +ps_left softupperlim -4 +ps_left home -10.0000 +ps_left movecount $move_count + # mc6: Pre-sample top aperture -- Slit s1 top Blade Motor ps_top $motor_driver_type [params \ @@ -642,21 +665,20 @@ Motor ps_top $motor_driver_type [params \ host mc6-taipan\ port pmc6-taipan\ axis C\ - units degrees\ + units mm\ hardlowerlim -200\ hardupperlim -2\ - maxSpeed 1.2\ - maxAccel 2.4\ - maxDecel 2.4\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 0\ - cntsPerX 8192] -ps_top part slits + maxSpeed 1.4907\ + maxAccel 3.0020\ + maxDecel 3.0020\ + stepsPerX $slitStepRate\ + motorHome $ss1t_Home] +s_top part slits ps_top long_name ps_top ps_top softlowerlim -200 ps_top softupperlim -2 -ps_top home -40.0000 +ps_top home -19.0000 +ps_top movecount $move_count # mc6: Pre-sample bottom aperture -- Slit s1 bottom Blade Motor ps_bottom $motor_driver_type [params \ @@ -664,21 +686,20 @@ Motor ps_bottom $motor_driver_type [params \ host mc6-taipan\ port pmc6-taipan\ axis D\ - units degrees\ + units mm\ hardlowerlim -200\ hardupperlim -2\ - maxSpeed 1.2\ - maxAccel 2.4\ - maxDecel 2.4\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 0\ - cntsPerX 8192] + maxSpeed 1.4907\ + maxAccel 3.0020\ + maxDecel 3.0020\ + stepsPerX $slitStepRate\ + motorHome $ss1b_Home] ps_bottom part slits ps_bottom long_name ps_bottom ps_bottom softlowerlim -200 ps_bottom softupperlim -2 -ps_bottom home -40.0000 +ps_bottom home -21.0000 +ps_bottom movecount $move_count # mc6: Pre-sample right aperture -- Slit s2 right Blade Motor pa_right $motor_driver_type [params \ @@ -686,21 +707,20 @@ Motor pa_right $motor_driver_type [params \ host mc6-taipan\ port pmc6-taipan\ axis E\ - units degrees\ + units mm\ hardlowerlim -26\ - hardupperlim 2\ - maxSpeed 1.2\ - maxAccel 2.4\ - maxDecel 2.4\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 0\ - cntsPerX 8192] + hardupperlim -2\ + maxSpeed 1.4907\ + maxAccel 3.0020\ + maxDecel 3.0020\ + stepsPerX $slitStepRate\ + motorHome $ss2r_Home] pa_right part slits pa_right long_name pa_right pa_right softlowerlim -26 -pa_right softupperlim 2 -pa_right home -7.0000 +pa_right softupperlim -2 +pa_right home -6.0000 +pa_right movecount $move_count # mc6: Pre-sample left aperture -- Slit s2 left Blade Motor pa_left $motor_driver_type [params \ @@ -708,21 +728,20 @@ Motor pa_left $motor_driver_type [params \ host mc6-taipan\ port pmc6-taipan\ axis F\ - units degrees\ + units mm\ hardlowerlim -26\ - hardupperlim 2\ - maxSpeed 1.2\ - maxAccel 2.4\ - maxDecel 2.4\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 0\ - cntsPerX 8192] + hardupperlim -2\ + maxSpeed 1.4907\ + maxAccel 3.0020\ + maxDecel 3.0020\ + stepsPerX $slitStepRate\ + motorHome $ss2l_Home] pa_left part slits pa_left long_name pa_left pa_left softlowerlim -26 -pa_left softupperlim 2 -pa_left home -7.0000 +pa_left softupperlim -2 +pa_left home -6.0000 +pa_left movecount $move_count # mc6: Pre-sample top aperture -- Slit s2 top Blade Motor pa_top $motor_driver_type [params \ @@ -730,21 +749,19 @@ Motor pa_top $motor_driver_type [params \ host mc6-taipan\ port pmc6-taipan\ axis G\ - units degrees\ + units mm\ hardlowerlim -200\ - hardupperlim 0\ - maxSpeed 1.2\ - maxAccel 2.4\ - maxDecel 2.4\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 0\ - cntsPerX 8192] -pa_left part slits -pa_left long_name pa_top -pa_left softlowerlim -200 -pa_left softupperlim 0 -pa_left home -35.0000 + hardupperlim -3\ + maxSpeed 1.4907\ + maxAccel 3.0020\ + maxDecel 3.0020\ + stepsPerX $slitStepRate\ + motorHome $ss2t_Home] +pa_top part slits +pa_top long_name pa_top +pa_top softlowerlim -200 +pa_top softupperlim -3 +pa_top home -19.0000 # mc6: Pre-sample bottom aperture -- Slit s2 bottom Blade Motor pa_bottom $motor_driver_type [params \ @@ -752,38 +769,22 @@ Motor pa_bottom $motor_driver_type [params \ host mc6-taipan\ port pmc6-taipan\ axis H\ - units degrees\ + units mm\ hardlowerlim -200\ - hardupperlim 0\ - maxSpeed 1.2\ - maxAccel 2.4\ - maxDecel 2.4\ - stepsPerX 25000\ - absEnc 1\ - absEncHome 0\ - cntsPerX 8192] + hardupperlim -3\ + maxSpeed 1.4907\ + maxAccel 3.0020\ + maxDecel 3.0020\ + stepsPerX $slitStepRate\ + motorHome $ss2b_Home] pa_bottom part slits pa_bottom long_name pa_bottom pa_bottom softlowerlim -200 -pa_bottom softupperlim 0 -pa_bottom home -35.0000 +pa_bottom softupperlim -3 +pa_bottom home -16.0000 proc motor_set_sobj_attributes {} { } # END MOTOR CONFIGURATION -# According to http://www.nexusformat.org/Design units must conform to -# http://www.unidata.ucar.edu/software/udunits/udunits-1/udunits.txt -# So we use "count" for dimensionless decimal numbers -#set vc_units count -#make_coll_motor_2 c1 section_1 pc1 pc2 $vc_units -#make_coll_motor_1 c2 section_2 pc3 $vc_units -#make_coll_motor_1 c3 section_3 pc4 $vc_units -#make_coll_motor_1 c4 section_4 pc5 $vc_units -#make_coll_motor_1 c5 section_5 pc6 $vc_units -#make_coll_motor_1 c6 section_6 pc7 $vc_units -#make_coll_motor_1 c7 section_7 pc8 $vc_units -#make_coll_motor_1 c8 section_8 pc9 $vc_units -#make_coll_motor_1 c9 section_9 pc10 $vc_units -#unset vc_units