Files
sics/site_ansto/instrument/tas/taipan_configuration.tcl
2015-02-19 10:34:12 +11:00

195 lines
5.6 KiB
Tcl

# Author: Jing Chen (jgn@ansto.gov.au)
# Required by server_config.tcl
VarMake Instrument Text Internal
Instrument taipan
Instrument lock
#START SERVER CONFIGURATION SECTION
source util/dmc2280/dmc2280_util.tcl
source sics_ports.tcl
source server_config.tcl
MakeDrive
#END SERVER CONFIGURATION SECTION
########################################
# INSTRUMENT SPECIFIC CONFIGURATION
set no_histmem true
fileeval $cfPath(source)/source.tcl
source $cfPath(hipadaba)/hipadaba_configuration.tcl
fileeval $cfPath(motors)/sct_aerotech_soloist.tcl
fileeval $cfPath(motors)/motor_configuration.tcl
#fileeval $cfPath(motors)/spin_galil.tcl
fileeval $cfPath(motors)/positmotor_configuration.tcl
fileeval $cfPath(plc)/plc.tcl
fileeval $cfPath(optics)/optics.tcl
fileeval $cfPath(counter)/counter.tcl
fileeval $cfPath(hmm)/hmm_configuration.tcl
fileeval $cfPath(nexus)/nxscripts.tcl
fileeval $cfPath(scan)/scan.tcl
fileeval $cfPath(commands)/commands.tcl
fileeval $cfPath(commands)/pulser.tcl
fileeval $cfPath(commands)/hvcommands.tcl
namespace eval anticollider { proc ::anticollider::init {} {} }
#fileeval $cfPath(anticollider)/anticollider.tcl
#fileeval $cfPath(tasmad)/taspub_sics/tasp.tcl
#fileeval $cfPath(tasmad)/taspub_sics/tasscript.tcl
fileeval $cfPath(environment)/sct_agilent_33220A.tcl
fileeval $cfPath(environment)/sct_protek_common.tcl
fileeval $cfPath(environment)/sct_protekmm.tcl
fileeval $cfPath(environment)/temperature/sct_eurotherm_2000.tcl
fileeval $cfPath(environment)/temperature/sct_eurotherm_3200.tcl
fileeval $cfPath(environment)/temperature/sct_julabo_lh45.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_336.tcl
fileeval $cfPath(environment)/temperature/sct_ls336.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_340.tcl
fileeval $cfPath(environment)/temperature/sct_ls340.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_370.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_m370.tcl
fileeval $cfPath(environment)/temperature/sct_oxford_itc.tcl
fileeval $cfPath(environment)/temperature/sct_oxford_mercury.tcl
fileeval $cfPath(environment)/temperature/west400.tcl
fileeval $cfPath(environment)/temperature/sct_west_6100.tcl
fileeval $cfPath(environment)/he3/sct_he3.tcl
fileeval $cfPath(environment)/magneticField/oxford_labview.tcl
fileeval $cfPath(environment)/magneticField/sct_oxford12tlv.tcl
fileeval $cfPath(beamline)/sct_he3_polanal.tcl
fileeval config/load_setup.tcl
fileeval log.tcl
publish logbook spy
source gumxml.tcl
::utility::mkVar ::anticollider::protect_detector text manager protect_detector false detector true false
::anticollider::protect_detector "true"
if { [ dict exists $::config_dict sample_stage implementation ] } {
set sample_stage [ dict get $::config_dict sample_stage implementation ]
} else {
set sample_stage "normal_sample_stage"
}
switch $sample_stage {
"eulerian_cradle" {
# s1-> eom, sgu -> ephi, sgl -> echi
set OMEGA s1
set PHI ephi
set CHI echi
}
"normal_sample_stage" - default {
set OMEGA s1
set PHI sgu
set CHI sgl
}
}
# init for the tasUB
#make mcv mch acv ach into mvfocus mhfocus avfocus ahfocus when it works
puts "doing tasub"
MakeTasUB tasub m1 m2 mvfocus mhfocus $OMEGA s2 $PHI $CHI a1 a2 avfocus ahfocus
tasub mono dd 3.35416
tasub ana dd 3.35416
# NOTE Autofocussing parameters (vbn, hbn) persist in status.tcl
# To override this behaviour you can set them in extraconfig.tcl
tasub mono vb1 102.2
tasub mono vb2 1.78
tasub mono hb1 18.28
tasub mono hb2 60.1
tasub mono hb3 0.951
tasub ana vb1 115
tasub ana vb2 2.13
tasub ana hb1 45.68
tasub ana hb2 105.7
tasub ana hb3 0.945
tasub focusfn energy
tasub autofocus 0
tasub updatetargets
puts "done tasub"
MakeDiffScan
load_setup ../taipan_setup.txt
server_init
###########################################
# WARNING: Do not add any code below server_init, if you do SICS may fail to initialise properly.
puts "Making hkl command"
MakeMono mono PG m1 m2
mono dd 3.35416
MakeWaveLength lambda mono
MakeEnergy energy mono
#MakeSingleX singlex
#MakeHKL s2 $OMEGA $PHI $CHI
#MakeHKLMot hkl
#MakeUBcalc ubcalc hkl
# Provide tasmot notifications to GumTree when real motors move
proc m2tasupdate {} {
tasub update
hupdate /sample/ei
hupdate /sample/en
hupdate /sample/ki
hupdate /sample/qh
hupdate /sample/qk
hupdate /sample/ql
hupdate /sample/qm
}
publish m2tasupdate user
proc s1s2tasupdate {} {
tasub update
hupdate /sample/qh
hupdate /sample/qk
hupdate /sample/ql
hupdate /sample/qm
}
publish s1s2tasupdate user
proc a2tasupdate {} {
tasub update
hupdate /sample/ef
hupdate /sample/en
hupdate /sample/kf
hupdate /sample/qh
hupdate /sample/qk
hupdate /sample/ql
hupdate /sample/qm
}
publish a2tasupdate user
scriptcallback connect m2 MOTEND m2tasupdate
scriptcallback connect $OMEGA MOTEND s1s2tasupdate
scriptcallback connect s2 MOTEND s1s2tasupdate
scriptcallback connect a2 MOTEND a2tasupdate
set MY_INSTRUMENT_IS_BROKEN_AND_I_DIDNT_FIXIT false
if {$MY_INSTRUMENT_IS_BROKEN_AND_I_DIDNT_FIXIT} {
AntiCollisionInstall
anticollision register m2
anticollision register s2
anticollision register a2
array set tasacscript_levels {m2 0 s2 1 a2 2}
proc tasacscript {args} {
anticollision clear
array set targets $args
foreach {mot target} $args {
anticollision add $::tasacscript_levels($mot) $mot $targets($mot)
}
return
}
publish tasacscript user
anticollision script tasacscript
}
# fix all motors
if {0} {
foreach m [sicslist type motor] {
if {$m == "motor" || $m == "dummy_motor"} {
# skipit
} else {
clientput fix $m position
$m fixed 1
}
}
}
# You can add extra-configuration code in ../extraconfig.tcl