Merged new hdb and nexus code.

r2099 | ffr | 2007-07-22 15:23:41 +1000 (Sun, 22 Jul 2007) | 2 lines
This commit is contained in:
Ferdi Franceschini
2007-07-22 15:23:41 +10:00
committed by Douglas Clowes
parent 4e407d0a73
commit 8770acc191
37 changed files with 2404 additions and 645 deletions

View File

@@ -1,7 +1,10 @@
config/plc/plc_common_1.tcl
config/counter/counter_common_1.tcl
config/hipadaba/common_hipadaba_configuration.tcl
config/hipadaba/hipadaba_configuration_common.tcl
config/hipadaba/common_instrument_dictionary.tcl
config/hipadaba/instdict_specification.tcl
config/hmm/hmm_configuration_common_1.tcl
config/hmm/anstohm_linked.xml
config/scan/scan_common_1.hdd
config/scan/scan_common_1.tcl
config/nexus/nxscripts_common_1.tcl

View File

@@ -1,15 +1,4 @@
#START SERVER CONFIGURATION SECTION
set sicsroot /usr/local/sics
source dmc2280_util.tcl
source server_config.tcl
#END SERVER CONFIGURATION SECTION
########################################
# INSTRUMENT SPECIFIC CONFIGURATION
VarMake Instrument Text Internal
Instrument Platypus
Instrument lock
if 0 {
# Chopper NCS013 communications
set chopper_controller(host) 137.157.202.130
set chopper_controller(port) 10000
@@ -27,3 +16,11 @@ MakeChopper chopperController tcpdocho [params \
password $chopper_controller(password) \
]
ChopperAdapter chspeed chopperController speed 0 10
}
namespace eval ::chopper {
command set_freq {float: frequency} {
for {set i 0} {$i < $frequency} {incr i} {
clientput chop
}
}
}

View File

@@ -0,0 +1,17 @@
set sim_mode [SplitReply [counter_simulation]]
if {$sim_mode == "true"} {
MakeCounter bm SIM 0.0;
} else {
# Make and configure an ANSTO beam monitor counter.
# This must be sourced before the hmm_configuration.tcl until we separate the scan setup from the hmm setup
MakeCounter bm anstomonitor [ params host "das1-[SplitReply [instrument]]" port "30000" ]
}
source $cfPath(counter)/counter_common_1.tcl
unset sim_mode
## TODO Put all the counter macros in the counter namespace
namespace eval counter {
proc set_sobj_attributes {} {
}
}

View File

@@ -1 +1 @@
source $cfPath(hipadaba)/common_hipadaba_configuration.tcl
source $cfPath(hipadaba)/hipadaba_configuration_common.tcl

View File

@@ -0,0 +1,84 @@
set sim_mode [SplitReply [hmm_simulation]]
if {$sim_mode == "true"} {
MakeHM hmm SIM;
namespace eval histogram_memory {
proc hmc {_start _preset _mode _pause} {
bm mode $_mode;
bm preset $_preset;
hmm countblock;
}
}
} else {
MakeHM hmm anstohttp;
MakeHMControl_ANSTO hmc bm hmm;
}
source $cfPath(hmm)/hmm_configuration_common_1.tcl
if {$sim_mode == "true"} {
proc ::histogram_memory::hmm_initialize {} {
hmm configure hmaddress http://das1-[SplitReply [instrument]]:8080;
hmm configure username spy;
hmm configure password 007;
hmm configure hmDataPath ../HMData;
}
}
# Configure to upload a complete configuration to the histogram server.
# In this case it's the main config file plus the FAT, BAT and OAT files
# in the same direcory as the SICS executable (for this example).
# Alternatives:
# - A partial config could be uploaded instead - e.g. just the main config file,
# in that case the main config file points to a set of FAT, BAT OAT files
# located on the server.
# - The histogram server could configure itself from a config file set
# kept on the local file system (not automated presently, manual control only)
# - Or, no configuration at all could be uploaded, the
# histogram server can configure itself using its default config files.
proc ::histogram_memory::setmode {mode} {
hmm_mode $mode;
set sim_mode [SplitReply [hmm_simulation]];
switch $mode {
pulser {
if {$sim_mode == "true"} {
hmm configure oat_nyc_eff 1024;
hmm configure oat_nxc_eff 64;
hmm configure oat_ntc_eff 1;
}
_hmm_hor_channel_name tube_pair_number
_hmm_hor_axis tube_pair_number
_hmm_hor_axis_alias dcolindex
_hmm_vert_axis vertical_channel_number
_hmm_vert_axis_alias drowindex
hmm configure hmconfigscript "returnconfigfile [SplitReply [hmm_user_configpath]]/anstohm_full_MESYTEC_PULSER.xml"
}
calibration {
if {$sim_mode == "true"} {
hmm configure oat_nyc_eff 1024;
hmm configure oat_nxc_eff 64;
hmm configure oat_ntc_eff 1;
}
_hmm_hor_channel_name tube_pair_number
_hmm_hor_axis tube_pair_number
_hmm_hor_axis_alias dcolindex
_hmm_vert_axis vertical_channel_number
_hmm_vert_axis_alias drowindex
hmm configure hmconfigscript "returnconfigfile [SplitReply [hmm_user_configpath]]/anstohm_full_nofolding.xml"
}
normal -
default {
if {$sim_mode == "true"} {
hmm configure oat_nyc_eff 512;
hmm configure oat_nxc_eff 128;
hmm configure oat_ntc_eff 1;
}
_hmm_hor_channel_name horizontal_channel_number
_hmm_hor_axis polar_angle
_hmm_hor_axis_alias dtheta
_hmm_vert_axis vertical_channel_number
_hmm_vert_axis_alias drowindex
OAT_TABLE X {-210.5 -209.5} Y {-110.5 -109.5} T {0 20000} NTC 5
::histogram_memory::configure_server Filler_defaults FASTCOMTEC
}
}
}

View File

@@ -1,7 +1,7 @@
# $Revision: 1.16 $
# $Date: 2007-06-27 01:02:36 $
# $Revision: 1.17 $
# $Date: 2007-07-22 05:23:40 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: dcl $
# Last revision by: $Author: ffr $
# START MOTOR CONFIGURATION
@@ -178,6 +178,14 @@ set ss4l_HiRange 14.0
set ss4u_HiRange 27.0
set ss4d_HiRange 8.0
}
set slit1VGroup first/vertical
set slit1HGroup first/horizontal
set slit2VGroup second/vertical
set slit2HGroup second/horizontal
set slit3VGroup third/vertical
set slit3HGroup third/horizontal
set slit4VGroup fourth/vertical
set slit4HGroup fourth/horizontal
# set movecount high to reduce the frequency of
# hnotify messages to a reasonable level
@@ -285,7 +293,7 @@ Motor st3vt $motor_driver_type [params \
absEnc 1\
absEncHome $st3vt_home\
cntsPerX -8192]
st3vt part aperture.3/vertical
st3vt part aperture.$slit3VGroup
st3vt long_name st3vt
st3vt softlowerlim 0
st3vt softupperlim 253
@@ -305,7 +313,7 @@ Motor st4vt $motor_driver_type [params \
absEnc 1\
absEncHome $st4vt_home\
cntsPerX -8192]
st4vt part aperture.4/vertical
st4vt part aperture.$slit4VGroup
st4vt long_name st4vt
st4vt softlowerlim 0
st4vt softupperlim 249
@@ -481,7 +489,7 @@ Motor ss1l $motor_driver_type [params \
maxDecel 5\
stepsPerX $slitStepRate\
motorHome $ss1l_Home]
ss1l part aperture.1/horizontal
ss1l part aperture.$slit1HGroup
ss1l long_name left
ss1l softlowerlim $ss1l_LoRange
ss1l softupperlim $ss1l_HiRange
@@ -499,7 +507,7 @@ Motor ss1r $motor_driver_type [params \
maxDecel 5\
stepsPerX -$slitStepRate\
motorHome $ss1r_Home]
ss1r part aperture.1/horizontal
ss1r part aperture.$slit1HGroup
ss1r long_name right
ss1r softlowerlim $ss1r_LoRange
ss1r softupperlim $ss1r_HiRange
@@ -517,7 +525,7 @@ Motor ss1u $motor_driver_type [params \
maxDecel 5\
stepsPerX -$slitStepRate\
motorHome $ss1u_Home]
ss1u part aperture.1/vertical
ss1u part aperture.$slit1VGroup
ss1u long_name upper
ss1u softlowerlim $ss1u_LoRange
ss1u softupperlim $ss1u_HiRange
@@ -535,7 +543,7 @@ Motor ss1d $motor_driver_type [params \
maxDecel 5\
stepsPerX $slitStepRate\
motorHome $ss1d_Home]
ss1d part aperture.1/vertical
ss1d part aperture.$slit1VGroup
ss1d long_name lower
ss1d softlowerlim $ss1d_LoRange
ss1d softupperlim $ss1d_HiRange
@@ -553,7 +561,7 @@ Motor ss2l $motor_driver_type [params \
maxDecel 5\
stepsPerX $slitStepRate\
motorHome $ss2l_Home]
ss2l part aperture.2/horizontal
ss2l part aperture.$slit2HGroup
ss2l long_name left
ss2l softlowerlim $ss2l_LoRange
ss2l softupperlim $ss2l_HiRange
@@ -571,7 +579,7 @@ Motor ss2r $motor_driver_type [params \
maxDecel 5\
stepsPerX -$slitStepRate\
motorHome $ss2r_Home]
ss2r part aperture.2/horizontal
ss2r part aperture.$slit2HGroup
ss2r long_name right
ss2r softlowerlim $ss2r_LoRange
ss2r softupperlim $ss2r_HiRange
@@ -589,7 +597,7 @@ Motor ss2u $motor_driver_type [params \
maxDecel 5\
stepsPerX -$slitStepRate\
motorHome $ss2u_Home]
ss2u part aperture.2/vertical
ss2u part aperture.$slit2VGroup
ss2u long_name upper
ss2u softlowerlim $ss2u_LoRange
ss2u softupperlim $ss2u_HiRange
@@ -607,7 +615,7 @@ Motor ss2d $motor_driver_type [params \
maxDecel 5\
stepsPerX $slitStepRate\
motorHome $ss2d_Home]
ss2d part aperture.2/vertical
ss2d part aperture.$slit2VGroup
ss2d long_name lower
ss2d softlowerlim $ss2d_LoRange
ss2d softupperlim $ss2d_HiRange
@@ -632,7 +640,7 @@ Motor ss3d $motor_driver_type [params \
maxDecel 5\
stepsPerX $slitStepRate\
motorHome $ss3d_Home]
ss3d part aperture.3/vertical
ss3d part aperture.$slit3VGroup
ss3d long_name lower
ss3d softlowerlim $ss3d_LoRange
ss3d softupperlim $ss3d_HiRange
@@ -650,7 +658,7 @@ Motor ss3u $motor_driver_type [params \
maxDecel 5\
stepsPerX -$slitStepRate\
motorHome $ss3u_Home]
ss3u part aperture.3/vertical
ss3u part aperture.$slit3VGroup
ss3u long_name upper
ss3u softlowerlim $ss3u_LoRange
ss3u softupperlim $ss3u_HiRange
@@ -668,7 +676,7 @@ Motor ss3l $motor_driver_type [params \
maxDecel 5\
stepsPerX $slitStepRate\
motorHome $ss3l_Home]
ss3l part aperture.3/horizontal
ss3l part aperture.$slit3HGroup
ss3l long_name left
ss3l softlowerlim $ss3l_LoRange
ss3l softupperlim $ss3l_HiRange
@@ -686,7 +694,7 @@ Motor ss3r $motor_driver_type [params \
maxDecel 5\
stepsPerX -$slitStepRate\
motorHome $ss3r_Home]
ss3r part aperture.3/horizontal
ss3r part aperture.$slit3HGroup
ss3r long_name right
ss3r softlowerlim $ss3r_LoRange
ss3r softupperlim $ss3r_HiRange
@@ -704,7 +712,7 @@ Motor ss4d $motor_driver_type [params \
maxDecel 5\
stepsPerX $slitStepRate\
motorHome $ss4d_Home]
ss4d part aperture.4/vertical
ss4d part aperture.$slit4VGroup
ss4d long_name lower
ss4d softlowerlim $ss4d_LoRange
ss4d softupperlim $ss4d_HiRange
@@ -722,7 +730,7 @@ Motor ss4u $motor_driver_type [params \
maxDecel 5\
stepsPerX -$slitStepRate\
motorHome $ss4u_Home]
ss4u part aperture.4/vertical
ss4u part aperture.$slit4VGroup
ss4u long_name upper
ss4u softlowerlim $ss4u_LoRange
ss4u softupperlim $ss4u_HiRange
@@ -740,7 +748,7 @@ Motor ss4l $motor_driver_type [params \
maxDecel 5\
stepsPerX $slitStepRate\
motorHome $ss4l_Home]
ss4l part aperture.4/horizontal
ss4l part aperture.$slit4HGroup
ss4l long_name left
ss4l softlowerlim $ss4l_LoRange
ss4l softupperlim $ss4l_HiRange
@@ -758,7 +766,7 @@ Motor ss4r $motor_driver_type [params \
maxDecel 5\
stepsPerX -$slitStepRate\
motorHome $ss4r_Home]
ss4r part aperture.4/horizontal
ss4r part aperture.$slit4HGroup
ss4r long_name right
ss4r softlowerlim $ss4r_LoRange
ss4r softupperlim $ss4r_HiRange
@@ -838,7 +846,7 @@ proc set_gap_offset {m1 m2 val} {
}
# make_gap_motors virt_width_motor virt_offset_motor real_high_motor real_low_motor
proc make_gap_motors {vm1 vm2 m1 m2} {
proc make_gap_motors {vm1 vm1_name vm2 vm2_name m1 m2 aunits agroup} {
eval "proc get_$vm1 {} { get_gap_width $m1 $m2 }"
set v {$var}
eval "proc set_$vm1 {var} { set_gap_width $m1 $m2 $v }"
@@ -846,7 +854,9 @@ proc make_gap_motors {vm1 vm2 m1 m2} {
$vm1 readscript get_$vm1
$vm1 drivescript set_$vm1
publish get_$vm1 user
sicslist setatt get_$vm1 privilege internal
publish set_$vm1 user
sicslist setatt set_$vm1 privilege internal
eval "proc get_$vm2 {} { get_gap_offset $m1 $m2 }"
set v {$var}
@@ -855,19 +865,32 @@ publish set_$vm1 user
$vm2 readscript get_$vm2
$vm2 drivescript set_$vm2
publish get_$vm2 user
sicslist setatt get_$vm2 privilege internal
publish set_$vm2 user
sicslist setatt set_$vm2 privilege internal
sicslist setatt $vm1 units $aunits
sicslist setatt $vm1 klass aperture
sicslist setatt $vm1 long_name $vm1_name
sicslist setatt $vm1 group $agroup
sicslist setatt $vm2 units $aunits
sicslist setatt $vm2 klass aperture
sicslist setatt $vm2 long_name $vm2_name
sicslist setatt $vm2 group $agroup
}
make_gap_motors ss1vg ss1vo ss1u ss1d
make_gap_motors ss1hg ss1ho ss1r ss1l
make_gap_motors ss1vg gap ss1vo offset ss1u ss1d mm $slit1VGroup
make_gap_motors ss1hg gap ss1ho offset ss1r ss1l mm $slit1HGroup
make_gap_motors ss2vg ss2vo ss2u ss2d
make_gap_motors ss2hg ss2ho ss2r ss2l
make_gap_motors ss2vg gap ss2vo offset ss2u ss2d mm $slit2VGroup
make_gap_motors ss2hg gap ss2ho offset ss2r ss2l mm $slit2HGroup
make_gap_motors ss3vg ss3vo ss3u ss3d
make_gap_motors ss3hg ss3ho ss3r ss3l
make_gap_motors ss3vg gap ss3vo offset ss3u ss3d mm $slit3VGroup
make_gap_motors ss3hg gap ss3ho offset ss3r ss3l mm $slit3HGroup
make_gap_motors ss4vg ss4vo ss4u ss4d
make_gap_motors ss4hg ss4ho ss4r ss4l
make_gap_motors ss4vg gap ss4vo offset ss4u ss4d mm $slit4VGroup
make_gap_motors ss4hg gap ss4ho offset ss4r ss4l mm $slit4HGroup
proc motor_set_sobj_attributes {} {
}
# END MOTOR CONFIGURATION

View File

@@ -1,8 +1 @@
namespace eval scancommand {
proc init {} {
}
proc commands_hpath_setup {parent} {
}
proc graphics_hpath_setup {parent} {
}
}
source $cfPath(scan)/scan_common_1.tcl