Initial configuration.
r1158 | ffr | 2006-10-16 09:50:25 +1000 (Mon, 16 Oct 2006) | 2 lines
This commit is contained in:
committed by
Douglas Clowes
parent
075fcaa226
commit
74ad3d225f
4
site_ansto/instrument/qld/MANIFEST.TXT
Normal file
4
site_ansto/instrument/qld/MANIFEST.TXT
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
koala_configuration.tcl
|
||||||
|
hipadaba_koala_configuration.tcl
|
||||||
|
koala.hdd
|
||||||
|
troubleshoot_setup.tcl
|
||||||
167
site_ansto/instrument/qld/hipadaba_koala_configuration.tcl
Normal file
167
site_ansto/instrument/qld/hipadaba_koala_configuration.tcl
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
# $Revision: 1.1 $
|
||||||
|
# $Date: 2006-10-15 23:50:25 $
|
||||||
|
# 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 /slits spy none
|
||||||
|
hmake /slits/1 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
|
||||||
|
|
||||||
|
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="koala"
|
||||||
|
label="Koala">
|
||||||
|
<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>
|
||||||
|
</hipadaba:Instrument>
|
||||||
|
</sdo:datagraph>
|
||||||
|
} "value"
|
||||||
|
}
|
||||||
|
publish xhlist spy
|
||||||
|
|
||||||
8
site_ansto/instrument/qld/koala.hdd
Normal file
8
site_ansto/instrument/qld/koala.hdd
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
##SICS ASCII at Koala
|
||||||
|
*************************** Koala SCAN File ********************************
|
||||||
|
Original Filename = !!FILE!!
|
||||||
|
Title = !!VAR(Title)!!
|
||||||
|
User = !!VAR(User)!!
|
||||||
|
Sample Name = !!VAR(sample)!!
|
||||||
|
File Creation Date = !!DATE!!
|
||||||
|
**************************** DATA ******************************************
|
||||||
178
site_ansto/instrument/qld/koala_configuration.tcl
Normal file
178
site_ansto/instrument/qld/koala_configuration.tcl
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
# $Revision: 1.1 $
|
||||||
|
# $Date: 2006-10-15 23:50:25 $
|
||||||
|
# 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 Koala
|
||||||
|
Instrument lock
|
||||||
|
|
||||||
|
# Setup addresses of Galil DMC2280 controllers.
|
||||||
|
set dmc2280_controller1(host) mc1-koala
|
||||||
|
set dmc2280_controller1(port) pmc1-koala
|
||||||
|
|
||||||
|
# Run slit homing routines
|
||||||
|
#if [catch {dmc_connect dmc2280_controller1} ] {
|
||||||
|
# dmc_sendCmd dmc2280_controller1 "XQ#HOME,1"
|
||||||
|
# dmc_close dmc2280_controller1
|
||||||
|
#}
|
||||||
|
#if [catch {dmc_connect dmc2280_controller1} ] {
|
||||||
|
# dmc_sendCmd dmc2280_controller1 "XQ#HOME,1"
|
||||||
|
# dmc_close dmc2280_controller1
|
||||||
|
#}
|
||||||
|
|
||||||
|
#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_controller1(host)\
|
||||||
|
port $dmc2280_controller1(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_controller1(host)\
|
||||||
|
port $dmc2280_controller1(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_controller1(host)\
|
||||||
|
port $dmc2280_controller1(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_controller1(host)\
|
||||||
|
port $dmc2280_controller1(port)\
|
||||||
|
axis F\
|
||||||
|
units mm\
|
||||||
|
maxSpeed 1\
|
||||||
|
maxAccel 1\
|
||||||
|
maxDecel 1\
|
||||||
|
stepsPerX -20125\
|
||||||
|
motorHome 542093]
|
||||||
|
setHomeandRange -motor ss1r -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
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
# END MOTOR CONFIGURATION
|
||||||
|
|
||||||
|
source hipadaba_koala_configuration.tcl
|
||||||
22
site_ansto/instrument/qld/troubleshoot_setup.tcl
Normal file
22
site_ansto/instrument/qld/troubleshoot_setup.tcl
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# Koala troubleshooter setup
|
||||||
|
|
||||||
|
# $Revision: 1.1 $
|
||||||
|
# $Date: 2006-10-15 23:50:25 $
|
||||||
|
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
||||||
|
# Last revision by $Author: ffr $
|
||||||
|
|
||||||
|
set configFileName "koala_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"
|
||||||
|
|
||||||
Reference in New Issue
Block a user