Commissioning iteration
r2177 | dcl | 2007-10-05 11:55:46 +1000 (Fri, 05 Oct 2007) | 2 lines
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user