Files
sics/site_ansto/instrument/tas/taipan_configuration.tcl
Ferdi Franceschini 27f09f5a0a SICS-655 Update tasmots when driving axes.
SICS-512 Experimental anticollider for m2, s2 and a2
2013-08-09 05:30:57 +10:00

144 lines
4.1 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
# Taipan does not currently have a plc server
plc_simulation true
#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)/temperature/sct_eurotherm_2000.tcl
fileeval $cfPath(environment)/temperature/sct_julabo_lh45.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_336.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_340.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_370.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)/he3/sct_he3.tcl
fileeval $cfPath(environment)/magneticField/oxford_labview.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"
# init for the tasUB
#make mcv mch acv ach into mvfocus mhfocus avfocus ahfocus when it works
puts "doing tasub"
MakeTasUB tasub m1 m2 mcv mch s1 s2 sgu sgl a1 a2 acv ach
tasub mono dd 3.35416
tasub ana dd 3.35416
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.
# 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 s1 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