Bringing kowari layout and config inline with the current requirements of

the deployment script.

r1940 | ffr | 2007-05-07 15:30:02 +1000 (Mon, 07 May 2007) | 3 lines
This commit is contained in:
Ferdi Franceschini
2007-05-07 15:30:02 +10:00
committed by Douglas Clowes
parent 84f883f5d7
commit 6fc1a8feca
11 changed files with 681 additions and 42 deletions

View File

@@ -1,8 +1,5 @@
sics_ports.tcl
kowari_configuration.tcl
motor_configuration.tcl
hipadaba_configuration.tcl
hpaths.tcl
kowari.hdd
troubleshoot_setup.tcl
extraconfig.tcl
InstXML.xml
config
util

View File

@@ -0,0 +1,2 @@
all:

View File

@@ -0,0 +1,7 @@
config/plc/plc_common_1.tcl
config/counter/counter_common_1.tcl
config/hipadaba/common_hipadaba_configuration.tcl
config/hmm/hmm_configuration_common_1.tcl
config/scan/scan_common_1.hdd
config/scan/scan_common_1.tcl
config/nexus/nxscripts_common_1.tcl

View File

@@ -0,0 +1,6 @@
all:
make -C nexus
clean:
make -C nexus clean

View File

@@ -0,0 +1 @@
source $cfPath(hipadaba)/common_hipadaba_configuration.tcl

View File

@@ -0,0 +1,29 @@
set hpaths [list experiment detector detector/monitor detector/histmem ]
# Maps devices (eg motors) to hipadaba paths.
# obj name path
set motor_hpath [list \
sample sample \
collimator collimator \
crystal monochromator \
monochromator monochromator \
aperture slits ]
# Configurable virtual motors
# obj name path master_obj
set cvirtmotor_hpath [list \
ss1vg ss1vg slits/first [list top bottom left right]\
ss1vo ss1vo slits/first [list top bottom left right]\
ss1hg ss1hg slits/first [list top bottom left right]\
ss1ho ss1ho slits/first [list top bottom left right]\
ss2vg ss2vg slits/second [list top bottom left right]\
ss2vo ss2vo slits/second [list top bottom left right]\
ss2hg ss2hg slits/second [list top bottom left right]\
ss2ho ss2ho slits/second [list top bottom left right]\
sth sth sample [SplitReply [stth long_name]]\
mth mth monochromator [SplitReply [mtth long_name]]]
array set counter_hpath [ list \
hm /detector/histmem \
counter /detector/monitor ]

View File

@@ -0,0 +1,581 @@
# $Revision: 1.1 $
# $Date: 2007-05-07 05:30:02 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: ffr $
# START MOTOR CONFIGURATION
set animal kowari
# Setup addresses of Galil DMC2280 controllers.
set dmc2280_controller1(host) mc1-$animal
set dmc2280_controller1(port) pmc1-$animal
set dmc2280_controller2(host) mc2-$animal
set dmc2280_controller2(port) pmc2-$animal
set dmc2280_controller3(host) mc3-$animal
set dmc2280_controller3(port) pmc3-$animal
set dmc2280_controller4(host) mc4-$animal
set dmc2280_controller4(port) pmc4-$animal
MakeMultiChan mc1 $dmc2280_controller1(host) $dmc2280_controller1(port)
MakeMultiChan mc2 $dmc2280_controller2(host) $dmc2280_controller2(port)
MakeMultiChan mc3 $dmc2280_controller3(host) $dmc2280_controller3(port)
MakeMultiChan mc4 $dmc2280_controller4(host) $dmc2280_controller4(port)
#Measured absolute encoder reading at home position
set mphi_Home 7500000
set mchi_Home 7500000
set my_Home 7500000
set mx_Home 7500000
set mom_Home 7500000
set mtth_Home 7500000
set sy_Home 7500000
set sx_Home 7500000
set som_Home 7500000
set stth_Home 7500000
set mf1_Home 7500000
set move_count 10
############################
# Motor Controller 1
# Motor Controller 1
# Motor Controller 1
############################
#:TP at HOME
#
# Monochromator phi, Tilt 1, upper
Motor mphi DMC2280 [params \
multichan mc1\
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis A\
units degrees\
hardlowerlim -5\
hardupperlim 5\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -25000\
absEnc 1\
absEncHome $mphi_Home\
cntsPerX -8192]
setHomeandRange -motor mphi -home 0 -lowrange 15 -uprange 15
mphi speed 1
mphi movecount $move_count
mphi precision 0.01
mphi part crystal
mphi long_name phi
# Monochromator chi, Tilt 2, lower
Motor mchi DMC2280 [params \
multichan mc1\
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis B\
units degrees\
hardlowerlim 85\
hardupperlim 95\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome $mchi_Home\
cntsPerX 8192]
setHomeandRange -motor mchi -home 90 -lowrange 15 -uprange 15
mchi speed 1
mchi movecount $move_count
mchi precision 0.01
mchi part crystal
mchi long_name chi
# Monochromator Trans 1, upper
Motor my DMC2280 [params \
multichan mc1\
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis C\
units mm\
hardlowerlim -10\
hardupperlim 10\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome $my_Home\
cntsPerX 8192]
setHomeandRange -motor my -home 0 -lowrange 20 -uprange 20
my speed 1
my movecount $move_count
my precision 0.01
my part crystal
my long_name translate_y
# Monochromator Trans 2, lower
Motor mx DMC2280 [params \
multichan mc1\
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis D\
units mm\
hardlowerlim -10\
hardupperlim 10\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -25000\
absEnc 1\
absEncHome $mx_Home\
cntsPerX -8192]
setHomeandRange -motor mx -home 0 -lowrange 20 -uprange 20
mx speed 1
mx movecount $move_count
mx precision 0.01
mx part crystal
mx long_name translate_x
# Monochromator omega, rotate
Motor mom DMC2280 [params \
multichan mc1\
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis E\
units degrees\
hardlowerlim -5\
hardupperlim 95\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -12500\
absEnc 1\
absEncHome $mom_Home\
cntsPerX -4096]
setHomeandRange -motor mom -home 0 -lowrange 180 -uprange 180
mom speed 1
mom movecount $move_count
mom precision 0.01
mom part crystal
mom long_name rotate
# Monochromator two-theta, flight-tube rotate
Motor mtth DMC2280 [params \
multichan mc1\
host $dmc2280_controller1(host)\
port $dmc2280_controller1(port)\
axis F\
units degrees\
hardlowerlim 45\
hardupperlim 100\
maxSpeed 0.2\
maxAccel 0.2\
maxDecel 0.2\
stepsPerX [expr 25000*10]\
airpads 1\
settle 5\
motoffdelay 5000\
absEnc 1\
absEncHome $mtth_Home\
cntsPerX -93207]
mtth softlowerlim 45
mtth softupperlim 100
mtth home 90
mtth speed 0.2
mtth movecount $move_count
mtth accel 0.01
mtth decel 0.01
mtth precision 0.01
mtth maxretry 20
mtth failafter 100
mtth blockage_check_interval 5
mtth part crystal
mtth long_name takeoff_angle
############################
# Motor Controller 2
# Motor Controller 2
# Motor Controller 2
############################
#:TP at HOME
#
# Sample Trans, vertical, first stage
Motor sz1 DMC2280 [params \
multichan mc2\
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis A\
units mm\
hardlowerlim 0\
hardupperlim 350\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000]
setHomeandRange -motor sz1 -home 0 -lowrange 0 -uprange 350
sz1 speed 1
sz1 precision 0.01
sz1 part sample.first
sz1 long_name vertical_translation
# Sample Trans, vertical, second stage
Motor sz2 DMC2280 [params \
multichan mc2\
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis B\
units mm\
hardlowerlim 0\
hardupperlim 350\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000]
setHomeandRange -motor sz2 -home 0 -lowrange 0 -uprange 350
sz2 speed 1
sz2 precision 0.01
sz2 part sample.second
sz2 long_name vertical_translation
# Sample Trans 1, upper, y
Motor sy DMC2280 [params \
multichan mc2\
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis C\
units mm\
hardlowerlim -20\
hardupperlim 20\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 5000\
absEnc 1\
absEncHome $sy_Home\
cntsPerX 1638.4]
setHomeandRange -motor sy -home 0 -lowrange 250 -uprange 250
sy speed 1
sy movecount $move_count
sy precision 0.01
sy part sample
sy long_name translate_y
# Sample Trans2, lower, x
Motor sx DMC2280 [params \
multichan mc2\
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis D\
units mm\
hardlowerlim -20\
hardupperlim 20\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 5000\
absEnc 1\
absEncHome $sx_Home\
cntsPerX 1638.4]
setHomeandRange -motor sx -home 0 -lowrange 250 -uprange 250
sx speed 1
sx movecount $move_count
sx precision 0.01
sx part sample
sx long_name translate_x
# Sample Omega, rotate
Motor som DMC2280 [params \
multichan mc2\
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis E\
units degrees\
hardlowerlim -54\
hardupperlim 120\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 12500\
absEnc 1\
absEncHome $som_Home\
cntsPerX 4096]
setHomeandRange -motor som -home 0 -lowrange 100 -uprange 100
som speed 1
som precision 0.01
som part sample
som long_name rotate
# Sample two-theta, detector rotate
Motor stth DMC2280 [params \
multichan mc2\
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis F\
units degrees\
hardlowerlim -120\
hardupperlim 30\
maxSpeed 0.5\
maxAccel 0.1\
maxDecel 0.1\
stepsPerX 125000\
absEnc 1\
absEncHome $stth_Home\
cntsPerX -93207]
stth softlowerlim -120
stth softupperlim 30
stth home 0
stth speed 0.5
stth movecount $move_count
stth precision 0.01
stth part sample
stth long_name azimuthal_angle
############################
# Motor Controller 3
# Motor Controller 3
# Motor Controller 3
############################
#
# Monochromator Focusing (HOPG)
#Motor mf1 DMC2280 [params \
# multichan mc3\
# host $dmc2280_controller3(host)\
# port $dmc2280_controller3(port)\
# axis A\
# units degrees\
# hardlowerlim xxxx\
# hardupperlim xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx\
# absEnc 1\
# absEncHome $mf1_Home\
# cntsPerX xxxx]
#setHomeandRange -motor mf1 -home 0 -lowrange 0 -uprange 360
#mf1 speed 1
#mfl movecount $move_count
#mf1 precision 0.01
#mf1 part monochromator
#mf1 long_name mf1
# Monochromator Focusing (Ge)
Motor mf2 DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis B\
units degrees\
hardlowerlim 0\
hardupperlim 1\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome 1400\
cntsPerX 14600]
setHomeandRange -motor mf2 -home 0 -lowrange 0 -uprange 360
mf2 speed 0.1
mf2 precision 0.01
mf2 part monochromator
mf2 long_name mf2
## Eulerian-chi
#Motor echi DMC2280 [params \
# host $dmc2280_controller3(host)\
# port $dmc2280_controller3(port)\
# axis G\
# units degrees\
# maxSpeed 1\
# maxAccel 1\
# maxDecel 1\
# stepsPerX 25000]
#setHomeandRange -motor echi -home 0 -lowrange 0 -uprange 360
#echi speed 1
#echi precision 0.01
## Eulerian-phi
#Motor ephi DMC2280 [params \
# host $dmc2280_controller3(host)\
# port $dmc2280_controller3(port)\
# axis H\
# units degrees\
# maxSpeed 1\
# maxAccel 1\
# maxDecel 1\
# stepsPerX 25000]
#setHomeandRange -motor ephi -home 0 -lowrange 0 -uprange 360
#ephi speed 1
#ephi precision 0.01
############################
# Motor Controller 4
# Motor Controller 4
# Motor Controller 4
############################
#
# Primary Slit, horizontal offset, 0-30mm
Motor psho DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis A\
units mm\
hardlowerlim 0\
hardupperlim 30\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 542093]
psho part aperture.primary
psho long_name horizontal_offset
setHomeandRange -motor psho -home 0 -lowrange 0 -uprange 30
# Primary Slit, position 0-150mm
Motor psp DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis B\
units mm\
hardlowerlim 0\
hardupperlim 150\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 2040518]
psp part aperture.primary
psp long_name position
setHomeandRange -motor psp -home 0 -lowrange 0 -uprange 150
# Primary Slit, width, 0-30mm
Motor psw DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis C\
units mm\
hardlowerlim 0\
hardupperlim 30\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 2040518]
psw part aperture.primary
psw part long_name width
setHomeandRange -motor psw -home 0 -lowrange 0 -uprange 30
## Primary Slit, height, 0-30mm
#Motor psh DMC2280 [params \
# host $dmc2280_controller4(host)\
# port $dmc2280_controller4(port)\
# axis D\
# units mm\
# hardlowerlim 0\
# hardupperlim 30\
# maxSpeed 1\
# maxAccel 1\
# maxDecel 1\
# stepsPerX -20125\
# motorHome 542093]
#psh part aperture.primary
#psh part long_name height
#setHomeandRange -motor psh -home 0 -lowrange 0 -uprange 30
#--------------------------------------------------------
# Secondary Slit, horizontal offset
Motor ssho DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis E\
units mm\
hardlowerlim 0\
hardupperlim 30\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 500000]
ssho part aperture.secondary
ssho long_name horizontal_offset
setHomeandRange -motor ssho -home 0 -lowrange 0 -uprange 30
# Secondary Slit, position
Motor ssp DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis F\
units mm\
hardlowerlim 0\
hardupperlim 150\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 2043085]
ssp part aperture.secondary
ssp long_name position
setHomeandRange -motor ssp -home 0 -lowrange 0 -uprange 150
# Secondary Slit, width
Motor ssw DMC2280 [params \
host $dmc2280_controller4(host)\
port $dmc2280_controller4(port)\
axis G\
units mm\
hardlowerlim 0\
hardupperlim 30\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20125\
motorHome 2043085]
ssw part aperture.secondary
ssw long_name width
setHomeandRange -motor ssw -home 0 -lowrange 0 -uprange 30
## Secondary Slit, height
#Motor ssh DMC2280 [params \
# host $dmc2280_controller4(host)\
# port $dmc2280_controller4(port)\
# axis H\
# units mm\
# hardlowerlim 0\
# hardupperlim 30\
# maxSpeed 1\
# maxAccel 1\
# maxDecel 1\
# stepsPerX -20125\
# motorHome 500000]
#ssh part aperture.secondary
#ssh long_name height
#setHomeandRange -motor ssh -home 0 -lowrange 0 -uprange 30
#--------------------------------------------------------
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
proc sthGet {} { return [expr [SplitReply [stth]]/2.0]}
proc sthSet {val} { return "stth=[SplitReply [stth]]"}
publish sthGet user
publish sthSet user
MakeConfigurableMotor sth
sth readscript sthGet
sth drivescript sthSet
#--------------------------------------------------------
# END MOTOR CONFIGURATION

View File

@@ -1,50 +1,58 @@
# $Revision: 1.4 $
# $Date: 2006-11-13 22:40:29 $
# $Revision: 1.5 $
# $Date: 2007-05-07 05:30:02 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: dcl $
# Last revision by: $Author: ffr $
# Required by server_config.tcl
VarMake Instrument Text Internal
Instrument kowari
Instrument lock
#START SERVER CONFIGURATION SECTION
source dmc2280_util.tcl
set quieckport quieck-kowari
set serverport server-kowari
set interruptport interrupt-kowari
set telnetport telnet-kowari
source util/dmc2280/dmc2280_util.tcl
source sics_ports.tcl
source server_config.tcl
#END SERVER CONFIGURATION SECTION
########################################
# INSTRUMENT SPECIFIC CONFIGURATION
VarMake Instrument Text Internal
Instrument Kowari
Instrument lock
set hmm_mode normal
MakeCounter simCtr SIM -1.0
#-------------------------------------------------------------------------
# System: Histogram Server
#------------------------------------------------------------------------
fileeval $cfPath(motors)/motor_configuration.tcl
# 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
fileeval $cfPath(plc)/plc.tcl
fileeval $cfPath(counter)/counter.tcl
fileeval $cfPath(hmm)/hmm_configuration.tcl
fileeval $cfPath(nexus)/nxscripts.tcl
fileeval $cfPath(scan)/scan.tcl
source $cfPath(hipadaba)/hipadaba_configuration.tcl
source gumxml.tcl
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
MakeStateMon hmscan
VarMake detector_active_height_mm Float User
detector_active_height_mm 200.0
VarMake detector_active_width Float User
detector_active_width 200.0
VarMake crystal_type Text User
VarMake crystal_wavelength_A Float User
VarMake bmon_distance Float User
## Column number at beam centre
VarMake detector_zero_row Float User
detector_zero_row 255.5
## Row number at beam centre for a detector rotation of 0 degrees
VarMake detector_zero_col Float User
detector_zero_col 100
detector_type Kowari detector
detector_type lock
detector_description This detects Kowaris
detector_description lock
fileeval motor_configuration.tcl
source gen_hipadaba.tcl
fileeval extraconfig.tcl

View File

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

View File

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