Merge in changes from taipan branch.

This commit is contained in:
Ferdi Franceschini
2013-04-28 17:15:45 +10:00
parent 50a2545f97
commit b3a2c5c976

View File

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