Initial kowari configuration.

r1156 | ffr | 2006-10-16 09:47:45 +1000 (Mon, 16 Oct 2006) | 2 lines
This commit is contained in:
Ferdi Franceschini
2006-10-16 09:47:45 +10:00
committed by Douglas Clowes
parent 6bc9b58d48
commit ac308d9c9c
5 changed files with 1245 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
kowari_configuration.tcl
hipadaba_kowari_configuration.tcl
kowari.hdd
troubleshoot_setup.tcl

View File

@@ -0,0 +1,620 @@
# $Revision: 1.1 $
# $Date: 2006-10-15 23:47:45 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: ffr $
source motParList.tcl
#-------------------------------------------------------------------------
# Install the SICS Hipadaba
#-------------------------------------------------------------------------
proc makeHdbMotor {root treename sicsname} {
global parList;
append motName $root "/" $treename
eval hmake $motName spy none
eval hmakescript "$motName/position" \"$sicsname\" \"run $sicsname\" float
foreach par $parList {
set parName [format "%s/%s" $motName $par]
eval hmakescript $parName \"$sicsname $par\" \"$sicsname $par\" float
}
}
proc makeHdbVirtMotor {root treename sicsname} {
append motName $root "/" $treename
eval hmake $motName spy none
eval hmakescript "$motName/position" \"$sicsname\" \"run $sicsname\" float
}
#------------------------------------------------------------------------
proc hdbReadOnly {} {
error "Parameter is READ ONLY"
}
#-------------------------------------------------------------------------
InstallHdb
hmake /sample spy none
hmake /monochromator spy none
hmake /slits spy none
hmake /slits/1 spy none
hmake /slits/2 spy none
makeHdbMotor /slits/1 ss1u ss1u
makeHdbMotor /slits/1 ss1d ss1d
makeHdbMotor /slits/1 ss1l ss1l
makeHdbMotor /slits/1 ss1r ss1r
makeHdbVirtMotor /slits/1 ss1vg ss1vg
makeHdbVirtMotor /slits/1 ss1vo ss1vo
makeHdbVirtMotor /slits/1 ss1hg ss1hg
makeHdbVirtMotor /slits/1 ss1ho ss1ho
makeHdbMotor /slits/2 ss2u ss2u
makeHdbMotor /slits/2 ss2d ss2d
makeHdbMotor /slits/2 ss2l ss2l
makeHdbMotor /slits/2 ss2r ss2r
makeHdbVirtMotor /slits/2 ss2vg ss2vg
makeHdbVirtMotor /slits/2 ss2vo ss2vo
makeHdbVirtMotor /slits/2 ss2hg ss2hg
makeHdbVirtMotor /slits/2 ss2ho ss2ho
makeHdbMotor /sample som som
makeHdbMotor /sample schi schi
makeHdbMotor /sample sphi sphi
makeHdbMotor /sample sx sx
makeHdbMotor /sample sz sz
makeHdbMotor /sample sy sy
makeHdbMotor /sample stth stth
makeHdbMotor /monochromator mom mom
makeHdbMotor /monochromator mchi mchi
makeHdbMotor /monochromator mphi mphi
makeHdbMotor /monochromator mx mx
makeHdbMotor /monochromator mz mz
makeHdbMotor /monochromator mtth mtth
proc xhlist {opt args} {
clientput {
<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:hipadaba="http://www.psi.ch/sics/hipadaba" xmlns:sdo="commonj.sdo">
<changeSummary xmlns=""/>
<hipadaba:Instrument id="kowari"
label="Kowari">
<part id="sample" label="Sample Stage">
<device id="som">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="schi" label="">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="sphi">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="sx">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="sz">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="sy">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="stth">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
</part>
<part id="monochromator" label="Monochromator">
<device id="mom">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="mchi">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="mphi">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="mx">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="mz">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="mtth" label="">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
</part>
<part id="slits" label="Slits System">
<part id="1" label="Primary Slit System">
<device id="ss1u">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="ss1d">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="ss1l">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="ss1r">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="ss1vg">
<property dataType="Float" id="position" privilege="USER"/>
</device>
<device id="ss1vo" label="">
<property dataType="Float" id="position" privilege="USER"/>
</device>
<device id="ss1hg">
<property dataType="Float" id="position" privilege="USER"/>
</device>
<device id="ss1ho" label="">
<property dataType="Float" id="position" privilege="USER"/>
</device>
</part>
<part id="2" label="Secondary Slit System">
<device id="ss2u">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="ss2d">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="ss2l">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="ss2r">
<property dataType="Float" id="position" privilege="USER"/>
<property dataType="Float" id="accesscode" privilege="USER"/>
<property dataType="Float" id="failafter" privilege="USER"/>
<property dataType="Float" id="fixed" privilege="USER"/>
<property dataType="Float" id="hardlowerlim" privilege="READ_ONLY"/>
<property dataType="Float" id="hardupperlim" privilege="READ_ONLY"/>
<property dataType="Float" id="ignorefault" privilege="USER"/>
<property dataType="Float" id="interruptmode" privilege="USER"/>
<property dataType="Float" id="maxretry" privilege="USER"/>
<property dataType="Float" id="movecount" privilege="USER"/>
<property dataType="Float" id="precision" privilege="USER"/>
<property dataType="Float" id="sign" privilege="USER"/>
<property dataType="Float" id="softlowerlim" privilege="USER"/>
<property dataType="Float" id="softupperlim" privilege="USER"/>
<property dataType="Float" id="softzero" privilege="USER"/>
<property dataType="Float" id="accel" privilege="USER"/>
<property dataType="Float" id="decel" privilege="USER"/>
<property dataType="Float" id="home" privilege="MANAGER"/>
<property dataType="Float" id="maxaccel"/>
<property dataType="Float" id="maxdecel"/>
<property dataType="Float" id="maxspeed"/>
<property dataType="Float" id="speed" privilege="USER"/>
</device>
<device id="ss2vg">
<property dataType="Float" id="position" privilege="USER"/>
</device>
<device id="ss2vo" label="">
<property dataType="Float" id="position" privilege="USER"/>
</device>
<device id="ss2hg">
<property dataType="Float" id="position" privilege="USER"/>
</device>
<device id="ss2ho" label="">
<property dataType="Float" id="position" privilege="USER"/>
</device>
</part>
</part>
</hipadaba:Instrument>
</sdo:datagraph>
} "value"
}
publish xhlist spy

View File

@@ -0,0 +1,8 @@
##SICS ASCII at Kowari
*************************** Kowari SCAN File ********************************
Original Filename = !!FILE!!
Title = !!VAR(Title)!!
User = !!VAR(User)!!
Sample Name = !!VAR(sample)!!
File Creation Date = !!DATE!!
**************************** DATA ******************************************

View File

@@ -0,0 +1,591 @@
# $Revision: 1.1 $
# $Date: 2006-10-15 23:47:45 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: ffr $
#START SERVER CONFIGURATION SECTION
source dmc2280_util.tcl
source server_config.tcl
#END SERVER CONFIGURATION SECTION
########################################
# INSTRUMENT SPECIFIC CONFIGURATION
VarMake Instrument Text Internal
Instrument Kowari
Instrument lock
# Setup addresses of Galil DMC2280 controllers.
set dmc2280_controller1(host) mc1-kowari
set dmc2280_controller1(port) pmc1-kowari
set dmc2280_controller2(host) mc2-kowari
set dmc2280_controller2(port) pmc2-kowari
set dmc2280_controller3(host) mc3-kowari
set dmc2280_controller3(port) pmc3-kowari
set dmc2280_controller4(host) mc4-kowari
set dmc2280_controller4(port) pmc4-kowari
# Run slit homing routines on controllers 3 and 4
#if [catch {dmc_connect dmc2280_controller3} ] {
# dmc_sendCmd dmc2280_controller3 "XQ#HOME,1"
# dmc_close dmc2280_controller3
#}
#if [catch {dmc_connect dmc2280_controller4} ] {
# dmc_sendCmd dmc2280_controller4 "XQ#HOME,1"
# dmc_close dmc2280_controller4
#}
# Monochromator omega, rotate
Motor mom DMC2280 [params \
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis E\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -12500\
absEnc 1\
absEncHome 17694127\
cntsPerX -8192]
setHomeandRange -motor mom -home 0 -lowrange 5 -uprange 5
mom speed 1
mom precision 0.01
# Monochromator two-theta, flight-tube rotate
Motor mtth DMC2280 [params \
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis F\
units degrees\
maxSpeed 0.5\
maxAccel 0.2\
maxDecel 0.2\
stepsPerX 25000\
absEnc 1\
absEncHome 10299428\
cntsPerX 93207]
mtth hardlowerlim 85
mtth hardupperlim 155
mtth softlowerlim 85
mtth softupperlim 155
mtth home 120
mtth speed 0.5
mtth precision 0.01
proc mthGet {} { return [expr [SplitReply [mtth]]/2.0]}
proc mthSet {val} { return "mtth=[SplitReply [mtth]]"}
publish mthSet user
publish mthGet user
MakeConfigurableMotor mth
mth readscript mthGet
mth drivescript mthSet
# Monochromator chi, Tilt 2, lower
Motor mchi DMC2280 [params \
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis B\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome 7818915\
cntsPerX 8192]
setHomeandRange -motor mchi -home 90 -lowrange 5 -uprange 5
mchi speed 1
mchi precision 0.01
# Monochromator phi, Tilt 1, upper
Motor mphi DMC2280 [params \
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis A\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -25000\
absEnc 1\
absEncHome 7414753\
cntsPerX -8192]
setHomeandRange -motor mphi -home 0 -lowrange 5 -uprange 5
mphi speed 1
mphi precision 0.01
# Monochromator Trans 1, upper
Motor mz DMC2280 [params \
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis C\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome 7781680\
cntsPerX 8192]
setHomeandRange -motor mz -home 0 -lowrange 5 -uprange 5
mz speed 1
mz precision 0.01
# Monochromator Trans 2, lower
Motor mx DMC2280 [params \
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis D\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome 7562793\
cntsPerX 8192]
setHomeandRange -motor mx -home 0 -lowrange 5 -uprange 5
mx speed 1
mx precision 0.01
# Sample Omega, rotate
Motor som DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis E\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -12500\
absEnc 1\
absEncHome 17694127\
cntsPerX -8192]
setHomeandRange -motor som -home 0 -lowrange 45 -uprange 45
som speed 1
som precision 0.01
# Sample two-theta, detector rotate
Motor stth DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis F\
units degrees\
maxSpeed 0.2\
maxAccel 0.2\
maxDecel 0.2\
stepsPerX 125000\
absEnc 1\
absEncHome 6559259\
cntsPerX 93207]
setHomeandRange -motor stth -home 120 -lowrange 15 -uprange 15
stth speed 0.5
stth precision 0.01
proc sthGet {} { return [expr [SplitReply [stth]]/2.0]}
proc sthSet {val} { return "stth=[SplitReply [stth]]"}
publish sthSet user
publish sthGet user
MakeConfigurableMotor sth
sth readscript sthGet
sth drivescript sthSet
# Sample Tilt 2, lower
Motor schi DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis B\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome 7581355\
cntsPerX 8192]
setHomeandRange -motor schi -home 90 -lowrange 5 -uprange 5
schi speed 1
schi precision 0.01
# Sample Tilt 1, upper
Motor sphi DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis A\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome 7934290\
cntsPerX 8192]
setHomeandRange -motor sphi -home 0 -lowrange 5 -uprange 5
sphi speed 1
sphi precision 0.01
# Sample Trans 1 (upper)
Motor sz DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis C\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome 7562793\
cntsPerX 8192]
setHomeandRange -motor sz -home 0 -lowrange 5 -uprange 5
sz speed 1
sz precision 0.01
# Sample Trans2 (lower)
Motor sx DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis D\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome 7562793\
cntsPerX 8192]
setHomeandRange -motor sx -home 0 -lowrange 5 -uprange 5
sx speed 1
sx precision 0.01
# Sample Trans3 (vertical)
Motor sy DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis D\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome 7562793\
cntsPerX 8192]
setHomeandRange -motor sy -home 0 -lowrange 500 -uprange 500
sy speed 1
sy precision 0.01
#Default upper and lower ranges for vertical slits
set vertSlitLowRange 25
set vertSlitUpRange 95
#Default upper and lower ranges for horizontal slits
set horSlitLowRange 20
set horSlitUpRange 25
Motor ss1u DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis G\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 2040518]
setHomeandRange -motor ss1u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
Motor ss1d DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis H\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 2040518]
setHomeandRange -motor ss1d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
Motor ss1l DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis E\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 542093]
setHomeandRange -motor ss1l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
Motor ss1r DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis F\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 542093]
setHomeandRange -motor ss1r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
Motor ss2u DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis G\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 2043085]
setHomeandRange -motor ss2u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
Motor ss2d DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis H\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 2043085]
setHomeandRange -motor ss2d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
Motor ss2l DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis E\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 500000]
setHomeandRange -motor ss2l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
Motor ss2r DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis F\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 500000]
setHomeandRange -motor ss2r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
#--------------------------------------------------------
proc ss1widthscript {val} {
set currentWidth [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
set diff [expr $val - $currentWidth]
set newD1R [expr [SplitReply [ss1r]] + $diff/2]
set newD1L [expr [SplitReply [ss1l]] + $diff/2]
return "ss1r=$newD1R,ss1l=$newD1L"
}
publish ss1widthscript user
#-------------------------------------------------------
proc ss1readwidth {} {
return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
}
publish ss1readwidth user
MakeConfigurableMotor ss1hg
ss1hg drivescript ss1widthscript
ss1hg readscript ss1readwidth
#--------------------------------------------------------
proc ss1horoffsetscript {val} {
set SR [SplitReply [ss1r]]
set SL [SplitReply [ss1l]]
set currentOffset [ expr $SR - ($SR + $SL)/2.0 ]
set diff [expr $val - $currentOffset]
set newD1R [expr $SR + $diff]
set newD1L [expr $SL - $diff]
return "ss1r=$newD1R,ss1l=$newD1L"
}
publish ss1horoffsetscript user
#-------------------------------------------------------
proc ss1readhoroffset {} {
set SR [SplitReply [ss1r]]
return [ expr $SR - ($SR + [SplitReply [ss1l]])/2.0 ]
}
publish ss1readhoroffset user
#-------------------------------------------------------
MakeConfigurableMotor ss1ho
ss1ho drivescript ss1horoffsetscript
ss1ho readscript ss1readhoroffset
#-----------------------------------------------------
proc ss1heightscript {val} {
set currentWidth [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
set diff [expr $val - $currentWidth]
set newD1B [expr [SplitReply [ss1d]] + $diff/2]
set newD1T [expr [SplitReply [ss1u]] + $diff/2]
return "ss1d=$newD1B,ss1u=$newD1T"
}
publish ss1heightscript user
#-------------------------------------------------------
proc ss1readheight {} {
return [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
}
publish ss1readheight user
#---------------------------------------------------------
MakeConfigurableMotor ss1vg
ss1vg drivescript ss1heightscript
ss1vg readscript ss1readheight
#--------------------------------------------------------
proc ss1vertoffsetscript {val} {
set SU [SplitReply [ss1u]]
set SD [SplitReply [ss1d]]
set currentOffset [ expr $SU - ($SU + $SD)/2.0 ]
set diff [expr $val - $currentOffset]
set newD1U [expr $SU + $diff]
set newD1D [expr $SD - $diff]
return "ss1u=$newD1U,ss1d=$newD1D"
}
publish ss1vertoffsetscript user
#-------------------------------------------------------
proc ss1readvertoffset {} {
set SU [SplitReply [ss1u]]
return [ expr $SU - ($SU + [SplitReply [ss1d]])/2.0 ]
}
publish ss1readvertoffset user
#-------------------------------------------------------
MakeConfigurableMotor ss1vo
ss1vo drivescript ss1vertoffsetscript
ss1vo readscript ss1readvertoffset
###############################################
#--------------------------------------------------------
proc ss2widthscript {val} {
set currentWidth [expr [SplitReply [ss2r]] + [SplitReply [ss2l]]]
set diff [expr $val - $currentWidth]
set newD1R [expr [SplitReply [ss2r]] + $diff/2]
set newD1L [expr [SplitReply [ss2l]] + $diff/2]
return "ss2r=$newD1R,ss2l=$newD1L"
}
publish ss2widthscript user
#-------------------------------------------------------
proc ss2readwidth {} {
return [expr [SplitReply [ss2r]] + [SplitReply [ss2l]]]
}
publish ss2readwidth user
MakeConfigurableMotor ss2hg
ss2hg drivescript ss2widthscript
ss2hg readscript ss2readwidth
#--------------------------------------------------------
proc ss2horoffsetscript {val} {
set SR [SplitReply [ss2r]]
set SL [SplitReply [ss2l]]
set currentOffset [ expr $SR - ($SR + $SL)/2.0 ]
set diff [expr $val - $currentOffset]
set newD1R [expr $SR + $diff]
set newD1L [expr $SL - $diff]
return "ss2r=$newD1R,ss2l=$newD1L"
}
publish ss2horoffsetscript user
#-------------------------------------------------------
proc ss2readhoroffset {} {
set SR [SplitReply [ss2r]]
return [ expr $SR - ($SR + [SplitReply [ss2l]])/2.0 ]
}
publish ss2readhoroffset user
#-------------------------------------------------------
MakeConfigurableMotor ss2ho
ss2ho drivescript ss2horoffsetscript
ss2ho readscript ss2readhoroffset
#-----------------------------------------------------
proc ss2heightscript {val} {
set currentWidth [expr [SplitReply [ss2u]] + [SplitReply [ss2d]]]
set diff [expr $val - $currentWidth]
set newD1B [expr [SplitReply [ss2d]] + $diff/2]
set newD1T [expr [SplitReply [ss2u]] + $diff/2]
return "ss2d=$newD1B,ss2u=$newD1T"
}
publish ss2heightscript user
#-------------------------------------------------------
proc ss2readheight {} {
return [expr [SplitReply [ss2u]] + [SplitReply [ss2d]]]
}
publish ss2readheight user
#---------------------------------------------------------
MakeConfigurableMotor ss2vg
ss2vg drivescript ss2heightscript
ss2vg readscript ss2readheight
#--------------------------------------------------------
proc ss2vertoffsetscript {val} {
set SU [SplitReply [ss2u]]
set SD [SplitReply [ss2d]]
set currentOffset [ expr $SU - ($SU + $SD)/2.0 ]
set diff [expr $val - $currentOffset]
set newD1U [expr $SU + $diff]
set newD1D [expr $SD - $diff]
return "ss2u=$newD1U,ss2d=$newD1D"
}
publish ss2vertoffsetscript user
#-------------------------------------------------------
proc ss2readvertoffset {} {
set SU [SplitReply [ss2u]]
return [ expr $SU - ($SU + [SplitReply [ss2d]])/2.0 ]
}
publish ss2readvertoffset user
#-------------------------------------------------------
MakeConfigurableMotor ss2vo
ss2vo drivescript ss2vertoffsetscript
ss2vo readscript ss2readvertoffset
# END MOTOR CONFIGURATION
MakeCounter simCtr SIM -1.0
#-------------------------------------------------------------------------
# System: Histogram Server
#------------------------------------------------------------------------
# For the time being, use a simulated counter.
# When the beam monitor is interfaced, it can be used instead.
MakeCounter ctr SIM 0
# Set up the counter to provide a 2 second acquisition
#ctr SetMode Timer
#ctr SetPreset 2
MakeHM hm anstohttp
hm configure hmaddress http://localhost:8888
hm configure username spy
hm configure password 007
hm configure hmconfigscript puts anstohm.xml
#
hm CountMode timer
hm preset 2
hm exponent 0
#
hm configure init 1
hm init
MakeScanCommand xxxscan simCtr kowari.hdd recover.bin
source hipadaba_kowari_configuration.tcl

View File

@@ -0,0 +1,22 @@
# Kowari troubleshooter setup
# $Revision: 1.1 $
# $Date: 2006-10-15 23:47:45 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by $Author: ffr $
set configFileName "kowari_configuration.tcl"
# These subroutines should be installed on the controllers
set contSubs(dmc2280_controller1) "#AUTO #LIMSWI #SOLCTRL #TCPERR"
set contSubs(dmc2280_controller2) "#AUTO #LIMSWI #SOLCTRL #TCPERR"
set contSubs(dmc2280_controller3) "#AUTO #HOME #LOOPER #RES #TCPERR"
set contSubs(dmc2280_controller4) "#AUTO #HOME #LIMSWI #LOOPER #TCPERR"
# These threads should be running on the controllers.
set contThreads(dmc2280_controller1) "0"
set contThreads(dmc2280_controller2) "0"
set contThreads(dmc2280_controller3) "0"
set contThreads(dmc2280_controller4) "0"