Commissioning WIP

r3545 | dcl | 2012-05-17 11:04:14 +1000 (Thu, 17 May 2012) | 1 line
This commit is contained in:
Douglas Clowes
2012-05-17 11:04:14 +10:00
parent b10b1608b2
commit 2ee0d5bdec

View File

@@ -1,4 +1,3 @@
# Author: Jing Chen (jgn@ansto.gov.au)
# All Motors are 25000 steps per motor revolution
set animal pelican
@@ -72,11 +71,14 @@ set my_Home 8391084
set mom_Home 8389414
set rco_Home 33531098
# TODO get real values from Dan
set rcz_Home 33141607
set rcz_Home 33137920
set rcz_Beam 33479215
set bsr_Home 1192516
set gv1_Home 0
set gv2_Home 0
set gv1_Open 33468000
set gv1_Shut 33221600
# set movecount high to reduce the frequency of
@@ -142,6 +144,7 @@ ptz home 0
ptz posit_1 31408274
ptz posit_2 32096132
ptz posit_3 33171650
ptz creep_offset 0.001
# mc1: Beryllium / Graphite filter shared - Z translation slide
# Moto: 100:1 gear, 2mm pitch
@@ -168,10 +171,11 @@ ftz long_name ftz
ftz softlowerlim -280
ftz softupperlim 160
ftz home 0
# 1:RevLimit, 2:PG, 3:Open, 4:Be, 5:FwdLim
# 1:PG, 2:Open, 3:Be
ftz posit_1 590157
ftz posit_2 1242083
ftz posit_3 2348104
ftz creep_offset 0.001
# mc1: Polariser (& Spin Flipper) - Rotation + - 2 deg about polariser (i.e, The Elbow)
set pomStepRate [expr { 1176 * 25000 }]
@@ -184,7 +188,7 @@ Motor pom $motor_driver_type [params \
units degrees\
hardlowerlim -1.5\
hardupperlim 1.5\
maxSpeed [expr { 100000.0 / $pomStepRate }]\
maxSpeed [expr { 200000.0 / $pomStepRate }]\
maxAccel [expr { 25000.0 / $pomStepRate }]\
maxDecel [expr { 25000.0 / $pomStepRate }]\
stepsPerX $pomStepRate\
@@ -196,10 +200,14 @@ pom long_name pom
pom softlowerlim -1.5
pom softupperlim 1.5
pom home 0
pom blockage_thresh 1.0
pom backlash_offset -0.2
pom MotOffDelay 2000
pom creep_offset 0.1
# mc1: Sample/Detector Chamber Rotation (Detector)
#set stthStepRate 66807.314
set stthStepRate [expr { 25000 * 100.0 * (3800.0 / 395.0) / 360.0 }]
set stthStepRate [expr { 25000 * 400.0 * (2 * 1800.0 / 400.0) / 360.0 }]
Motor stth $motor_driver_type [params \
asyncqueue mc1\
@@ -207,24 +215,30 @@ Motor stth $motor_driver_type [params \
port pmc1-pelican\
axis F\
units degrees\
hardlowerlim -60\
hardupperlim 50\
maxSpeed [expr { 25000.0 / $stthStepRate }]\
hardlowerlim -50\
hardupperlim 60\
maxSpeed [expr { 50000.0 / $stthStepRate }]\
maxAccel [expr { 5000.0 / $stthStepRate }]\
maxDecel [expr { 5000.0 / $stthStepRate }]\
stepsPerX $stthStepRate\
stepsPerX [expr {0.8 * $stthStepRate}]\
absEnc 1\
absEncHome $stth_Home\
cntsPerX -[expr { 8192.0 / 360.0 }]]
stth part detector
stth long_name stth
stth softlowerlim -60
stth softupperlim 50
stth softlowerlim -50
stth softupperlim 60
stth home 0
stth Blockage_Thresh 2.000000
stth Blockage_Ratio 5.000000
stth Backlash_offset -0.100000
stth MotOffDelay 2000
stth creep_offset 1
stth creep_precision 0.022
# mc1: Instrument Drive System (Main Drive) (Flight Tube)
#set mtthStepRate 222222.222
set mtthStepRate [expr { 25000 * 100.0 / (66.0/2112) / 360.0 }]
set mtthStepRate [expr { 25000 * 400.0 / (66.0/2112) / 360.0 }]
Motor mtth $motor_driver_type [params \
asyncqueue mc1\
@@ -237,16 +251,20 @@ Motor mtth $motor_driver_type [params \
maxSpeed [expr { 100000.0 / $mtthStepRate }]\
maxAccel [expr { 25000.0 / $mtthStepRate }]\
maxDecel [expr { 25000.0 / $mtthStepRate }]\
stepsPerX $mtthStepRate\
stepsPerX -$mtthStepRate\
absEnc 1\
absEncHome $mtth_Home\
cntsPerX [expr { (1<<25)/360.0 }]]
cntsPerX -[expr { (1<<25)/360.0 }]]
mtth part detector
mtth long_name mtth
mtth softlowerlim 43
mtth softupperlim 134
mtth home 90
mtth MotOffDelay 2000
mtth Blockage_Thresh 2.0
mtth Backlash_offset -0.100000
mtth Creep_Offset 1.000000
mtth Creep_Precision 0.005000
############################
# Motor Controller 2
@@ -461,8 +479,6 @@ mra long_name mra
mra softlowerlim 0
mra softupperlim 1
mra home 0
# fix the motor
mra fixed -1
# mc3: Monochromator Focusing 1 - Rotation
Motor moma $motor_driver_type [params \
@@ -513,8 +529,6 @@ mrb long_name mrb
mrb softlowerlim 0
mrb softupperlim 1
mrb home 0
# fix the motor
mrb fixed -1
# mc3: Monochromator Focusing 2 - Rotation
Motor momb $motor_driver_type [params \
@@ -565,8 +579,6 @@ mrc long_name mrc
mrc softlowerlim 0
mrc softupperlim 1
mrc home 0
# fix the motor
mrc fixed -1
# mc3: Monochromator Focusing 3 - Rotation
Motor momc $motor_driver_type [params \
@@ -751,16 +763,20 @@ Motor rco $motor_driver_type [params \
stepsPerX $rcoStepRate\
absEnc 1\
absEncHome $rco_Home\
cntsPerX [expr { (1200.26 / 60.0) * (8192.0 / 360.0) }]]
cntsPerX [expr { (1200.26 / 60.0) * (8192.0 / 360.0) }]\
posit_count 3]
rco part collimator
rco long_name rco
rco softlowerlim 0
rco softupperlim 0
# 1:RevLimit, 2:Center, 3:FwdLim
rco posit_1 33529987
rco posit_2 33531098
rco posit_3 33532000
rco home 0
# fix this motor
rco fixed 1
# mc6: Radial Collimator -- Z Translation
#set rczStepRate [expr { 25000.0 * 100.0 / 10.0 }]
set rczStepRate [expr { 25000.0 * 100.0 / 10.0 }]
Motor rcz $motor_driver_type [params \
@@ -777,14 +793,16 @@ Motor rcz $motor_driver_type [params \
stepsPerX $rczStepRate\
absEnc 1\
absEncHome $rcz_Home\
cntsPerX [expr { 8192.0 / 10.0 }]]
cntsPerX [expr { 8192.0 / 10.0 }]\
posit_count 2]
rcz part collimator
rcz long_name rcz
rcz softlowerlim 0
rcz softupperlim 450
rcz home 0
# fix this motor
rcz fixed 1
# 1:Down 2:Up
rcz posit_1 $rcz_Home
rcz posit_2 $rcz_Beam
# mc6: Beam Stop Stage - Rotation
set bsrStepRate [expr { 25000.0 / 2.0 }]
@@ -809,10 +827,8 @@ bsr long_name bsr
bsr softlowerlim -150
bsr softupperlim 180
bsr home 0
# fix this motor
bsr fixed 1
# mc6: Isolation Vaue -- Axis 1, currently this Axis is set to read ONLY to read the encoder
# mc6: Isolation Valve -- Axis 1, currently this Axis is set to read ONLY to read the encoder
Motor gv1 $motor_driver_type [params \
asyncqueue mc6\
host mc6-pelican\
@@ -826,48 +842,20 @@ Motor gv1 $motor_driver_type [params \
maxDecel 0\
stepsPerX 1\
absEnc 1\
absEncHome $gv1_Home\
cntsPerX 1\
absEncHome $gv1_Shut\
cntsPerX [expr { ($gv1_Open - $gv1_Shut) / 100.0 }]\
posit_count 2]
gv1 part sample
gv1 long_name gv1
gv1 softlowerlim 0
gv1 softupperlim 180
gv1 softupperlim 0
gv1 home 0
# 1:open, 2:closed
gv1 posit_1 33468000
gv1 posit_2 33221600
gv1 posit_1 $gv1_Open
gv1 posit_2 $gv1_Shut
# fix the motor
gv1 fixed 1
# mc6: Isolation Vaue -- Axis 2, currently this Axis is set to read ONLY to read the encoder
Motor gv2 $motor_driver_type [params \
asyncqueue mc6\
host mc6-pelican\
port pmc6-pelican\
axis F\
units degrees\
hardlowerlim 0\
hardupperlim 0\
maxSpeed 0\
maxAccel 0\
maxDecel 0\
stepsPerX 1\
absEnc 1\
absEncHome $gv2_Home\
cntsPerX 1\
posit_count 2]
gv2 part sample
gv2 long_name gv2
gv2 softlowerlim 0
gv2 softupperlim 0
gv2 home 0
# 1:open, 2:closed
gv2 posit_1 33549541
gv2 posit_2 33549541
# fix the motor
gv2 fixed 1
proc motor_set_sobj_attributes {} {
}
# END MOTOR CONFIGURATION
@@ -887,3 +875,21 @@ proc motor_set_sobj_attributes {} {
#make_coll_motor_1 c9 section_9 pc10 $vc_units
#unset vc_units
# Generator functions
proc make_virtual_motor_1 { vm1 vm1_name pm1 aunits klass } {
eval "proc get_$vm1 {} { get_virtual_1 $pm1 }"
set v {$var}
eval "proc set_$vm1 {var} { set_virtual_1 $pm1 $v }"
MakeConfigurableMotor $vm1
$vm1 readscript get_$vm1
$vm1 drivescript set_$vm1
sicslist setatt $vm1 units $aunits
sicslist setatt $vm1 klass $klass
sicslist setatt $vm1 long_name $vm1_name
sicslist setatt $vm1 hdbchain $pm1
}
make_virtual_motor_1 { vrcz RCollZ rcz count collimator }
make_virtual_motor_1 { vptz PolarizerZ ptz count thing }
make_virtual_motor_1 { vftz FilterZ ftz count thing }
make_virtual_motor_1 { vgv GateValve gv1 count thing }