Commissioning iteration

r2177 | dcl | 2007-10-05 11:55:46 +1000 (Fri, 05 Oct 2007) | 2 lines
This commit is contained in:
Douglas Clowes
2007-10-05 11:55:46 +10:00
parent 5ee42733ba
commit 06fba540ec

View File

@@ -1,5 +1,5 @@
# $Revision: 1.8 $
# $Date: 2007-10-03 23:15:02 $
# $Revision: 1.9 $
# $Date: 2007-10-05 01:55:46 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: dcl $
@@ -46,7 +46,9 @@ set pent_Home 8123563
#set srce_Home 7868762
#set srce_Home 7871476
#set srce_Home 7827384
set srce_Home 7826986
#set srce_Home 7826986
#set srce_Home 7518434
set srce_Home 7518652
set apx_Home 7500000
set apz_Home 7500000
set att_Home 7500000
@@ -966,30 +968,78 @@ publish set_virtual_2 user
publish get_virtual_1 user
publish get_virtual_2 user
proc make_coll_motor_1 { vm1 pm1 } {
proc make_coll_motor_1 { vm1 vm1_name pm1 aunits } {
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 collimator
sicslist setatt $vm1 long_name $vm1_name
}
proc make_coll_motor_2 { vm1 pm1 pm2 } {
proc make_coll_motor_2 { vm1 vm1_name pm1 pm2 aunits } {
eval "proc get_$vm1 {} { get_virtual_2 $pm1 $pm2 }"
set v {$var}
eval "proc set_$vm1 {var} { set_virtual_2 $pm1 $pm2 $v }"
MakeConfigurableMotor $vm1
$vm1 readscript get_$vm1
$vm1 drivescript set_$vm1
sicslist setatt $vm1 units $aunits
sicslist setatt $vm1 klass collimator
sicslist setatt $vm1 long_name $vm1_name
}
make_coll_motor_2 vc01 c1 c2
make_coll_motor_1 vc02 c3
make_coll_motor_1 vc03 c4
make_coll_motor_1 vc04 c5
make_coll_motor_1 vc05 c6
make_coll_motor_1 vc06 c7
make_coll_motor_1 vc07 c8
make_coll_motor_1 vc08 c9
make_coll_motor_1 vc09 c10
# 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 vc01 section_1 c1 c2 $vc_units
make_coll_motor_1 vc02 section_2 c3 $vc_units
make_coll_motor_1 vc03 section_3 c4 $vc_units
make_coll_motor_1 vc04 section_4 c5 $vc_units
make_coll_motor_1 vc05 section_5 c6 $vc_units
make_coll_motor_1 vc06 section_6 c7 $vc_units
make_coll_motor_1 vc07 section_7 c8 $vc_units
make_coll_motor_1 vc08 section_8 c9 $vc_units
make_coll_motor_1 vc09 section_9 c10 $vc_units
unset vc_units
namespace eval guide {
VarMake ::guide::select::section text user
VarMake ::guide::polarizer::in text user
VarMake ::guide::lens::selection text user
#TODO Set aperture size variable.
command select {int:0,1,2,3,4,5,6,7,8,9 section} {
set empty {2 1 1 1 1 1 1 1 2}
set aperture {2 3 3 3 3 3 3 3 4}
set guide {1 2 2 2 2 2 2 2 3}
array set lens {left 1 right 5 none 2}
set target $empty
if {$section > 0} {
set gr [lrange $guide 0 [expr $section -1]]
set er [lrange $empty $section 8]
set target [list $gr $er]
if {[SplitReply [::guide::polarizer::in]] == "yes"} {
lset target 0 3
}
} else {
lset target 8 $lens([SplitReply [::guide::lens::selection]])
}
set fh [open junk.txt w]
for {set i 1} {$i <= 9} {incr i} {
puts $fh "run vc0$i [lindex target [expr {$i-1}]]"
}
close $fh
}
command polarizer {text:yes,no in} {
::guide::polarizer::in $in
}
command lens {text:left,right,none selection} {
::guide::lens::selection $selection
}
}