Merging release 2.0 branch with CVS trunk

r2601 | ffr | 2008-05-30 10:26:57 +1000 (Fri, 30 May 2008) | 2 lines
This commit is contained in:
Ferdi Franceschini
2008-05-30 10:26:57 +10:00
committed by Douglas Clowes
parent 4a937e1608
commit 0749b0effa
125 changed files with 8541 additions and 1810 deletions

View File

@@ -1,10 +1,11 @@
' ECHIDNA - CONTROLLER 1
'
' $Revision: 1.8 $
' $Date: 2008-04-13 23:50:38 $
' $Revision: 1.9 $
' $Name: not supported by cvs2svn $
' $Date: 2008-05-30 00:26:55 $
' Author: Dan Bartlett
' Airpad control added by Doug Clowes
' Last revision by: $Author: dcl $
' Last revision by: $Author: ffr $
'
' A-MONOCHROMATOR UPPER TILT (mphi) - TILT 1
' B-MONOCHROMATOR LOWER TILT (mchi) - TILT 2

View File

@@ -1,10 +1,11 @@
' ECHIDNA - CONTROLLER 2
'
' $Revision: 1.6 $
' $Date: 2008-04-13 23:50:38 $
' $Revision: 1.7 $
' $Name: not supported by cvs2svn $
' $Date: 2008-05-30 00:26:55 $
' Author: Dan Bartlett
' Airpad control added by Doug Clowes
' Last revision by: $Author: dcl $
' Last revision by: $Author: ffr $
'
' A-SAMPLE UPPER TILT (sphi) - TILT 1
' B-SAMPLE LOWER TILT (schi) - TILT 2

View File

@@ -1,10 +1,11 @@
' ECHIDNA - CONTROLLER 3
'
' $Revision: 1.10 $
' $Date: 2008-05-08 06:48:32 $
' $Revision: 1.11 $
' $Name: not supported by cvs2svn $
' $Date: 2008-05-30 00:26:55 $
' Author: Dan Bartlett
' Limit switch HOME routine added by Ferdi Franceschini
' Last revision by: $Author: dcl $
' Last revision by: $Author: ffr $
'
' A-MONOCHROMATOR FOCUS
' B-SPARE

View File

@@ -1,10 +1,11 @@
' ECHIDNA - CONTROLLER 4
'
' $Revision: 1.10 $
' $Date: 2008-04-30 01:56:22 $
' $Revision: 1.11 $
' $Name: not supported by cvs2svn $
' $Date: 2008-05-30 00:26:55 $
' Author: Dan Bartlett
' Limit switch HOME routine added by Ferdi Franceschini
' Last revision by: $Author: dcl $
' Last revision by: $Author: ffr $
'
' A-SPARE
' B-SPARE

View File

@@ -1,4 +1,6 @@
sics_ports.tcl
script_validator_ports.tcl
instrument_vars.tcl
echidna_configuration.tcl
config
util

View File

@@ -1,5 +1,7 @@
config/anticollider/anticollider_common.tcl
config/plc/plc_common_1.tcl
config/counter/counter_common_1.tcl
config/environment/temperature/lakeshore340_common.tcl
config/hipadaba/hipadaba_configuration_common.tcl
config/hipadaba/common_instrument_dictionary.tcl
config/hipadaba/instdict_specification.tcl
@@ -9,3 +11,4 @@ config/hmm/anstohm_linked.xml
config/scan/scan_common_1.hdd
config/scan/scan_common_1.tcl
config/nexus/nxscripts_common_1.tcl
config/commands/commands_common.tcl

View File

@@ -0,0 +1,18 @@
# This script is loaded automatically by anticollider.tcl when SICS is launched
# TODO Allow sequencing
# TODO Allow functional dependencies
#
# Examples
# for pcx forbid { {80 130} {10 20} }
# when stth in { {0 10} {20 30} } forbid { {10 20} {90 100} } for mtth
#
## The next example forbids movement when both schi and sx are in the given ranges
# forbid {0 10} for sphi whenall {schi in {10 15} sx {10 11} }
for pcx forbid {80 130}
for pcr forbid {-inf inf} when mom in {45 50}
for stth forbid {160 167} when mtth in {87 88}
for stth forbid {0 15} when mtth in {139.5 140.5}
for mtth forbid {87 100} when stth in {166 167}
for mtth forbid {130 140.5} when stth in {0 1}

View File

@@ -0,0 +1,8 @@
# $Revision: 1.2 $
# $Date: 2008-05-30 00:26:56 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: ffr $
source $cfPath(anticollider)/anticollider_common.tcl
::anticollider::loadscript acscript.txt

View File

@@ -0,0 +1 @@
source $cfPath(commands)/commands_common.tcl

View File

@@ -0,0 +1,24 @@
source $cfPath(environment)/temperature/lakeshore340_common.tcl
# @brief Adds a lakeshore 340 temperature controller object.
#
# This must be called when the instrument configuration is loaded and before\n
# the buildHDB function is called. Currently there is no way to add and remove\n
# environment controllers and their hdb paths at runtime.
proc ::environment::temperature::add_ls340 {} {
set sim_mode [SplitReply [environment_simulation]]
if {$sim_mode == "true"} {
::environment::temperature::mkls340sim tc1
} else {
::environment::temperature::mkls340 tc1
tc1 tolerance 1
tc1 Settle 30
tc1 range 2
tc1 UpperLimit 500
tc1 LowerLimit 4
}
sicslist setatt tc1 environment_name tempone
sicslist setatt tc1 long_name control_sensor_reading
::environment::mkenvinfo tc1 {heateron {priv user} range {priv manager} }
}

View File

@@ -2,51 +2,63 @@ source $cfPath(hmm)/hmm_configuration_common_1.tcl
source $cfPath(hmm)/hmm_cylindrical_detector_configuration.tcl
set sim_mode [SplitReply [hmm_simulation]]
##\brief Return the detector position
proc ::histogram_memory::init_OAT_TABLE {} {
if [ catch {
# We don't need a MAX_CHAN parameter for time because the time channel
# is scaled by calling the ::histogram_memory::clock_scale function
OAT_TABLE X -setdata MAX_CHAN 128
OAT_TABLE Y -setdata MAX_CHAN 512
OAT_TABLE X -setdata BMIN -0.5
OAT_TABLE X -setdata BMAX 127.5
OAT_TABLE Y -setdata BMIN -0.5
OAT_TABLE Y -setdata BMAX 511.5
OAT_TABLE -set X { 127.5 126.5 } NXC 128 Y { -0.5 0.5 } NYC 512 T { 0 2000 } NTC 1
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error $message
}
}
##
# @brief Return the detector position
proc ::histogram_memory::detector_posn_degrees {} {
return [SplitReply [stth]]
}
proc ::histogram_memory::pre_count {} {}
proc ::histogram_memory::post_count {} {}
proc ::histogram_memory::initialize {} {
if {$::sim_mode == "true"} {
hmm configure oat_ntc_eff 1
hmm configure oat_nyc_eff 1024
hmm configure oat_nxc_eff 64
}
::histogram_memory::_initialize
::histogram_memory::two_theta -boundaries
if [ catch {
if {$::sim_mode == "true"} {
hmm configure oat_ntc_eff 1
hmm configure oat_nyc_eff 1024
hmm configure oat_nxc_eff 64
}
BAT_TABLE -init
CAT_TABLE -init
SAT_TABLE -init
OAT_TABLE -init
FAT_TABLE -init
::histogram_memory::_initialize
::histogram_memory::two_theta -boundaries
detector_active_height_mm 335
detector_active_width_mm 500
detector_radius_mm 1250.0
set x_bb0 -0.5; set xbbmax 63.5
set y_bb0 -0.5; set ybbmax 1023.5
hmm configure FAT_SIMULATED_EVENT_Y0 $y_bb0
hmm configure FAT_SIMULATED_EVENT_Y1 $ybbmax
hmm configure FAT_SIMULATED_EVENT_X0 $x_bb0
hmm configure FAT_SIMULATED_EVENT_X1 $xbbmax
set x_binwidth 1
if {[expr {$xbbmax - $x_bb0}] > 0} {
set x_bb1 [expr {$x_bb0+$x_binwidth}]
} else {
set x_bb1 [expr {$x_bb0-$x_binwidth}]
}
set y_binwidth 1
if {[expr {$ybbmax - $y_bb0}] > 0} {
set y_bb1 [expr {$y_bb0+$y_binwidth}]
} else {
set y_bb1 [expr {$y_bb0-$y_binwidth}]
}
OAT_TABLE -init X_MIN $x_bb0 X_MAX $xbbmax Y_MIN $y_bb0 Y_MAX $ybbmax
# We default to one big bin for time
set t_bb0 [OAT_TABLE -get T_MIN]
set t_bb1 [OAT_TABLE -get T_MAX]
OAT_TABLE X "$x_bb0 $x_bb1" Y "$y_bb0 $y_bb1" T "$t_bb0 $t_bb1"
::histogram_memory::upload_config Filler_defaults
detector_active_height_mm 335
detector_active_width_mm 500
detector_radius_mm 1250.0
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::two_theta
# hmm configure FAT_SIMULATED_EVENT_Y0 $y_bb0
# hmm configure FAT_SIMULATED_EVENT_Y1 $ybbmax
# hmm configure FAT_SIMULATED_EVENT_X0 $x_bb0
# hmm configure FAT_SIMULATED_EVENT_X1 $xbbmax
::histogram_memory::init_OAT_TABLE
::histogram_memory::upload_config Filler_defaults
::nexus::data alias ::histogram_memory::vertical_axis ::histogram_memory::y_pixel_offset
::nexus::data alias ::histogram_memory::horizontal_axis ::histogram_memory::two_theta
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error $message
}
}
proc histmem {cmd args} {

View File

@@ -1,7 +1,8 @@
# $Revision: 1.23 $
# $Date: 2008-05-29 04:54:06 $
# $Revision: 1.24 $
# $Date: 2008-05-30 00:26:56 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: dcl $
# Last revision by: $Author: ffr $
source $cfPath(anticollider)/anticollider.tcl
# START MOTOR CONFIGURATION
@@ -256,7 +257,6 @@ mtth blockage_ratio 5
mtth backlash_offset -1
mtth creep_offset 90
mtth creep_precision 0.02
#mtth debug 1
mtth part crystal
mtth long_name takeoff_angle
@@ -445,7 +445,6 @@ stth blockage_ratio 1.5
stth backlash_offset -0.1
stth creep_offset 0.1
stth creep_precision 0.00002
stth debug 1
stth part sample
stth long_name azimuthal_angle
@@ -695,3 +694,4 @@ make_gap_motors ss2hg gap ss2ho offset ss2r ss2l mm $slit2HGroup
proc motor_set_sobj_attributes {} {
}
# END MOTOR CONFIGURATION
::anticollider::init

View File

@@ -1,5 +1,5 @@
# $Revision: 1.26 $
# $Date: 2007-11-05 02:28:46 $
# $Revision: 1.27 $
# $Date: 2008-05-30 00:26:55 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: ffr $
@@ -12,9 +12,6 @@ Instrument lock
source util/dmc2280/dmc2280_util.tcl
source sics_ports.tcl
source server_config.tcl
VarMake deg_per_rad Float Internal
deg_per_rad 57.29577951308232
deg_per_rad lock
#END SERVER CONFIGURATION SECTION
########################################
@@ -22,61 +19,36 @@ deg_per_rad lock
fileeval $cfPath(motors)/motor_configuration.tcl
########
# Parameters set above the restore command will be clobbered by
# the values in the status.tcl file
restore
source instrument_vars.tcl
source $cfPath(hipadaba)/hipadaba_configuration.tcl
fileeval $cfPath(plc)/plc.tcl
fileeval $cfPath(counter)/counter.tcl
#TODO Provide method for choosing environment controller
fileeval $cfPath(environment)/temperature/lakeshore340.tcl
fileeval $cfPath(hmm)/hmm_configuration.tcl
fileeval $cfPath(nexus)/nxscripts.tcl
fileeval $cfPath(scan)/scan.tcl
source $cfPath(hipadaba)/hipadaba_configuration.tcl
fileeval $cfPath(commands)/commands.tcl
source gumxml.tcl
########
# Parameters set above the restore command will be clobbered by
# the values in the status.tcl file
# BIG WARNING: DON'T PUT 'restore' IN A CATCH BLOCK BECAUSE IT RETURNS
# AN ERROR IF THERE IS NO ../log/status.tcl FILE.
restore
::histogram_memory::initialize
#::environment::temperature::add_ls340
VarMake detector_layout Text Mugger
detector_layout cylinder
VarMake detector_angle_deg Float User
detector_angle_deg 158.75
VarMake detector_angle_rad Float User
detector_angle_rad [expr [SplitReply [detector_angle_deg]]/[SplitReply [deg_per_rad]] ]
VarMake crystal_type Text User
VarMake crystal_wavelength_A Float User
VarMake bmon_distance Float User
## Number of last pixel on vertical axis
VarMake detector_last_vert_pixel Float User
detector_last_vert_pixel 511
## Number of last pixel on horizontal axis
VarMake detector_last_hor_pixel Float User
detector_last_hor_pixel 127
## Row number at beam centre
VarMake detector_zero_row Float User
detector_zero_row 255.5
## Column number at beam centre for a detector rotation of 0 degrees
VarMake detector_zero_col Float User
detector_zero_col 124
## Row offset for region of interest
VarMake detector_ROI_row_offset Float User
detector_ROI_row_offset 0
## Column offset for region of interest
VarMake detector_ROI_col_offset Float User
detector_ROI_col_offset 0
detector_type He-3 position sensitive detector, tube active length=335+/-5mm, tube diameter=25.4 +/- 0.8mm
detector_type lock
detector_description 128 He-3 proportional counter detector tubes (GE Energy Reuter Stokes Inc. item=RS-P4-0814-217)
detector_description lock
MakeStateMon hmscan
fileeval extraconfig.tcl
if [file exists extraconfig.tcl] {
fileeval extraconfig.tcl
} else {
clientput "extraconfig.tcl not found. continueing"
}
server_set_sobj_attributes
buildHDB instrument_dictionary

View File

@@ -1,70 +1,6 @@
# Put extra config info here.
# Just some examples for now
bmon_distance -1.0
Title "precommissioning tests"
Sample "No Sample"
# Selected wavelength in Angstroms
crystal_wavelength_A "0.0"
crystal_type "Unknown"
## LAKESHORE
# @file Put extra configuration info here.
#
# NOTE TO DEVELOPERS,\n
# Do not put this file name in the MANIFEST.TXT, it should not be automatically\n
# deployed to an instrument.
#source util/dmc2280/dmc2280_util.tcl
#First Lakshore340 tempcontroller creation
MakeRS232Controller sertemp1 127.0.0.1 4001
sertemp1 timeout 20000
sertemp1 sendterminator 0xd
sertemp1 replyterminator 0xd
EvFactory new tc1 lakeshore340 sertemp1 1 1
tc1 tolerance 0.2
tc1 UpperLimit 500
tc1 LowerLimit 4
tc1 sensor 3
tc1 control 3
#Second Lakshore340 tempcontroller creation
MakeRS232Controller sertemp2 127.0.0.1 4002
sertemp2 timeout 20000
sertemp2 sendterminator 0xd
sertemp2 replyterminator 0xd
EvFactory new tc2 lakeshore340 sertemp2 1 1
tc2 tolerance 0.2
tc2 UpperLimit 500
tc2 LowerLimit 4
tc2 sensor 3
tc2 control 3
#First Julabo tempcontroller creation
MakeRS232Controller sertemp3 127.0.0.1 4003
sertemp3 timeout 20000
sertemp3 sendterminator 0xd 0xa
sertemp3 replyterminator 0xd
EvFactory new tc3 lh45 sertemp3 1 1
tc3 tolerance 0.5
tc3 UpperLimit 110
tc3 LowerLimit -30
#Second Julabo tempcontroller creation
MakeRS232Controller sertemp4 127.0.0.1 4004
sertemp4 timeout 20000
sertemp4 sendterminator 0xd 0xa
sertemp4 replyterminator 0xd
EvFactory new tc4 lh45 sertemp4 1 1
tc4 tolerance 0.5
tc4 UpperLimit 110
tc4 LowerLimit -30
sicslist setatt tc1 long_name tempone
sicslist setatt tc2 long_name temptwo
sicslist setatt tc3 long_name tempthree
sicslist setatt tc4 long_name tempfour
#END SERVER CONFIGURATION SECTION
sicslist setatt tc1 units kelvin
sicslist setatt tc2 units kelvin
sicslist setatt tc3 units Celsius
sicslist setatt tc4 units Celsius
sicslist setatt tc1 savecmd ::nexus::evcontroller::save
sicslist setatt tc1 sdsinfo ::nexus::evcontroller::sdsinfo
sicslist setatt tc2 savecmd ::nexus::evcontroller::save
sicslist setatt tc2 sdsinfo ::nexus::evcontroller::sdsinfo
sicslist setatt tc3 savecmd ::nexus::evcontroller::save
sicslist setatt tc3 sdsinfo ::nexus::evcontroller::sdsinfo
sicslist setatt tc4 savecmd ::nexus::evcontroller::save
sicslist setatt tc4 sdsinfo ::nexus::evcontroller::sdsinfo

View File

@@ -0,0 +1,9 @@
# @file This file defines the instrument variables.
VarMake deg_per_rad Float Internal
deg_per_rad 57.29577951308232
deg_per_rad lock

View File

@@ -0,0 +1,4 @@
set quieckport quieck-val-echidna
set serverport server-val-echidna
set interruptport interrupt-val-echidna
set telnetport telnet-val-echidna