Merges from ics1-wombat
r2834 | ffr | 2009-12-09 17:07:45 +1100 (Wed, 09 Dec 2009) | 2 lines
This commit is contained in:
committed by
Douglas Clowes
parent
64ab146a44
commit
c73c4c85c8
@@ -1,6 +1,6 @@
|
||||
# PORT NUMBERS FOR SICS TESTING
|
||||
# $Revision: 1.3 $
|
||||
# $Date: 2007-02-20 01:15:34 $
|
||||
# $Revision: 1.4 $
|
||||
# $Date: 2009-12-09 06:07:45 $
|
||||
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
||||
# Last revision by $Author: ffr $
|
||||
|
||||
@@ -48,87 +48,87 @@ pmc3-taipan 62732/tcp
|
||||
pmc4-taipan 62733/tcp
|
||||
pmc5-taipan 62734/tcp
|
||||
|
||||
telnet-echidna 60000/tcp
|
||||
telnet-echidna 60000/udp
|
||||
interrupt-echidna 60001/udp
|
||||
server-echidna 60002/tcp
|
||||
quieck-echidna 60003/udp
|
||||
sics-telnet-echidna 60000/tcp
|
||||
sics-telnet-echidna 60000/udp
|
||||
sics-interrupt-echidna 60001/udp
|
||||
sics-server-echidna 60002/tcp
|
||||
sics-quieck-echidna 60003/udp
|
||||
|
||||
telnet-val-echidna 60010/tcp
|
||||
telnet-val-echidna 60010/udp
|
||||
interrupt-val-echidna 60011/udp
|
||||
server-val-echidna 60012/tcp
|
||||
quieck-val-echidna 60013/udp
|
||||
sics-telnet-val-echidna 60010/tcp
|
||||
sics-telnet-val-echidna 60010/udp
|
||||
sics-interrupt-val-echidna 60011/udp
|
||||
sics-server-val-echidna 60012/tcp
|
||||
sics-quieck-val-echidna 60013/udp
|
||||
|
||||
telnet-wombat 60100/tcp
|
||||
telnet-wombat 60100/udp
|
||||
interrupt-wombat 60101/udp
|
||||
server-wombat 60102/tcp
|
||||
quieck-wombat 60103/udp
|
||||
sics-telnet-wombat 60100/tcp
|
||||
sics-telnet-wombat 60100/udp
|
||||
sics-interrupt-wombat 60101/udp
|
||||
sics-server-wombat 60102/tcp
|
||||
sics-quieck-wombat 60103/udp
|
||||
|
||||
telnet-val-wombat 60110/tcp
|
||||
telnet-val-wombat 60110/udp
|
||||
interrupt-val-wombat 60111/udp
|
||||
server-val-wombat 60112/tcp
|
||||
quieck-val-wombat 60113/udp
|
||||
sics-telnet-val-wombat 60110/tcp
|
||||
sics-telnet-val-wombat 60110/udp
|
||||
sics-interrupt-val-wombat 60111/udp
|
||||
sics-server-val-wombat 60112/tcp
|
||||
sics-quieck-val-wombat 60113/udp
|
||||
|
||||
telnet-kowari 60300/tcp
|
||||
telnet-kowari 60300/udp
|
||||
interrupt-kowari 60301/udp
|
||||
server-kowari 60302/tcp
|
||||
quieck-kowari 60303/udp
|
||||
sics-telnet-kowari 60300/tcp
|
||||
sics-telnet-kowari 60300/udp
|
||||
sics-interrupt-kowari 60301/udp
|
||||
sics-server-kowari 60302/tcp
|
||||
sics-quieck-kowari 60303/udp
|
||||
|
||||
telnet-val-kowari 60310/tcp
|
||||
telnet-val-kowari 60310/udp
|
||||
interrupt-val-kowari 60311/udp
|
||||
server-val-kowari 60312/tcp
|
||||
quieck-val-kowari 60313/udp
|
||||
sics-telnet-val-kowari 60310/tcp
|
||||
sics-telnet-val-kowari 60310/udp
|
||||
sics-interrupt-val-kowari 60311/udp
|
||||
sics-server-val-kowari 60312/tcp
|
||||
sics-quieck-val-kowari 60313/udp
|
||||
|
||||
telnet-quokka 60400/tcp
|
||||
telnet-quokka 60400/udp
|
||||
interrupt-quokka 60401/udp
|
||||
server-quokka 60402/tcp
|
||||
quieck-quokka 60403/udp
|
||||
sics-telnet-quokka 60400/tcp
|
||||
sics-telnet-quokka 60400/udp
|
||||
sics-interrupt-quokka 60401/udp
|
||||
sics-server-quokka 60402/tcp
|
||||
sics-quieck-quokka 60403/udp
|
||||
|
||||
telnet-val-quokka 60410/tcp
|
||||
telnet-val-quokka 60410/udp
|
||||
interrupt-val-quokka 60411/udp
|
||||
server-val-quokka 60412/tcp
|
||||
quieck-val-quokka 60413/udp
|
||||
sics-telnet-val-quokka 60410/tcp
|
||||
sics-telnet-val-quokka 60410/udp
|
||||
sics-interrupt-val-quokka 60411/udp
|
||||
sics-server-val-quokka 60412/tcp
|
||||
sics-quieck-val-quokka 60413/udp
|
||||
|
||||
telnet-platypus 60500/tcp
|
||||
telnet-platypus 60500/udp
|
||||
interrupt-platypus 60501/udp
|
||||
server-platypus 60502/tcp
|
||||
quieck-platypus 60503/udp
|
||||
sics-telnet-platypus 60500/tcp
|
||||
sics-telnet-platypus 60500/udp
|
||||
sics-interrupt-platypus 60501/udp
|
||||
sics-server-platypus 60502/tcp
|
||||
sics-quieck-platypus 60503/udp
|
||||
|
||||
telnet-val-platypus 60510/tcp
|
||||
telnet-val-platypus 60510/udp
|
||||
interrupt-val-platypus 60511/udp
|
||||
server-val-platypus 60512/tcp
|
||||
quieck-val-platypus 60513/udp
|
||||
sics-telnet-val-platypus 60510/tcp
|
||||
sics-telnet-val-platypus 60510/udp
|
||||
sics-interrupt-val-platypus 60511/udp
|
||||
sics-server-val-platypus 60512/tcp
|
||||
sics-quieck-val-platypus 60513/udp
|
||||
|
||||
telnet-pelican 60600/tcp
|
||||
telnet-pelican 60600/udp
|
||||
interrupt-pelican 60601/udp
|
||||
server-pelican 60602/tcp
|
||||
quieck-pelican 60603/udp
|
||||
sics-telnet-pelican 60600/tcp
|
||||
sics-telnet-pelican 60600/udp
|
||||
sics-interrupt-pelican 60601/udp
|
||||
sics-server-pelican 60602/tcp
|
||||
sics-quieck-pelican 60603/udp
|
||||
|
||||
telnet-val-pelican 60610/tcp
|
||||
telnet-val-pelican 60610/udp
|
||||
interrupt-val-pelican 60611/udp
|
||||
server-val-pelican 60612/tcp
|
||||
quieck-val-pelican 60613/udp
|
||||
sics-telnet-val-pelican 60610/tcp
|
||||
sics-telnet-val-pelican 60610/udp
|
||||
sics-interrupt-val-pelican 60611/udp
|
||||
sics-server-val-pelican 60612/tcp
|
||||
sics-quieck-val-pelican 60613/udp
|
||||
|
||||
telnet-taipan 60700/tcp
|
||||
telnet-taipan 60700/udp
|
||||
interrupt-taipan 60701/udp
|
||||
server-taipan 60702/tcp
|
||||
quieck-taipan 60703/udp
|
||||
sics-telnet-taipan 60700/tcp
|
||||
sics-telnet-taipan 60700/udp
|
||||
sics-interrupt-taipan 60701/udp
|
||||
sics-server-taipan 60702/tcp
|
||||
sics-quieck-taipan 60703/udp
|
||||
|
||||
telnet-val-taipan 60710/tcp
|
||||
telnet-val-taipan 60710/udp
|
||||
interrupt-val-taipan 60711/udp
|
||||
server-val-taipan 60712/tcp
|
||||
quieck-val-taipan 60713/udp
|
||||
sics-telnet-val-taipan 60710/tcp
|
||||
sics-telnet-val-taipan 60710/udp
|
||||
sics-interrupt-val-taipan 60711/udp
|
||||
sics-server-val-taipan 60712/tcp
|
||||
sics-quieck-val-taipan 60713/udp
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
2049
site_ansto/instrument/config/environment/temperature/sct_lakeshore_3xx.tcl
Executable file
2049
site_ansto/instrument/config/environment/temperature/sct_lakeshore_3xx.tcl
Executable file
File diff suppressed because it is too large
Load Diff
@@ -33,8 +33,12 @@ proc property_elements {path indent} {
|
||||
foreach {key value} [string map {= " "} [hlistprop $path tcl]] {
|
||||
if {[string compare -nocase $key "control"] == 0} {continue}
|
||||
lappend proplist "$prefix<property id=\"$key\">\n"
|
||||
foreach v [split $value ,] {
|
||||
lappend proplist "$prefix$prefix<value>$v</value>\n"
|
||||
if {[string compare -nocase $key "help"] == 0} {
|
||||
lappend proplist "$prefix$prefix<value>$value</value>\n"
|
||||
} else {
|
||||
foreach v [split $value ,] {
|
||||
lappend proplist "$prefix$prefix<value>$v</value>\n"
|
||||
}
|
||||
}
|
||||
lappend proplist "$prefix</property>\n"
|
||||
}
|
||||
|
||||
@@ -13,17 +13,21 @@ command SetRadColl {
|
||||
float time
|
||||
float range
|
||||
} {
|
||||
|
||||
catch {
|
||||
set spd [expr 2.0*$range / $time]
|
||||
oct softlowerlim [expr -abs($range/2.0) - 0.5]
|
||||
oct softupperlim [expr abs($range/2.0) + 0.5]
|
||||
oct maxretry 5
|
||||
oct accel 0.25
|
||||
oct speed 0.25
|
||||
oct decel 0.25
|
||||
drive oct [expr abs($range/2.0)]
|
||||
oct speed $spd
|
||||
oct accel $spd
|
||||
oct accel [expr $spd*5]
|
||||
oct decel [expr $spd*5]
|
||||
oct maxretry 0
|
||||
} msg
|
||||
clientput $msg
|
||||
}
|
||||
# SimpleRun
|
||||
command SimpleRun {
|
||||
@@ -31,12 +35,12 @@ float=0:inf steptime
|
||||
int=1:inf numsteps
|
||||
} {
|
||||
|
||||
RadCollOff
|
||||
# RadCollOff
|
||||
histmem mode time
|
||||
histmem preset $steptime
|
||||
newfile HISTOGRAM_XY
|
||||
for {set i 0} {$i < $numsteps} {incr i} {
|
||||
histmem start block
|
||||
hmm countblock
|
||||
save $i
|
||||
}
|
||||
}
|
||||
@@ -49,13 +53,13 @@ int=1:inf numsteps
|
||||
float=0:inf steptime
|
||||
} {
|
||||
|
||||
RadCollOff
|
||||
# RadCollOff
|
||||
histmem mode time
|
||||
histmem preset $steptime
|
||||
newfile HISTOGRAM_XY
|
||||
for {set i 0} {$i < $numsteps} {incr i} {
|
||||
drive $motor [expr $i*$step+$start]
|
||||
histmem start block
|
||||
hmm countblock
|
||||
save $i
|
||||
}
|
||||
}
|
||||
@@ -65,14 +69,16 @@ int=1:inf oscno
|
||||
int=1:inf reps
|
||||
} {
|
||||
|
||||
RadCollOn $oscno
|
||||
# RadCollOn $oscno
|
||||
histmem mode unlimited
|
||||
newfile HISTOGRAM_XY
|
||||
for {set i 0} {$i < $reps} {incr i} {
|
||||
histmem start block
|
||||
oscmd start $oscno
|
||||
hmm countblock
|
||||
save $i
|
||||
}
|
||||
RadCollOff
|
||||
oscmd stop
|
||||
# RadCollOff
|
||||
}
|
||||
# RadCollTimed
|
||||
command RadCollTimed {
|
||||
@@ -105,15 +111,17 @@ int=1:inf numsteps
|
||||
int=1:inf oscno
|
||||
} {
|
||||
|
||||
RadCollOn $oscno
|
||||
# RadCollOn $oscno
|
||||
histmem mode unlimited
|
||||
newfile HISTOGRAM_XY
|
||||
for {set i 0} {$i < $numsteps} {incr i} {
|
||||
drive $motor [expr $i*$step+$start]
|
||||
histmem start block
|
||||
oscmd start $oscno
|
||||
hmm countblock
|
||||
save $i
|
||||
}
|
||||
RadCollOff
|
||||
# RadCollOff
|
||||
oscmd stop
|
||||
}
|
||||
}
|
||||
namespace import ::ajscmds::*
|
||||
|
||||
@@ -30,6 +30,10 @@ proc ::histogram_memory::init_OAT_TABLE {args} {
|
||||
FAT_TABLE -set MULTI_HOST_HISTO_STITCH_OVERLAP 8 MULTI_HOST_HISTO_JOIN_STITCH_ORDER INVERTED
|
||||
OAT_TABLE -set X { 991.5 987.5 } NXC 248 Y { -0.5 3.5 } NYC 128 T { 0 20000 } NTC 1
|
||||
}
|
||||
"double_y_968x128" {
|
||||
FAT_TABLE -set MULTI_HOST_HISTO_STITCH_OVERLAP 8 MULTI_HOST_HISTO_JOIN_STITCH_ORDER INVERTED BNL_STATUS_MASK_MULTI_Y 1000h
|
||||
OAT_TABLE -set X { 991.5 987.5 } NXC 248 Y { -0.5 3.5 } NYC 256 T { 0 20000 } NTC 1
|
||||
}
|
||||
default {
|
||||
# Default to std_968x128
|
||||
FAT_TABLE -set MULTI_HOST_HISTO_STITCH_OVERLAP 8 MULTI_HOST_HISTO_JOIN_STITCH_ORDER INVERTED
|
||||
|
||||
@@ -1,33 +1,89 @@
|
||||
# Test script for multi period acquisition and saving.
|
||||
# latest mods 21 Oct 09 based on info from Ferdi - ajs
|
||||
|
||||
set nos_periods 1
|
||||
set n_periods 1
|
||||
|
||||
proc open_hist_file {} {
|
||||
newfile HISTOGRAM_XY
|
||||
}
|
||||
|
||||
proc histset_XY {} {
|
||||
set histstr "proc open_hist_file {} {newfile HISTOGRAM_XY}"
|
||||
eval $histstr
|
||||
}
|
||||
|
||||
proc histset_XYperiod {} {
|
||||
set histstr "proc open_hist_file {} {newfile HISTOPERIOD_XY}"
|
||||
eval $histstr
|
||||
}
|
||||
|
||||
proc histset_XYT {} {
|
||||
set histstr "proc open_hist_file {} {newfile HISTOGRAM_XYT}"
|
||||
eval $histstr
|
||||
}
|
||||
|
||||
proc histset_XYTperiod {} {
|
||||
set histstr "proc open_hist_file {} {newfile HISTOPERIOD_XYT}"
|
||||
}
|
||||
|
||||
proc histmem_period_single { } {
|
||||
# Because bugs may not yet have been corrected in hmm_configuration_common_1.tcl,
|
||||
# apply the default settings before attempting del/clear.
|
||||
global nos_periods
|
||||
set nos_periods 1
|
||||
global n_periods
|
||||
set n_periods 1
|
||||
FAT_TABLE -set NOS_PERIODS 1
|
||||
FAT_TABLE -del NOS_PERIODS
|
||||
BAT_TABLE -set PERIOD_INDICES { 0 } NO_BAT_ENTRIES 1 NO_BAT_PERIODS 1 NO_REPEAT_ENTRY 0 NO_REPEAT_TABLE 0 NO_EXECUTE_TABLE 0
|
||||
BAT_TABLE -clear
|
||||
# FAT_TABLE -del NOS_PERIODS
|
||||
# BAT_TABLE -set PERIOD_INDICES { 0 } NO_BAT_ENTRIES 1 NO_BAT_PERIODS 1 NO_REPEAT_ENTRY 0 NO_REPEAT_TABLE 0 NO_EXECUTE_TABLE 0
|
||||
BAT_TABLE -set PERIOD_INDICES { 0 } NO_BAT_ENTRIES 1 NO_BAT_PERIODS 1 NO_REPEAT_ENTRY 1 NO_REPEAT_TABLE 1 NO_EXECUTE_TABLE 1
|
||||
histmem loadconf
|
||||
# BAT_TABLE -clear
|
||||
histset_XY
|
||||
}
|
||||
Publish histmem_period_single User
|
||||
|
||||
proc histmem_period_sequence { Np Nf } {
|
||||
# orig version of this pre Oct 09
|
||||
#
|
||||
#proc histmem_period_sequence { Np Nf } {
|
||||
# Note - sequence needs to be at least 2 periods.
|
||||
global nos_periods
|
||||
set nos_periods $Np
|
||||
FAT_TABLE -set NOS_PERIODS $Np
|
||||
BAT_TABLE -set PERIOD_INDICES { 0 1 } NO_BAT_ENTRIES $Np NO_BAT_PERIODS $Np NO_REPEAT_ENTRY $Nf NO_REPEAT_TABLE 1 NO_EXECUTE_TABLE 1
|
||||
# global n_periods
|
||||
# set n_periods $Np
|
||||
# set fatstr "FAT_TABLE -set NOS_PERIODS $Np"
|
||||
# set fatstr2 "FAT_TABLE -set PERIOD_INDICES { 0 1 }"
|
||||
# set batstr "BAT_TABLE -set NO_BAT_ENTRIES $Np NO_BAT_PERIODS $Np NO_REPEAT_ENTRY $Nf NO_REPEAT_TABLE 1 NO_EXECUTE_TABLE 1"
|
||||
# eval $fatstr
|
||||
# eval $fatstr2
|
||||
# eval $batstr
|
||||
# histmem loadconf
|
||||
#
|
||||
#}
|
||||
|
||||
proc histmem_period_sequence {Np} {
|
||||
global n_periods
|
||||
set n_periods $Np
|
||||
FAT_TABLE -set NOS_PERIODS $Np
|
||||
BAT_TABLE -set PERIOD_INDICES { 0 } NO_BAT_ENTRIES 1 NO_BAT_PERIODS 1 NO_REPEAT_ENTRY 1 NO_REPEAT_TABLE 1 NO_EXECUTE_TABLE $Np
|
||||
histmem loadconf
|
||||
histset_XYperiod
|
||||
}
|
||||
|
||||
proc histmem_period_sequence_off {} {
|
||||
global n_periods
|
||||
set n_periods $Np
|
||||
FAT_TABLE -set NOS_PERIODS 1
|
||||
BAT_TABLE -set PERIOD_INDICES { 0 } NO_BAT_ENTRIES 1 NO_BAT_PERIODS 1 NO_REPEAT_ENTRY 0 NO_REPEAT_TABLE 0 NO_EXECUTE_TABLE 0
|
||||
histmem loadconf
|
||||
histset_XYperiod
|
||||
}
|
||||
Publish histmem_period_sequence User
|
||||
|
||||
|
||||
|
||||
|
||||
proc histmem_save_period_sequence { } {
|
||||
global nos_periods
|
||||
newfile HISTOGRAM_XYT
|
||||
for { set i 0 } { $i < $nos_periods } { incr i } {
|
||||
hmm configure read_data_period_number $i
|
||||
global n_periods
|
||||
open_hist_file
|
||||
for { set i 0 } { $i < $n_periods } { incr i } {
|
||||
# hmm configure read_data_period_number $i
|
||||
save $i
|
||||
}
|
||||
}
|
||||
@@ -42,6 +98,7 @@ proc histmem_period_strobo {Freq Bins} {
|
||||
# OAT_TABLE -set T { 0 $bintime } NTC $Bins
|
||||
eval $oatstr
|
||||
histmem loadconf
|
||||
histset_XYT
|
||||
}
|
||||
Publish histmem_period_strobo User
|
||||
|
||||
@@ -49,6 +106,7 @@ proc histmem_strobo_off {} {
|
||||
histmem fsrce INTERNAL
|
||||
OAT_TABLE -set T { 0 200000 } NTC 1
|
||||
histmem loadconf
|
||||
histset_XY
|
||||
}
|
||||
Publish histmem_strobo_off User
|
||||
|
||||
@@ -69,8 +127,8 @@ proc histmem_acquire_period_sequence { Np Nf } {
|
||||
|
||||
# clientput "tc1 reading is: " [tc1 get]
|
||||
|
||||
global nos_periods
|
||||
for { set i 0 } { $i < $nos_periods } { incr i } {
|
||||
global n_periods
|
||||
for { set i 0 } { $i < $n_periods } { incr i } {
|
||||
# after $dlytime
|
||||
# set current_period -1
|
||||
# while { $current_period < $i } {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
set ephi_Home 6647698
|
||||
set echi_Home 8919294
|
||||
set eom_Home 22960659
|
||||
set eom_Home 23165482
|
||||
|
||||
# Sample Tilt 1, euler omega stage
|
||||
Motor eom $motor_driver_type [params \
|
||||
@@ -30,8 +30,8 @@ Motor echi $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis B\
|
||||
units degrees\
|
||||
hardlowerlim -20\
|
||||
hardupperlim 95\
|
||||
hardlowerlim -32\
|
||||
hardupperlim 97\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
|
||||
@@ -32,11 +32,14 @@ if {$sim_mode == "true"} {
|
||||
}
|
||||
|
||||
#Measured absolute encoder reading at home position
|
||||
set mx_Home 7464891
|
||||
#set mx_Home 7464891
|
||||
set mx_Home 23263535
|
||||
set mom_Home 9274794
|
||||
set mtth_Home 19927837
|
||||
set mphi_Home 7613516
|
||||
set mchi_Home 9050090
|
||||
#set mphi_Home 7613516
|
||||
set mphi_Home 27847793
|
||||
#set mchi_Home 9050090
|
||||
set mchi_Home 25561619
|
||||
set my_Home 6767221
|
||||
set som_Home 17214054
|
||||
set stth_Home 2896180
|
||||
@@ -241,7 +244,7 @@ Motor mtth $motor_driver_type [params \
|
||||
asyncqueue mc1\
|
||||
axis F\
|
||||
units degrees\
|
||||
hardlowerlim 45\
|
||||
hardlowerlim 40.7\
|
||||
hardupperlim 120.5\
|
||||
maxSpeed 0.2\
|
||||
maxAccel 0.2\
|
||||
@@ -253,7 +256,7 @@ Motor mtth $motor_driver_type [params \
|
||||
absEnc 1\
|
||||
absEncHome $mtth_Home\
|
||||
cntsPerX -93207]
|
||||
mtth softlowerlim 45
|
||||
mtth softlowerlim 40.75
|
||||
mtth softupperlim 120
|
||||
mtth home 90
|
||||
mtth speed 0.2
|
||||
@@ -281,7 +284,7 @@ Motor som $motor_driver_type [params \
|
||||
units degrees\
|
||||
hardlowerlim -110\
|
||||
hardupperlim 160\
|
||||
maxSpeed 1\
|
||||
maxSpeed 5\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX 12500\
|
||||
@@ -299,7 +302,7 @@ Motor stth $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis F\
|
||||
units degrees\
|
||||
hardlowerlim -120\
|
||||
hardlowerlim 5\
|
||||
hardupperlim 30\
|
||||
maxSpeed 0.5\
|
||||
maxAccel 0.1\
|
||||
@@ -308,7 +311,7 @@ Motor stth $motor_driver_type [params \
|
||||
absEnc 1\
|
||||
absEncHome $stth_Home\
|
||||
cntsPerX -93207]
|
||||
stth softlowerlim -120
|
||||
stth softlowerlim 5
|
||||
stth softupperlim 30
|
||||
stth home 0
|
||||
stth speed 0.5
|
||||
@@ -323,16 +326,16 @@ Motor oct $motor_driver_type [params \
|
||||
axis G\
|
||||
units degrees\
|
||||
hardlowerlim -2\
|
||||
hardupperlim 2\
|
||||
maxSpeed 1.0\
|
||||
maxAccel 1.0\
|
||||
maxDecel 1.0\
|
||||
hardupperlim 4.2\
|
||||
maxSpeed 2.0\
|
||||
maxAccel 5.0\
|
||||
maxDecel 5.0\
|
||||
stepsPerX 56762\
|
||||
absEnc 1\
|
||||
absEncHome $oct_Home\
|
||||
cntsPerX -465]
|
||||
oct softlowerlim -2
|
||||
oct softupperlim 2
|
||||
oct softupperlim 4
|
||||
oct home 0
|
||||
oct speed 0.5
|
||||
oct precision 0.01
|
||||
@@ -373,17 +376,17 @@ Motor mf2 $motor_driver_type [params \
|
||||
axis A\
|
||||
units degrees\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 1\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
hardupperlim 2\
|
||||
maxSpeed 0.1\
|
||||
maxAccel 0.1\
|
||||
maxDecel 0.1\
|
||||
stepsPerX 22000\
|
||||
absEnc 1\
|
||||
absEncHome 350\
|
||||
cntsPerX 14000]
|
||||
setHomeandRange -motor mf2 -home 0 -lowrange 0 -uprange 1
|
||||
mf2 speed 0.1
|
||||
mf2 precision 0.01
|
||||
setHomeandRange -motor mf2 -home 0 -lowrange 0 -uprange 2
|
||||
mf2 speed 0.02
|
||||
mf2 precision 0.005
|
||||
mf2 part monochromator
|
||||
mf2 long_name mf2
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# $Revision: 1.31 $
|
||||
# $Date: 2009-11-24 22:56:46 $
|
||||
# $Revision: 1.32 $
|
||||
# $Date: 2009-12-09 06:07:45 $
|
||||
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
||||
# Last revision by: $Author: ffr $
|
||||
|
||||
@@ -18,7 +18,6 @@ source server_config.tcl
|
||||
# INSTRUMENT SPECIFIC CONFIGURATION
|
||||
|
||||
fileeval $cfPath(motors)/motor_configuration.tcl
|
||||
|
||||
source instrument_vars.tcl
|
||||
|
||||
fileeval $cfPath(source)/source.tcl
|
||||
@@ -38,8 +37,20 @@ fileeval $cfPath(anticollider)/anticollider.tcl
|
||||
fileeval $cfPath(hmm)/hmm_rapid.tcl
|
||||
source gumxml.tcl
|
||||
|
||||
::environment::temperature::add_ls340 tc1 1
|
||||
::environment::temperature::add_ls340 tc2 2
|
||||
|
||||
# Drivers for Lakeshore Temperature Controller
|
||||
# old Lakeshore driver (c-code)
|
||||
::environment::temperature::add_ls340 tc1 1
|
||||
# ::environment::temperature::add_ls340 tc2 2
|
||||
|
||||
# New Lakeshore series driver for models 340 and 336 - (tcl-code, version 20090824) - beta status
|
||||
# driverName shortName IP-address portOnMoxa temperatureTolerance LakeshoreModel
|
||||
# ffr 2009-11-11: NOTE I've added a line terminator argument to the ls3xx setup.
|
||||
# You need to set the line termintator to either "\r\n" for CRLF or "\r" for CR
|
||||
# add_ls3xx tc1 137.157.201.85 7777 "\r\n" 0.5 336
|
||||
# add_ls3xx tc2 137.157.201.85 4002 "\r\n" 0.5 340
|
||||
|
||||
|
||||
#::environment::temperature::add_west400
|
||||
server_init
|
||||
###########################################
|
||||
|
||||
@@ -3,6 +3,7 @@ config/anticollider/anticollider_common.tcl
|
||||
config/plc/plc_common_1.tcl
|
||||
config/counter/counter_common_1.tcl
|
||||
config/environment/temperature/sct_lakeshore_3xx.tcl
|
||||
config/environment/magneticField/sct_bruker_BEC1.tcl
|
||||
config/hipadaba/hipadaba_configuration_common.tcl
|
||||
config/hipadaba/common_instrument_dictionary.tcl
|
||||
config/hipadaba/instdict_specification.tcl
|
||||
|
||||
@@ -16,55 +16,72 @@ namespace eval motor {
|
||||
# @param bs beamstop, 1,2,3,4,5 or 6
|
||||
# @param bx beam position in detector coordinates
|
||||
# @param bz beam position in detector coordinates
|
||||
# Origin of beamstop coordinate system is (bsxo, bszo) relative to frame
|
||||
# Origin of detector coordinate system is (0, 0) relative to frame
|
||||
# Given
|
||||
# (Xb,Zb) = beam position in frame coordinates
|
||||
# bx = beam x pos in detector coordinates
|
||||
# bz = beam z pos in detector coordinates
|
||||
# detoff = detector x pos in detector coordinates
|
||||
# bsx = beamstop x pos in beamstop coordinates
|
||||
# bsz = beamstop z pos in beamstop coordinates
|
||||
# bszo = beamstop z origin relative to frame
|
||||
# (bx+detoff, bz) = (Xb,Zb)
|
||||
# (bsx, bsz+bszo) = (Xb,Zb)
|
||||
# (Xbf,Zbf) = beam pos in frame coords
|
||||
# (Xbd,Zbd) = beam pos in detector coords
|
||||
# (Xbbs, Zbbs) = beam pos in beamstop coords
|
||||
# (Xdf,Zdf) = detector pos in frame coords
|
||||
# (Xbsf,Zbsf) = beamstop pos in frame coords
|
||||
#
|
||||
# (Xbf,Zbf) = (Xdf+Xbd, Zdf+Zbd) = (Xbsf+Xbbs, Zbsf+Zbbs)
|
||||
# Origin of detector coords = frame origin
|
||||
#
|
||||
# Detector and beamstop motor readings with beamstop disk centers
|
||||
# overlapping over detector center mark.
|
||||
# Xdf = 264.542 (7283813) Zdf = 0
|
||||
# Xbbs = 296.291 (8054270)
|
||||
# Zbbs = 259.641 (13488244)
|
||||
# Xbd = dethw, Zbd = (dethh)
|
||||
#
|
||||
# 264.542+dethw = Xbsf+296.291
|
||||
# 0+dethh = Zbsf+259.641
|
||||
#
|
||||
# Xbsf = -31.749 + dethw, Zbsf = -259.641 + dethh
|
||||
proc selbs {bs {bx "UNDEF"} {bz "UNDEF"}} {
|
||||
set bsdriving false
|
||||
set dethw [expr {[SplitReply detector_active_height_mm]/2.0}]
|
||||
set dethh [expr {[SplitReply detector_active_width_mm]/2.0}]
|
||||
set bsxo -33.112 + $dethw
|
||||
set bszo -329.440 + $dethh
|
||||
set dethw [expr {[SplitReply [detector_active_height_mm]]/2.0}]
|
||||
set dethh [expr {[SplitReply [detector_active_width_mm]]/2.0}]
|
||||
set Xbsf [expr -31.749 + $dethw]
|
||||
set Zbsf [expr -259.641 + $dethh]
|
||||
array set bsl [subst {
|
||||
1 [SplitReply [bs1 softlowerlim]]
|
||||
2 [SplitReply [bs2 softlowerlim]]
|
||||
3 [SplitReply [bs3 softlowerlim]]
|
||||
4 [SplitReply [bs4 softlowerlim]]
|
||||
5 [SplitReply [bs5 softlowerlim]]
|
||||
6 [SplitReply [bs6 softlowerlim]]
|
||||
}]
|
||||
if [ catch {
|
||||
switch $bs {
|
||||
"1" {
|
||||
set bsmot "bs1"
|
||||
set bs_target 92.79
|
||||
set bsdownCmd "drive bs2 0 bs3 0 bs4 0 bs5 0 bs6 0"
|
||||
set bsdownCmd "drive bs2 $bsl(2) bs3 $bsl(3) bs4 $bsl(4) bs5 $bsl(5) bs6 $bsl(6)"
|
||||
}
|
||||
"2" {
|
||||
set bsmot "bs2"
|
||||
set bs_target 86.20
|
||||
set bsdownCmd "drive bs1 0 bs3 0 bs4 0 bs5 0 bs6 0"
|
||||
set bsdownCmd "drive bs1 $bsl(1) bs3 $bsl(3) bs4 $bsl(4) bs5 $bsl(5) bs6 $bsl(6)"
|
||||
}
|
||||
"3" {
|
||||
set bsmot "bs3"
|
||||
set bs_target 92.54
|
||||
set bsdownCmd "drive bs2 0 bs1 0 bs4 0 bs5 0 bs6 0"
|
||||
set bsdownCmd "drive bs2 $bsl(2) bs1 $bsl(1) bs4 $bsl(4) bs5 $bsl(5) bs6 $bsl(6)"
|
||||
}
|
||||
"4" {
|
||||
set bsmot "bs4"
|
||||
set bs_target 86.66
|
||||
set bsdownCmd "drive bs2 0 bs3 0 bs1 0 bs5 0 bs6 0"
|
||||
set bsdownCmd "drive bs2 $bsl(2) bs3 $bsl(3) bs1 $bsl(1) bs5 $bsl(5) bs6 $bsl(6)"
|
||||
}
|
||||
"5" {
|
||||
set bsmot "bs5"
|
||||
set bs_target 92.50
|
||||
set bsdownCmd "drive bs2 0 bs3 0 bs4 0 bs1 0 bs6 0"
|
||||
set bsdownCmd "drive bs2 $bsl(2) bs3 $bsl(3) bs4 $bsl(4) bs1 $bsl(1) bs6 $bsl(6)"
|
||||
}
|
||||
"6" {
|
||||
set bsmot "bs6"
|
||||
set bs_target 85.87
|
||||
set bsdownCmd "drive bs2 0 bs3 0 bs4 0 bs5 0 bs1 0"
|
||||
set bsdownCmd "drive bs2 $bsl(2) bs3 $bsl(3) bs4 $bsl(4) bs5 $bsl(5) bs1 $bsl(1)"
|
||||
}
|
||||
default {
|
||||
error "beamstop selection must be an integer from 1 to 6"
|
||||
@@ -76,8 +93,8 @@ proc selbs {bs {bx "UNDEF"} {bz "UNDEF"}} {
|
||||
if {$bx == "UNDEF" || $bz == "UNDEF"} {
|
||||
statemon start selbs
|
||||
set bsdriving true
|
||||
drive $bsmot $bs_target
|
||||
BeamStop -1
|
||||
drive $bsmot $bs_target
|
||||
eval $bsdownCmd
|
||||
BeamStop $bs
|
||||
set bsdriving false
|
||||
@@ -88,13 +105,13 @@ proc selbs {bs {bx "UNDEF"} {bz "UNDEF"}} {
|
||||
error "beam coordinates must be floats"
|
||||
}
|
||||
}
|
||||
set bsx_target [expr {$bx-$bsxo+$detoff_val}]
|
||||
set bsz_target [expr {$bz-$bszo}]
|
||||
set bsx_target [expr {$bx-$Xbsf+$detoff_val}]
|
||||
set bsz_target [expr {$bz-$Zbsf}]
|
||||
|
||||
statemon start selbs
|
||||
set bsdriving true
|
||||
drive $bsmot $bs_target bsx $bsx_target bsz $bsz_target
|
||||
BeamStop -1
|
||||
drive $bsmot $bs_target bsx $bsx_target bsz $bsz_target
|
||||
eval $bsdownCmd
|
||||
BeamStop $bs
|
||||
set bsdriving false
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# $Revision: 1.29 $
|
||||
# $Date: 2009-12-03 02:04:57 $
|
||||
# $Revision: 1.30 $
|
||||
# $Date: 2009-12-09 06:07:45 $
|
||||
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
||||
# Last revision by: $Author: ffr $
|
||||
|
||||
@@ -76,12 +76,20 @@ set att_Home 24782942
|
||||
set bsx_Home 7578346
|
||||
#set bsz_Home 10143000
|
||||
set bsz_Home 10568857
|
||||
set bs1_Home 13219
|
||||
set bs2_Home 2506
|
||||
set bs3_Home 22391
|
||||
set bs4_Home 15287
|
||||
set bs5_Home 6283
|
||||
set bs6_Home 19123
|
||||
#set bs1_Home 13219
|
||||
#set bs2_Home 2506
|
||||
#set bs3_Home 22391
|
||||
#set bs4_Home 15287
|
||||
#set bs5_Home 6283
|
||||
#set bs6_Home 19123
|
||||
|
||||
set bs1_Home 21298
|
||||
set bs2_Home 9942
|
||||
set bs3_Home 30928
|
||||
set bs4_Home 22111
|
||||
set bs5_Home 14558
|
||||
set bs6_Home 27251
|
||||
|
||||
set bs_cntsPerX [expr 32768.0/360.0]
|
||||
set bs_stepsPerX [expr -25000.0*160.0/360.0]
|
||||
set pol_Home 7500000
|
||||
@@ -406,8 +414,8 @@ Motor detoff $motor_driver_type [params \
|
||||
port pmc1-quokka\
|
||||
axis H\
|
||||
units mm\
|
||||
hardlowerlim -50\
|
||||
hardupperlim 500\
|
||||
hardlowerlim -9\
|
||||
hardupperlim 465\
|
||||
maxSpeed 10\
|
||||
maxAccel 1\
|
||||
maxDecel 10\
|
||||
@@ -417,14 +425,14 @@ Motor detoff $motor_driver_type [params \
|
||||
cntsPerX [expr 8192.0/5.08]]
|
||||
detoff part detector
|
||||
detoff long_name detector_x
|
||||
detoff softlowerlim -50
|
||||
detoff softupperlim 500
|
||||
detoff softlowerlim 0
|
||||
detoff softupperlim 450
|
||||
detoff home 0
|
||||
|
||||
############################
|
||||
# Motor Controller 2
|
||||
# Motor Controller 2
|
||||
# Motor Controller 2
|
||||
# Motor Controller 25
|
||||
############################
|
||||
#:TP at HOME
|
||||
#
|
||||
@@ -834,7 +842,7 @@ Motor bsx $motor_driver_type [params \
|
||||
axis A\
|
||||
units mm\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 500\
|
||||
hardupperlim 317\
|
||||
maxSpeed 5\
|
||||
maxAccel 2\
|
||||
maxDecel 5\
|
||||
@@ -845,7 +853,7 @@ Motor bsx $motor_driver_type [params \
|
||||
bsx part detector
|
||||
bsx long_name bsx
|
||||
bsx softlowerlim 0
|
||||
bsx softupperlim 500
|
||||
bsx softupperlim 310
|
||||
bsx speed 5
|
||||
bsx home 0
|
||||
|
||||
@@ -857,7 +865,7 @@ Motor bsz $motor_driver_type [params \
|
||||
axis B\
|
||||
units mm\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 400\
|
||||
hardupperlim 280\
|
||||
maxSpeed 5\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
@@ -868,7 +876,7 @@ Motor bsz $motor_driver_type [params \
|
||||
bsz part detector
|
||||
bsz long_name bsz
|
||||
bsz softlowerlim 0
|
||||
bsz softupperlim 400
|
||||
bsz softupperlim 275
|
||||
bsz home 0
|
||||
|
||||
# Largest beamstop
|
||||
@@ -876,8 +884,8 @@ Motor bs1 $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis C\
|
||||
units degrees\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 100\
|
||||
hardlowerlim 9\
|
||||
hardupperlim 95\
|
||||
maxSpeed 2\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
@@ -887,9 +895,9 @@ Motor bs1 $motor_driver_type [params \
|
||||
cntsPerX $bs_cntsPerX]
|
||||
bs1 part detector
|
||||
bs1 long_name bs1
|
||||
bs1 softlowerlim 0
|
||||
bs1 softupperlim 100
|
||||
bs1 home 0
|
||||
bs1 softlowerlim 11
|
||||
bs1 softupperlim 95
|
||||
bs1 home 90
|
||||
bs1 precision 0.05
|
||||
sicslist setatt bs1 link parameters_group
|
||||
|
||||
@@ -897,8 +905,8 @@ Motor bs2 $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis D\
|
||||
units degrees\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 100\
|
||||
hardlowerlim 6\
|
||||
hardupperlim 95\
|
||||
maxSpeed 2\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
@@ -908,9 +916,9 @@ Motor bs2 $motor_driver_type [params \
|
||||
cntsPerX $bs_cntsPerX]
|
||||
bs2 part detector
|
||||
bs2 long_name bs2
|
||||
bs2 softlowerlim 0
|
||||
bs2 softupperlim 100
|
||||
bs2 home 0
|
||||
bs2 softlowerlim 7
|
||||
bs2 softupperlim 95
|
||||
bs2 home 90
|
||||
bs2 precision 0.05
|
||||
sicslist setatt bs2 link parameters_group
|
||||
|
||||
@@ -918,8 +926,8 @@ Motor bs3 $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis E\
|
||||
units degrees\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 100\
|
||||
hardlowerlim 9\
|
||||
hardupperlim 95\
|
||||
maxSpeed 2\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
@@ -929,9 +937,9 @@ Motor bs3 $motor_driver_type [params \
|
||||
cntsPerX $bs_cntsPerX]
|
||||
bs3 part detector
|
||||
bs3 long_name bs3
|
||||
bs3 softlowerlim 0
|
||||
bs3 softupperlim 100
|
||||
bs3 home 0
|
||||
bs3 softlowerlim 11
|
||||
bs3 softupperlim 95
|
||||
bs3 home 90
|
||||
bs3 precision 0.05
|
||||
sicslist setatt bs3 link parameters_group
|
||||
|
||||
@@ -939,8 +947,8 @@ Motor bs4 $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis F\
|
||||
units degrees\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 100\
|
||||
hardlowerlim 6\
|
||||
hardupperlim 95\
|
||||
maxSpeed 2\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
@@ -950,9 +958,9 @@ Motor bs4 $motor_driver_type [params \
|
||||
cntsPerX $bs_cntsPerX]
|
||||
bs4 part detector
|
||||
bs4 long_name bs4
|
||||
bs4 softlowerlim 0
|
||||
bs4 softupperlim 100
|
||||
bs4 home 0
|
||||
bs4 softlowerlim 7
|
||||
bs4 softupperlim 95
|
||||
bs4 home 90
|
||||
bs4 precision 0.05
|
||||
sicslist setatt bs4 link parameters_group
|
||||
|
||||
@@ -960,8 +968,8 @@ Motor bs5 $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis G\
|
||||
units degrees\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 100\
|
||||
hardlowerlim 9\
|
||||
hardupperlim 95\
|
||||
maxSpeed 2\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
@@ -971,9 +979,9 @@ Motor bs5 $motor_driver_type [params \
|
||||
cntsPerX $bs_cntsPerX]
|
||||
bs5 part detector
|
||||
bs5 long_name bs5
|
||||
bs5 softlowerlim 0
|
||||
bs5 softupperlim 100
|
||||
bs5 home 0
|
||||
bs5 softlowerlim 11
|
||||
bs5 softupperlim 95
|
||||
bs5 home 90
|
||||
bs5 precision 0.05
|
||||
sicslist setatt bs5 link parameters_group
|
||||
|
||||
@@ -981,8 +989,8 @@ Motor bs6 $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis H\
|
||||
units degrees\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 100\
|
||||
hardlowerlim 6\
|
||||
hardupperlim 95\
|
||||
maxSpeed 2\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
@@ -992,9 +1000,9 @@ Motor bs6 $motor_driver_type [params \
|
||||
cntsPerX $bs_cntsPerX]
|
||||
bs6 part detector
|
||||
bs6 long_name bs6
|
||||
bs6 softlowerlim 0
|
||||
bs6 softupperlim 100
|
||||
bs6 home 0
|
||||
bs6 softlowerlim 7
|
||||
bs6 softupperlim 95
|
||||
bs6 home 90
|
||||
bs6 precision 0.05
|
||||
sicslist setatt bs6 link parameters_group
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
set currVelSel "two"
|
||||
set currVelSel 43
|
||||
|
||||
namespace eval ::scobj::velocity_selector {
|
||||
variable blocked_speeds
|
||||
@@ -7,7 +7,7 @@ namespace eval ::scobj::velocity_selector {
|
||||
|
||||
set ::currVelSel [string tolower $::currVelSel]
|
||||
switch $::currVelSel {
|
||||
"one" {
|
||||
40 {
|
||||
set velsel_IP "137.157.202.73"
|
||||
set velsel_port 10000
|
||||
set m_dTwistAngle 48.30
|
||||
@@ -24,7 +24,7 @@ namespace eval ::scobj::velocity_selector {
|
||||
28301 inf
|
||||
}
|
||||
}
|
||||
"two" {
|
||||
43 {
|
||||
# dc2-quokka.nbi.ansto.gov.au
|
||||
set velsel_IP "137.157.202.74"
|
||||
set velsel_port 10000
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Some useful functions for SICS configuration.
|
||||
|
||||
# $Revision: 1.22 $
|
||||
# $Date: 2009-11-24 22:56:49 $
|
||||
# $Revision: 1.23 $
|
||||
# $Date: 2009-12-09 06:07:45 $
|
||||
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
||||
# Last revision by $Author: ffr $
|
||||
|
||||
@@ -871,6 +871,47 @@ proc hsibPath {sibling} {
|
||||
}
|
||||
proc hsibPath {sibling} {
|
||||
set hpath [sct]
|
||||
return [file dirname $hpath]/$sibling
|
||||
}
|
||||
|
||||
##
|
||||
# @brief Handle exceptions caught by a 'catch' command.
|
||||
# Note: You must use 'error' not 'return -code error' to
|
||||
# raise errors from within a catch block.
|
||||
#
|
||||
# @param status, the status returned by the 'catch' command.
|
||||
# @param message, the message set by the 'catch' command.
|
||||
#
|
||||
# Call this as the last command in the command block or
|
||||
# for loop which encloses the 'catch'
|
||||
proc handle_exception {status message} {
|
||||
switch $status {
|
||||
0 {
|
||||
# TCL_OK, This is raised when you just drop out of the
|
||||
# bottom of a 'catch' command.
|
||||
return -code ok
|
||||
}
|
||||
1 {
|
||||
# TCL_ERROR
|
||||
return -code error "([info level -1]) $message"
|
||||
}
|
||||
2 {
|
||||
# TCL_RETURN
|
||||
return -code return "$message"
|
||||
}
|
||||
3 {
|
||||
# TCL_BREAK
|
||||
return -code break
|
||||
}
|
||||
4 {
|
||||
# TCL_CONTINUE
|
||||
return -code continue
|
||||
}
|
||||
default {
|
||||
# Propogate user defined return codes with message
|
||||
return -code $status "$message"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace import ::utility::*;
|
||||
|
||||
Reference in New Issue
Block a user