Configuration files mostly copied from Platypus Reflectometer
r2050 | dcl | 2007-07-09 15:25:57 +1000 (Mon, 09 Jul 2007) | 2 lines
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
quokka_configuration.tcl
|
||||
velsel.tcl
|
||||
hipadaba_configuration.tcl
|
||||
InstXML.xml
|
||||
sics_ports.tcl
|
||||
extraconfig.tcl
|
||||
config
|
||||
util
|
||||
|
||||
14
site_ansto/instrument/sans/Makefile
Normal file
14
site_ansto/instrument/sans/Makefile
Normal file
@@ -0,0 +1,14 @@
|
||||
cfPath=config/motors
|
||||
|
||||
all: script_val
|
||||
make -C config
|
||||
|
||||
|
||||
script_val: SVmotors
|
||||
|
||||
|
||||
SVmotors: $(cfPath)/motor_configuration.tcl
|
||||
../mksim_config.tcl -f $(cfPath)/motor_configuration.tcl > script_validator/$(cfPath)/motor_configuration.tcl
|
||||
|
||||
clean:
|
||||
make -C config clean
|
||||
873
site_ansto/instrument/sans/config/motors/motor_configuration.tcl
Normal file
873
site_ansto/instrument/sans/config/motors/motor_configuration.tcl
Normal file
@@ -0,0 +1,873 @@
|
||||
# $Revision: 1.1 $
|
||||
# $Date: 2007-07-09 05:21:43 $
|
||||
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
||||
# Last revision by: $Author: dcl $
|
||||
|
||||
# START MOTOR CONFIGURATION
|
||||
|
||||
set animal platypus
|
||||
set sim_mode [SplitReply [motor_simulation]]
|
||||
if {$sim_mode == "true"} {
|
||||
set motor_driver_type asim
|
||||
} else {
|
||||
set motor_driver_type DMC2280
|
||||
}
|
||||
|
||||
# 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
|
||||
|
||||
MakeAsyncQueue mc1 DMC2280 $dmc2280_controller1(host) $dmc2280_controller1(port)
|
||||
MakeAsyncQueue mc2 DMC2280 $dmc2280_controller2(host) $dmc2280_controller2(port)
|
||||
MakeAsyncQueue mc3 DMC2280 $dmc2280_controller3(host) $dmc2280_controller3(port)
|
||||
MakeAsyncQueue mc4 DMC2280 $dmc2280_controller4(host) $dmc2280_controller4(port)
|
||||
|
||||
#Measured absolute encoder reading at home position
|
||||
|
||||
set bz_home 8142000
|
||||
set c1ht_home 8265000
|
||||
set m1ro_home 134658
|
||||
set bat_home 8308518
|
||||
set st3vt_home 8742250
|
||||
set st4vt_home 8806900
|
||||
set sth_home 23511400
|
||||
set sphi_home 7548440
|
||||
set sx_home 8574000
|
||||
set sy_home 7500000
|
||||
set sz_home 8927484
|
||||
set dy_home 7500000
|
||||
set dz_home 7805000
|
||||
|
||||
#Measured or computed step rate for sz (Sample Raise)
|
||||
#set szStepRate -116500
|
||||
set szStepRate -125000
|
||||
#set szCountRate [expr -(8192.0/5.0/0.932)]
|
||||
# 8192 count encoder, 5mm/Turn screw, 14:15 gearing?
|
||||
set szCountRate [expr -(8192.0/5.0/(14.0/15.0))]
|
||||
|
||||
#Measured or computed slit motor steps per millimetre
|
||||
# 2mm per turn pitch,
|
||||
# 6 * 7:3 gears ~= 161.384
|
||||
# 250 steps per turn,
|
||||
# = 20173.010973936899862825788751715
|
||||
set slitStepRate 20173.0109739
|
||||
|
||||
#Measured slit gap, in units, after homing on limit switches
|
||||
set ss1h_Gap 56.7
|
||||
set ss1v_Gap 54.5
|
||||
set ss2h_Gap 9.1
|
||||
set ss2v_Gap 23.1
|
||||
|
||||
set ss3h_Gap 7.4
|
||||
set ss3v_Gap 28.6
|
||||
set ss4h_Gap 12.1
|
||||
set ss4v_Gap 23.6
|
||||
|
||||
#Calculate the Home (zero) position as being in the middle of the gap
|
||||
set ss1r_Home [expr $ss1h_Gap/2.0*$slitStepRate]
|
||||
set ss1l_Home [expr $ss1h_Gap/2.0*$slitStepRate]
|
||||
set ss1u_Home [expr $ss1v_Gap/2.0*$slitStepRate]
|
||||
set ss1d_Home [expr $ss1v_Gap/2.0*$slitStepRate]
|
||||
set ss2r_Home [expr $ss2h_Gap/2.0*$slitStepRate]
|
||||
set ss2l_Home [expr $ss2h_Gap/2.0*$slitStepRate]
|
||||
set ss2u_Home [expr $ss2v_Gap/2.0*$slitStepRate]
|
||||
set ss2d_Home [expr $ss2v_Gap/2.0*$slitStepRate]
|
||||
|
||||
set ss3r_Home [expr $ss3h_Gap/2.0*$slitStepRate]
|
||||
set ss3l_Home [expr $ss3h_Gap/2.0*$slitStepRate]
|
||||
set ss3u_Home [expr $ss3v_Gap/2.0*$slitStepRate]
|
||||
set ss3d_Home [expr $ss3v_Gap/2.0*$slitStepRate]
|
||||
set ss4r_Home [expr $ss4h_Gap/2.0*$slitStepRate]
|
||||
set ss4l_Home [expr $ss4h_Gap/2.0*$slitStepRate]
|
||||
set ss4u_Home [expr $ss4v_Gap/2.0*$slitStepRate]
|
||||
set ss4d_Home [expr $ss4v_Gap/2.0*$slitStepRate]
|
||||
|
||||
#Default upper and lower ranges for vertical slits
|
||||
set vSlitHome 0
|
||||
set vSlitLoRange 5
|
||||
set vSlitHiRange 25
|
||||
|
||||
#Default upper and lower ranges for horizontal slits
|
||||
set hSlitHome 0
|
||||
set hSlitLoRange 5
|
||||
set hSlitHiRange 25
|
||||
|
||||
if {0} {
|
||||
#calculate individual slit motor low ranges
|
||||
set ss1r_LoRange [expr $hSlitHome - $hSlitLoRange]
|
||||
set ss1l_LoRange [expr $hSlitHome - $hSlitHiRange]
|
||||
set ss1u_LoRange [expr $vSlitHome - $vSlitLoRange]
|
||||
set ss1d_LoRange [expr $vSlitHome - $vSlitHiRange]
|
||||
set ss2r_LoRange [expr $hSlitHome - $hSlitLoRange]
|
||||
set ss2l_LoRange [expr $hSlitHome - $hSlitHiRange]
|
||||
set ss2u_LoRange [expr $vSlitHome - $vSlitLoRange]
|
||||
set ss2d_LoRange [expr $vSlitHome - $vSlitHiRange]
|
||||
|
||||
set ss3r_LoRange [expr $hSlitHome - $hSlitLoRange]
|
||||
set ss3l_LoRange [expr $hSlitHome - $hSlitHiRange]
|
||||
set ss3u_LoRange [expr $vSlitHome - $vSlitLoRange]
|
||||
set ss3d_LoRange [expr $vSlitHome - $vSlitHiRange]
|
||||
set ss4r_LoRange [expr $hSlitHome - $hSlitLoRange]
|
||||
set ss4l_LoRange [expr $hSlitHome - $hSlitHiRange]
|
||||
set ss4u_LoRange [expr $vSlitHome - $vSlitLoRange]
|
||||
set ss4d_LoRange [expr $vSlitHome - $vSlitHiRange]
|
||||
|
||||
#calculate individual slit motor high ranges
|
||||
set ss1r_HiRange [expr $hSlitHome + $hSlitHiRange]
|
||||
set ss1l_HiRange [expr $hSlitHome + $hSlitLoRange]
|
||||
set ss1u_HiRange [expr $vSlitHome + $vSlitHiRange]
|
||||
set ss1d_HiRange [expr $vSlitHome + $vSlitLoRange]
|
||||
set ss2r_HiRange [expr $hSlitHome + $hSlitHiRange]
|
||||
set ss2l_HiRange [expr $hSlitHome + $hSlitLoRange]
|
||||
set ss2u_HiRange [expr $vSlitHome + $vSlitHiRange]
|
||||
set ss2d_HiRange [expr $vSlitHome + $vSlitLoRange]
|
||||
|
||||
set ss3r_HiRange [expr $hSlitHome + $hSlitHiRange]
|
||||
set ss3l_HiRange [expr $hSlitHome + $hSlitLoRange]
|
||||
set ss3u_HiRange [expr $vSlitHome + $vSlitHiRange]
|
||||
set ss3d_HiRange [expr $vSlitHome + $vSlitLoRange]
|
||||
set ss4r_HiRange [expr $hSlitHome + $hSlitHiRange]
|
||||
set ss4l_HiRange [expr $hSlitHome + $hSlitLoRange]
|
||||
set ss4u_HiRange [expr $vSlitHome + $vSlitHiRange]
|
||||
set ss4d_HiRange [expr $vSlitHome + $vSlitLoRange]
|
||||
} else {
|
||||
#calculate individual slit motor low ranges
|
||||
set ss1r_LoRange [expr $hSlitHome - $hSlitLoRange]
|
||||
set ss1l_LoRange [expr $hSlitHome - $hSlitHiRange]
|
||||
set ss1u_LoRange [expr $vSlitHome - $vSlitLoRange]
|
||||
set ss1d_LoRange [expr $vSlitHome - $vSlitHiRange]
|
||||
set ss2r_LoRange [expr $hSlitHome - $hSlitLoRange]
|
||||
set ss2l_LoRange [expr $hSlitHome - $hSlitHiRange]
|
||||
set ss2u_LoRange [expr $vSlitHome - $vSlitLoRange]
|
||||
set ss2d_LoRange [expr $vSlitHome - $vSlitHiRange]
|
||||
|
||||
set ss3r_LoRange -12.0
|
||||
set ss3l_LoRange -26.0
|
||||
set ss3u_LoRange -5.0
|
||||
set ss3d_LoRange -26.0
|
||||
set ss4r_LoRange -13.0
|
||||
set ss4l_LoRange -27.0
|
||||
set ss4u_LoRange -6.0
|
||||
set ss4d_LoRange -26.0
|
||||
|
||||
#calculate individual slit motor high ranges
|
||||
set ss1r_HiRange [expr $hSlitHome + $hSlitHiRange]
|
||||
set ss1l_HiRange [expr $hSlitHome + $hSlitLoRange]
|
||||
set ss1u_HiRange [expr $vSlitHome + $vSlitHiRange]
|
||||
set ss1d_HiRange [expr $vSlitHome + $vSlitLoRange]
|
||||
set ss2r_HiRange [expr $hSlitHome + $hSlitHiRange]
|
||||
set ss2l_HiRange [expr $hSlitHome + $hSlitLoRange]
|
||||
set ss2u_HiRange [expr $vSlitHome + $vSlitHiRange]
|
||||
set ss2d_HiRange [expr $vSlitHome + $vSlitLoRange]
|
||||
|
||||
set ss3r_HiRange 27.0
|
||||
set ss3l_HiRange 14.0
|
||||
set ss3u_HiRange 29.0
|
||||
set ss3d_HiRange 8.0
|
||||
set ss4r_HiRange 32.0
|
||||
set ss4l_HiRange 14.0
|
||||
set ss4u_HiRange 27.0
|
||||
set ss4d_HiRange 8.0
|
||||
}
|
||||
|
||||
# set movecount high to reduce the frequency of
|
||||
# hnotify messages to a reasonable level
|
||||
set move_count 100
|
||||
|
||||
############################
|
||||
# Motor Controller 1
|
||||
# Motor Controller 1
|
||||
# Motor Controller 1
|
||||
############################
|
||||
#:TP at HOME
|
||||
#
|
||||
|
||||
# Beam Shade Vertical Translation (6mm/T double helix, 500mm)
|
||||
Motor bz $motor_driver_type [params \
|
||||
asyncqueue mc1\
|
||||
axis A\
|
||||
units mm\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 275\
|
||||
maxSpeed 5\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX [expr -25000.0/6.0]\
|
||||
absEnc 1\
|
||||
absEncHome $bz_home\
|
||||
cntsPerX [expr -8192.0/6.0]]
|
||||
bz part detector
|
||||
bz long_name shade
|
||||
bz softlowerlim 0
|
||||
bz softupperlim 275
|
||||
bz home 0
|
||||
|
||||
# Collimator Table Horizontal Translation, X
|
||||
Motor c1ht $motor_driver_type [params \
|
||||
asyncqueue mc1\
|
||||
axis B\
|
||||
units mm\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 1065\
|
||||
maxSpeed 10\
|
||||
maxAccel 1\
|
||||
maxDecel 10\
|
||||
stepsPerX [expr 25000.0/5.0]\
|
||||
absEnc 1\
|
||||
absEncHome $c1ht_home\
|
||||
cntsPerX [expr -8192.0/5.0]]
|
||||
c1ht part collimator
|
||||
c1ht long_name translation
|
||||
c1ht softlowerlim 0
|
||||
c1ht softupperlim 1065
|
||||
c1ht home 0
|
||||
|
||||
# Collimator Tilt, Z axis, positive is down
|
||||
Motor m1ro $motor_driver_type [params \
|
||||
asyncqueue mc1\
|
||||
axis C\
|
||||
units degrees\
|
||||
hardlowerlim -3.5\
|
||||
hardupperlim 3.5\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX 275000\
|
||||
absEnc 1\
|
||||
absEncHome $m1ro_home\
|
||||
cntsPerX [expr -262144.0/360.0]]
|
||||
m1ro part collimator
|
||||
m1ro long_name rotation
|
||||
m1ro softlowerlim -3.5
|
||||
m1ro softupperlim 3.5
|
||||
m1ro home 0
|
||||
|
||||
# Beam Attenuator (16mm/turn, 200mm travel)
|
||||
Motor bat $motor_driver_type [params \
|
||||
asyncqueue mc1\
|
||||
axis D\
|
||||
units mm\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 200\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX [expr 25000.0/16.0]\
|
||||
absEnc 1\
|
||||
absEncHome $bat_home\
|
||||
cntsPerX [expr 8192.0/16.0]]
|
||||
bat part attenuator
|
||||
bat long_name beam_attenuator
|
||||
bat softlowerlim 0
|
||||
bat softupperlim 200
|
||||
bat home 0
|
||||
|
||||
# Slit 3 Tower Translation (1mm/T, +/- 100mm)
|
||||
Motor st3vt $motor_driver_type [params \
|
||||
asyncqueue mc1\
|
||||
axis E\
|
||||
units mm\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 253\
|
||||
maxSpeed 10\
|
||||
maxAccel 1\
|
||||
maxDecel 10\
|
||||
stepsPerX 25000\
|
||||
absEnc 1\
|
||||
absEncHome $st3vt_home\
|
||||
cntsPerX -8192]
|
||||
st3vt part aperture.3/vertical
|
||||
st3vt long_name st3vt
|
||||
st3vt softlowerlim 0
|
||||
st3vt softupperlim 253
|
||||
st3vt home 0
|
||||
|
||||
# Slit 4 Tower Translation (1mm/T, +/- 100mm)
|
||||
Motor st4vt $motor_driver_type [params \
|
||||
asyncqueue mc1\
|
||||
axis F\
|
||||
units mm\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 249\
|
||||
maxSpeed 10\
|
||||
maxAccel 1\
|
||||
maxDecel 10\
|
||||
stepsPerX 25000\
|
||||
absEnc 1\
|
||||
absEncHome $st4vt_home\
|
||||
cntsPerX -8192]
|
||||
st4vt part aperture.4/vertical
|
||||
st4vt long_name st4vt
|
||||
st4vt softlowerlim 0
|
||||
st4vt softupperlim 249
|
||||
st4vt home 0
|
||||
|
||||
############################
|
||||
# Motor Controller 2
|
||||
# Motor Controller 2
|
||||
# Motor Controller 2
|
||||
############################
|
||||
#:TP at HOME
|
||||
#
|
||||
|
||||
# Sample Tilt 1, upper (1 degree/turn)
|
||||
Motor sth $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis A\
|
||||
units degrees\
|
||||
hardlowerlim -15\
|
||||
hardupperlim 15\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX 25000\
|
||||
backlash_offset -0.25\
|
||||
absEnc 1\
|
||||
absEncHome $sth_home\
|
||||
cntsPerX 8192]
|
||||
sth part sample
|
||||
sth long_name sth
|
||||
setHomeandRange -motor sth -home 0 -lowrange 5 -uprange 5
|
||||
sth speed 1
|
||||
sth precision 0.01
|
||||
|
||||
# Sample Tilt 2, lower (1 degree/turn)
|
||||
Motor sphi $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis B\
|
||||
units degrees\
|
||||
hardlowerlim -5\
|
||||
hardupperlim 5\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX -25000\
|
||||
absEnc 1\
|
||||
absEncHome $sphi_home\
|
||||
cntsPerX -8192]
|
||||
sphi part sample
|
||||
sphi long_name sphi
|
||||
setHomeandRange -motor sphi -home 0 -lowrange 5 -uprange 5
|
||||
sphi speed 1
|
||||
sphi precision 0.01
|
||||
|
||||
# Sample Translation, Linear X (5mm/T, 0-750mm)
|
||||
Motor sx $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis C\
|
||||
units mm\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 734\
|
||||
maxSpeed 10\
|
||||
maxAccel 1\
|
||||
maxDecel 10\
|
||||
stepsPerX [expr 25000.0/5.0]\
|
||||
absEnc 1\
|
||||
absEncHome $sx_home\
|
||||
cntsPerX [expr 8192.0/5.0]]
|
||||
sx part sample
|
||||
sx long_name translate_x
|
||||
sx softlowerlim 0
|
||||
sx softupperlim 730
|
||||
sx home 0
|
||||
|
||||
# Sample Translation, Linear Y
|
||||
#Motor sy $motor_driver_type [params \
|
||||
# asyncqueue mc2\
|
||||
# axis D\
|
||||
# units mm\
|
||||
# hardlowerlim -600\
|
||||
# hardupperlim -300\
|
||||
# maxSpeed 1\
|
||||
# maxAccel 1\
|
||||
# maxDecel 1\
|
||||
# stepsPerX 25000\
|
||||
# absEnc 1\
|
||||
# absEncHome $sy_home\
|
||||
# cntsPerX 8192]
|
||||
#sy part sample
|
||||
#sy long_name y_translation
|
||||
#sy softlowerlim -600
|
||||
#sy softupperlim -300
|
||||
#sy home -450
|
||||
|
||||
# Sample Translation, Linear Z (??/T, 300mm)
|
||||
Motor sz $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis E\
|
||||
units mm\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 280.0\
|
||||
maxSpeed 2\
|
||||
maxAccel 1\
|
||||
maxDecel 2\
|
||||
stepsPerX $szStepRate\
|
||||
backlash_offset -1\
|
||||
creep_offset 0.01\
|
||||
absEnc 1\
|
||||
absEncHome $sz_home\
|
||||
cntsPerX $szCountRate]
|
||||
sz part sample
|
||||
sz long_name translate_z
|
||||
sz softlowerlim 0
|
||||
sz softupperlim 280.0
|
||||
sz home 0
|
||||
sz speed 2
|
||||
sth precision 0.001
|
||||
|
||||
# Detector Translation, Linear Y (Not Motorized)
|
||||
#Motor dy $motor_driver_type [params \
|
||||
# asyncqueue mc2\
|
||||
# axis F\
|
||||
# units mm\
|
||||
# hardlowerlim -595\
|
||||
# hardupperlim 800\
|
||||
# maxSpeed 1\
|
||||
# maxAccel 1\
|
||||
# maxDecel 1\
|
||||
# stepsPerX 25000\
|
||||
# absEnc 1\
|
||||
# absEncHome $dy_home\
|
||||
# cntsPerX 8192]
|
||||
#dy softlowerlim -595
|
||||
#dy softupperlim 800
|
||||
#dy home 0
|
||||
|
||||
# Detector Translation, Linear Z (5mm/T gearing unknown)
|
||||
Motor dz $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis G\
|
||||
units mm\
|
||||
hardlowerlim 0\
|
||||
hardupperlim 1351\
|
||||
maxSpeed 5\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX -25000\
|
||||
absEnc 1\
|
||||
absEncHome $dz_home\
|
||||
cntsPerX [expr -8192.0/5.0]]
|
||||
dz part detector
|
||||
dz long_name detector
|
||||
dz softlowerlim 0
|
||||
dz softupperlim 1351
|
||||
dz home 0
|
||||
|
||||
############################
|
||||
# Motor Controller 3
|
||||
# Motor Controller 3
|
||||
# Motor Controller 3
|
||||
############################
|
||||
#
|
||||
|
||||
# Slit 1, left
|
||||
Motor ss1l $motor_driver_type [params \
|
||||
asyncqueue mc3\
|
||||
axis A\
|
||||
units mm\
|
||||
hardlowerlim $ss1l_LoRange\
|
||||
hardupperlim $ss1l_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX $slitStepRate\
|
||||
motorHome $ss1l_Home]
|
||||
ss1l part aperture.1/horizontal
|
||||
ss1l long_name left
|
||||
ss1l softlowerlim $ss1l_LoRange
|
||||
ss1l softupperlim $ss1l_HiRange
|
||||
ss1l home 0
|
||||
|
||||
# Slit 1, right
|
||||
Motor ss1r $motor_driver_type [params \
|
||||
asyncqueue mc3\
|
||||
axis B\
|
||||
units mm\
|
||||
hardlowerlim $ss1r_LoRange\
|
||||
hardupperlim $ss1r_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss1r_Home]
|
||||
ss1r part aperture.1/horizontal
|
||||
ss1r long_name right
|
||||
ss1r softlowerlim $ss1r_LoRange
|
||||
ss1r softupperlim $ss1r_HiRange
|
||||
ss1r home 0
|
||||
|
||||
# Slit 1, upper
|
||||
Motor ss1u $motor_driver_type [params \
|
||||
asyncqueue mc3\
|
||||
axis C\
|
||||
units mm\
|
||||
hardlowerlim $ss1u_LoRange\
|
||||
hardupperlim $ss1u_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss1u_Home]
|
||||
ss1u part aperture.1/vertical
|
||||
ss1u long_name upper
|
||||
ss1u softlowerlim $ss1u_LoRange
|
||||
ss1u softupperlim $ss1u_HiRange
|
||||
ss1u home 0
|
||||
|
||||
# Slit 1, lower
|
||||
Motor ss1d $motor_driver_type [params \
|
||||
asyncqueue mc3\
|
||||
axis D\
|
||||
units mm\
|
||||
hardlowerlim $ss1d_LoRange\
|
||||
hardupperlim $ss1d_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX $slitStepRate\
|
||||
motorHome $ss1d_Home]
|
||||
ss1d part aperture.1/vertical
|
||||
ss1d long_name lower
|
||||
ss1d softlowerlim $ss1d_LoRange
|
||||
ss1d softupperlim $ss1d_HiRange
|
||||
ss1d home 0
|
||||
|
||||
# Slit 2, left
|
||||
Motor ss2l $motor_driver_type [params \
|
||||
asyncqueue mc3\
|
||||
axis E\
|
||||
units mm\
|
||||
hardlowerlim $ss2l_LoRange\
|
||||
hardupperlim $ss2l_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX $slitStepRate\
|
||||
motorHome $ss2l_Home]
|
||||
ss2l part aperture.2/horizontal
|
||||
ss2l long_name left
|
||||
ss2l softlowerlim $ss2l_LoRange
|
||||
ss2l softupperlim $ss2l_HiRange
|
||||
ss2l home 0
|
||||
|
||||
# Slit 2, right
|
||||
Motor ss2r $motor_driver_type [params \
|
||||
asyncqueue mc3\
|
||||
axis F\
|
||||
units mm\
|
||||
hardlowerlim $ss2r_LoRange\
|
||||
hardupperlim $ss2r_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss2r_Home]
|
||||
ss2r part aperture.2/horizontal
|
||||
ss2r long_name right
|
||||
ss2r softlowerlim $ss2r_LoRange
|
||||
ss2r softupperlim $ss2r_HiRange
|
||||
ss2r home 0
|
||||
|
||||
# Slit 2, upper
|
||||
Motor ss2u $motor_driver_type [params \
|
||||
asyncqueue mc3\
|
||||
axis G\
|
||||
units mm\
|
||||
hardlowerlim $ss2u_LoRange\
|
||||
hardupperlim $ss2u_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss2u_Home]
|
||||
ss2u part aperture.2/vertical
|
||||
ss2u long_name upper
|
||||
ss2u softlowerlim $ss2u_LoRange
|
||||
ss2u softupperlim $ss2u_HiRange
|
||||
ss2u home 0
|
||||
|
||||
# Slit 2, lower
|
||||
Motor ss2d $motor_driver_type [params \
|
||||
asyncqueue mc3\
|
||||
axis H\
|
||||
units mm\
|
||||
hardlowerlim $ss2d_LoRange\
|
||||
hardupperlim $ss2d_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX $slitStepRate\
|
||||
motorHome $ss2d_Home]
|
||||
ss2d part aperture.2/vertical
|
||||
ss2d long_name lower
|
||||
ss2d softlowerlim $ss2d_LoRange
|
||||
ss2d softupperlim $ss2d_HiRange
|
||||
ss2d home 0
|
||||
|
||||
############################
|
||||
# Motor Controller 4
|
||||
# Motor Controller 4
|
||||
# Motor Controller 4
|
||||
############################
|
||||
#
|
||||
|
||||
# Slit 3, lower
|
||||
Motor ss3d $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis A\
|
||||
units mm\
|
||||
hardlowerlim $ss3d_LoRange\
|
||||
hardupperlim $ss3d_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX $slitStepRate\
|
||||
motorHome $ss3d_Home]
|
||||
ss3d part aperture.3/vertical
|
||||
ss3d long_name lower
|
||||
ss3d softlowerlim $ss3d_LoRange
|
||||
ss3d softupperlim $ss3d_HiRange
|
||||
ss3d home 0
|
||||
|
||||
# Slit 3, upper
|
||||
Motor ss3u $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis B\
|
||||
units mm\
|
||||
hardlowerlim $ss3u_LoRange\
|
||||
hardupperlim $ss3u_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss3u_Home]
|
||||
ss3u part aperture.3/vertical
|
||||
ss3u long_name upper
|
||||
ss3u softlowerlim $ss3u_LoRange
|
||||
ss3u softupperlim $ss3u_HiRange
|
||||
ss3u home 0
|
||||
|
||||
# Slit 3, Left
|
||||
Motor ss3l $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis C\
|
||||
units mm\
|
||||
hardlowerlim $ss3l_LoRange\
|
||||
hardupperlim $ss3l_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX $slitStepRate\
|
||||
motorHome $ss3l_Home]
|
||||
ss3l part aperture.3/horizontal
|
||||
ss3l long_name left
|
||||
ss3l softlowerlim $ss3l_LoRange
|
||||
ss3l softupperlim $ss3l_HiRange
|
||||
ss3l home 0
|
||||
|
||||
# Slit 3, right
|
||||
Motor ss3r $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis D\
|
||||
units mm\
|
||||
hardlowerlim $ss3r_LoRange\
|
||||
hardupperlim $ss3r_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss3r_Home]
|
||||
ss3r part aperture.3/horizontal
|
||||
ss3r long_name right
|
||||
ss3r softlowerlim $ss3r_LoRange
|
||||
ss3r softupperlim $ss3r_HiRange
|
||||
ss3r home 0
|
||||
|
||||
# Slit 4, lower
|
||||
Motor ss4d $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis E\
|
||||
units mm\
|
||||
hardlowerlim $ss4d_LoRange\
|
||||
hardupperlim $ss4d_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX $slitStepRate\
|
||||
motorHome $ss4d_Home]
|
||||
ss4d part aperture.4/vertical
|
||||
ss4d long_name lower
|
||||
ss4d softlowerlim $ss4d_LoRange
|
||||
ss4d softupperlim $ss4d_HiRange
|
||||
ss4d home 0
|
||||
|
||||
# Slit 4, upper
|
||||
Motor ss4u $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis F\
|
||||
units mm\
|
||||
hardlowerlim $ss4u_LoRange\
|
||||
hardupperlim $ss4u_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss4u_Home]
|
||||
ss4u part aperture.4/vertical
|
||||
ss4u long_name upper
|
||||
ss4u softlowerlim $ss4u_LoRange
|
||||
ss4u softupperlim $ss4u_HiRange
|
||||
ss4u home 0
|
||||
|
||||
# Slit 4, left
|
||||
Motor ss4l $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis G\
|
||||
units mm\
|
||||
hardlowerlim $ss4l_LoRange\
|
||||
hardupperlim $ss4l_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX $slitStepRate\
|
||||
motorHome $ss4l_Home]
|
||||
ss4l part aperture.4/horizontal
|
||||
ss4l long_name left
|
||||
ss4l softlowerlim $ss4l_LoRange
|
||||
ss4l softupperlim $ss4l_HiRange
|
||||
ss4l home 0
|
||||
|
||||
# Slit 4, right
|
||||
Motor ss4r $motor_driver_type [params \
|
||||
asyncqueue mc4\
|
||||
axis H\
|
||||
units mm\
|
||||
hardlowerlim $ss4r_LoRange\
|
||||
hardupperlim $ss4r_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 5\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss4r_Home]
|
||||
ss4r part aperture.4/horizontal
|
||||
ss4r long_name right
|
||||
ss4r softlowerlim $ss4r_LoRange
|
||||
ss4r softupperlim $ss4r_HiRange
|
||||
ss4r home 0
|
||||
|
||||
## Polarization Analyzer Vertical Translation, Z
|
||||
#Motor anzvt $motor_driver_type [params \
|
||||
# asyncqueue mc2\
|
||||
# axis xxxx\
|
||||
# units mm\
|
||||
# maxSpeed 1\
|
||||
# maxAccel 1\
|
||||
# maxDecel 1\
|
||||
# stepsPerX 25000\
|
||||
# absEnc 1\
|
||||
# absEncHome 7500000\
|
||||
# cntsPerX 8192]
|
||||
#anzvt part polarizer
|
||||
#anzvt long_name z_translation
|
||||
#anzvt hardlowerlim xxxx
|
||||
#anzvt hardupperlim xxxx
|
||||
#anzvt softlowerlim xxxx
|
||||
#anzvt softupperlim xxxx
|
||||
#anzvt home 0
|
||||
|
||||
## Polarization Analyzer Rotation
|
||||
#Motor anro $motor_driver_type [params \
|
||||
# asyncqueue mc2\
|
||||
# axis xxxx\
|
||||
# units mm\
|
||||
# hardlowerlim -10\
|
||||
# hardupperlim 10\
|
||||
# maxSpeed 1\
|
||||
# maxAccel 1\
|
||||
# maxDecel 1\
|
||||
# stepsPerX 25000\
|
||||
# absEnc 1\
|
||||
# absEncHome 7500000\
|
||||
# cntsPerX 8192]
|
||||
#anro part polarizer
|
||||
#anro long_name rotation
|
||||
#anro softlowerlim -10
|
||||
#anro softupperlim 10
|
||||
#anro home 0
|
||||
|
||||
#proc SplitReply { text } {
|
||||
# set l [split $text =]
|
||||
# return [lindex $l 1]
|
||||
#}
|
||||
|
||||
proc get_gap_width {m1 m2} {
|
||||
return [expr [SplitReply [$m1]] - [SplitReply [$m2]]]
|
||||
}
|
||||
|
||||
proc set_gap_width {m1 m2 val} {
|
||||
set currentWidth [expr [SplitReply [$m1]] - [SplitReply [$m2]]]
|
||||
set diff [expr $val - $currentWidth]
|
||||
set newD1R [expr [SplitReply [$m1]] + $diff/2.0]
|
||||
set newD1L [expr [SplitReply [$m2]] - $diff/2.0]
|
||||
return "$m1=$newD1R,$m2=$newD1L"
|
||||
}
|
||||
|
||||
proc get_gap_offset {m1 m2} {
|
||||
set S1 [SplitReply [$m1]]
|
||||
set S2 [SplitReply [$m2]]
|
||||
return [ expr ($S1 + $S2)/2.0 ]
|
||||
}
|
||||
|
||||
proc set_gap_offset {m1 m2 val} {
|
||||
set S1 [SplitReply [$m1]]
|
||||
set S2 [SplitReply [$m2]]
|
||||
set currentoffset [expr ($S1 + $S2)/2.0 ]
|
||||
set diff [expr $val - $currentoffset]
|
||||
set newD1R [expr $S1 + $diff]
|
||||
set newD1L [expr $S2 + $diff]
|
||||
return "$m1=$newD1R,$m2=$newD1L"
|
||||
}
|
||||
|
||||
# make_gap_motors virt_width_motor virt_offset_motor real_high_motor real_low_motor
|
||||
proc make_gap_motors {vm1 vm2 m1 m2} {
|
||||
eval "proc get_$vm1 {} { get_gap_width $m1 $m2 }"
|
||||
set v {$var}
|
||||
eval "proc set_$vm1 {var} { set_gap_width $m1 $m2 $v }"
|
||||
MakeConfigurableMotor $vm1
|
||||
$vm1 readscript get_$vm1
|
||||
$vm1 drivescript set_$vm1
|
||||
publish get_$vm1 user
|
||||
publish set_$vm1 user
|
||||
|
||||
eval "proc get_$vm2 {} { get_gap_offset $m1 $m2 }"
|
||||
set v {$var}
|
||||
eval "proc set_$vm2 {var} { set_gap_offset $m1 $m2 $v }"
|
||||
MakeConfigurableMotor $vm2
|
||||
$vm2 readscript get_$vm2
|
||||
$vm2 drivescript set_$vm2
|
||||
publish get_$vm2 user
|
||||
publish set_$vm2 user
|
||||
}
|
||||
|
||||
make_gap_motors ss1vg ss1vo ss1u ss1d
|
||||
make_gap_motors ss1hg ss1ho ss1r ss1l
|
||||
|
||||
make_gap_motors ss2vg ss2vo ss2u ss2d
|
||||
make_gap_motors ss2hg ss2ho ss2r ss2l
|
||||
|
||||
make_gap_motors ss3vg ss3vo ss3u ss3d
|
||||
make_gap_motors ss3hg ss3ho ss3r ss3l
|
||||
|
||||
make_gap_motors ss4vg ss4vo ss4u ss4d
|
||||
make_gap_motors ss4hg ss4ho ss4r ss4l
|
||||
|
||||
# END MOTOR CONFIGURATION
|
||||
18
site_ansto/instrument/sans/config/nexus/Makefile
Normal file
18
site_ansto/instrument/sans/config/nexus/Makefile
Normal file
@@ -0,0 +1,18 @@
|
||||
BMON_COMMON=nexus_in_common_1.dic nexus_in_bmon_common_1.dic nexus_in_scan_common_1.dic
|
||||
HMM_COMMON=nexus_in_common_1.dic nexus_in_hmm_common_1.dic nexus_in_bmon_common_1.dic nexus_in_scan_common_1.dic
|
||||
|
||||
all: nexus_bmonscan.dic nexus_hmscan.dic
|
||||
rm -f $(BMON_COMMON) $(HMM_COMMON)
|
||||
|
||||
%.dic:
|
||||
cp ../../../config/nexus/$@ .
|
||||
|
||||
nexus_bmonscan.dic: $(BMON_COMMON) nexus_in_motors.dic
|
||||
cat $^ > $@
|
||||
|
||||
nexus_hmscan.dic: $(HMM_COMMON) nexus_in_motors.dic
|
||||
cat $^ > $@
|
||||
|
||||
clean:
|
||||
rm nexus_bmonscan.dic nexus_hmscan.dic
|
||||
|
||||
|
After Width: | Height: | Size: 507 B |
93
site_ansto/instrument/sans/config/nexus/nexus_bmonscan.dic
Normal file
93
site_ansto/instrument/sans/config/nexus/nexus_bmonscan.dic
Normal file
@@ -0,0 +1,93 @@
|
||||
##NXDICT-1.0
|
||||
#----------------------------------------------------------------------------
|
||||
#
|
||||
# DO NOT EDIT WHEN YOU DO NOT KNOW WHAT YOU ARE DOING!
|
||||
# This file determines the placement of data items in the NeXus
|
||||
# data file. Your data may not be readable if this file is messed up.
|
||||
#
|
||||
#----------------------------------------------------------------------------
|
||||
entryName=entry1
|
||||
inst=instrument
|
||||
monochromator=monochromator
|
||||
detector=detector
|
||||
padim0=512
|
||||
padim1=128
|
||||
column_index_name=horizontal_channel_number
|
||||
row_index_name=vertical_channel_number
|
||||
|
||||
#---------- NXentry level
|
||||
etitle=/$(entryName),NXentry/SDS title -type NX_CHAR
|
||||
program_name=/$(entryName),NXentry/SDS program_name -type NX_CHAR \
|
||||
-attr {nx_schema_release_tag,$Name: not supported by cvs2svn $} -attr {nx_schema_revision_num,$Revision: 1.1 $}
|
||||
|
||||
erun=/$(entryName),NXentry/SDS run_number -type NX_INT32 -rank 1 -dim {-1}
|
||||
estart=/$(entryName),NXentry/SDS start_time -type NX_CHAR
|
||||
eend=/$(entryName),NXentry/SDS end_time -type NX_CHAR
|
||||
|
||||
#----------------- NXinstrument
|
||||
iname=/$(entryName),NXentry/$(inst),NXinstrument/SDS name -type NX_CHAR \
|
||||
-rank 1 -dim {132}
|
||||
|
||||
#----------------- NXuser
|
||||
username=/$(entryName),NXentry/user,NXuser/SDS name -type NX_CHAR
|
||||
userrole=/$(entryName),NXentry/user,NXuser/SDS role -type NX_CHAR
|
||||
useraddress=/$(entryName),NXentry/user,NXuser/SDS address -type NX_CHAR
|
||||
userphone=/$(entryName),NXentry/user,NXuser/SDS telephone_number -type NX_CHAR
|
||||
useremail=/$(entryName),NXentry/user,NXuser/SDS email -type NX_CHAR
|
||||
|
||||
#----------------- NXsource
|
||||
sname=/$(entryName),NXentry/$(inst),NXinstrument/source,NXsource/SDS name \
|
||||
-type NX_CHAR -rank 1
|
||||
stype=/$(entryName),NXentry/$(inst),NXinstrument/source,NXsource/SDS type -type NX_CHAR -rank 1
|
||||
sprobe=/$(entryName),NXentry/$(inst),NXinstrument/source,NXsource/SDS probe -type NX_CHAR -rank 1
|
||||
|
||||
#----------------- NXcrystal
|
||||
clambda=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS wavelength -type NX_FLOAT32 -attr {units,Angstrom}
|
||||
ctype=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS type -type NX_CHAR
|
||||
|
||||
#--------------- NXsample
|
||||
saname=/$(entryName),NXentry/sample,NXsample/SDS name -type NX_CHAR
|
||||
#----------------- NXmonitor
|
||||
mmode=/$(entryName),NXentry/monitor,NXmonitor/SDS mode -type NX_CHAR
|
||||
mpreset=/$(entryName),NXentry/monitor,NXmonitor/SDS preset -type NX_FLOAT32
|
||||
bmcounts=/$(entryName),NXentry/monitor,NXmonitor/SDS \
|
||||
data -type NX_FLOAT32 -LZW -rank 1 -dim {-1}
|
||||
mdistance=/$(entryName),NXentry/monitor,NXmonitor/SDS distance -type NX_FLOAT32 -attr {units,metre}
|
||||
dlayout=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS layout -type NX_CHAR
|
||||
scanvar_name=variable
|
||||
scanvar_units=xxx
|
||||
scanvar_longname=xxx
|
||||
|
||||
#----------------NXdata ------------------------------------------------
|
||||
|
||||
#TODO replace scandata with generic name
|
||||
scandata=/$(entryName),NXentry/data,NXdata/NXVGROUP
|
||||
scanhoraxis=/$(entryName),NXentry/data,NXdata/NXVGROUP
|
||||
scanvertaxis=/$(entryName),NXentry/data,NXdata/NXVGROUP
|
||||
scanvar=/$(entryName),NXentry/data,NXdata/NXVGROUP
|
||||
scanstep=/$(entryName),NXentry/scan_step,NXdata/SDS value -type NX_FLOAT32 -attr {units,degree} -attr {long_name,stepsize}
|
||||
#histogram=/$(entryName),NXentry/histogram,NXdata/NXVGROUP
|
||||
#scanvar=/$(entryName),NXentry/$(scan_variable),NXdata/NXVGROUP
|
||||
|
||||
mot_name=xxx
|
||||
mot_units=xxx
|
||||
mot_long_name=xxx
|
||||
#--------------- NXmonochromator
|
||||
nxcrystal_mot=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
||||
#XXX add units command to configurable virtual motors.
|
||||
mth=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS mth -type NX_FLOAT32 -attr {units,degree} -attr {long_name,mth}
|
||||
#--------------- NXsample
|
||||
nxsample_mot=/$(entryName),NXentry/sample,NXsample/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
||||
#XXX add units command to configurable virtual motors.
|
||||
sth=/$(entryName),NXentry/sample,NXsample/SDS sth -type NX_FLOAT32 -attr {units,degree} -attr {long_name,sth}
|
||||
# Slit motors
|
||||
nxfilter_mot=/$(entryName),NXentry/slits,NXfilter/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
||||
#XXX add units command to configurable virtual motors.
|
||||
ss1vg=/$(entryName),NXentry/slits,NXfilter/SDS ss1vg -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss1vg}
|
||||
ss1vo=/$(entryName),NXentry/slits,NXfilter/SDS ss1vo -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss1vo}
|
||||
ss1hg=/$(entryName),NXentry/slits,NXfilter/SDS ss1hg -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss1hg}
|
||||
ss1ho=/$(entryName),NXentry/slits,NXfilter/SDS ss1ho -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss1ho}
|
||||
ss2vg=/$(entryName),NXentry/slits,NXfilter/SDS ss2vg -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss2vg}
|
||||
ss2vo=/$(entryName),NXentry/slits,NXfilter/SDS ss2vo -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss2vo}
|
||||
ss2hg=/$(entryName),NXentry/slits,NXfilter/SDS ss2hg -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss2hg}
|
||||
ss2ho=/$(entryName),NXentry/slits,NXfilter/SDS ss2ho -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss2ho}
|
||||
118
site_ansto/instrument/sans/config/nexus/nexus_hmscan.dic
Normal file
118
site_ansto/instrument/sans/config/nexus/nexus_hmscan.dic
Normal file
@@ -0,0 +1,118 @@
|
||||
##NXDICT-1.0
|
||||
#----------------------------------------------------------------------------
|
||||
#
|
||||
# DO NOT EDIT WHEN YOU DO NOT KNOW WHAT YOU ARE DOING!
|
||||
# This file determines the placement of data items in the NeXus
|
||||
# data file. Your data may not be readable if this file is messed up.
|
||||
#
|
||||
#----------------------------------------------------------------------------
|
||||
entryName=entry1
|
||||
inst=instrument
|
||||
monochromator=monochromator
|
||||
detector=detector
|
||||
padim0=512
|
||||
padim1=128
|
||||
column_index_name=horizontal_channel_number
|
||||
row_index_name=vertical_channel_number
|
||||
|
||||
#---------- NXentry level
|
||||
etitle=/$(entryName),NXentry/SDS title -type NX_CHAR
|
||||
program_name=/$(entryName),NXentry/SDS program_name -type NX_CHAR \
|
||||
-attr {nx_schema_release_tag,$Name: not supported by cvs2svn $} -attr {nx_schema_revision_num,$Revision: 1.1 $}
|
||||
|
||||
erun=/$(entryName),NXentry/SDS run_number -type NX_INT32 -rank 1 -dim {-1}
|
||||
estart=/$(entryName),NXentry/SDS start_time -type NX_CHAR
|
||||
eend=/$(entryName),NXentry/SDS end_time -type NX_CHAR
|
||||
|
||||
#----------------- NXinstrument
|
||||
iname=/$(entryName),NXentry/$(inst),NXinstrument/SDS name -type NX_CHAR \
|
||||
-rank 1 -dim {132}
|
||||
|
||||
#----------------- NXuser
|
||||
username=/$(entryName),NXentry/user,NXuser/SDS name -type NX_CHAR
|
||||
userrole=/$(entryName),NXentry/user,NXuser/SDS role -type NX_CHAR
|
||||
useraddress=/$(entryName),NXentry/user,NXuser/SDS address -type NX_CHAR
|
||||
userphone=/$(entryName),NXentry/user,NXuser/SDS telephone_number -type NX_CHAR
|
||||
useremail=/$(entryName),NXentry/user,NXuser/SDS email -type NX_CHAR
|
||||
|
||||
#----------------- NXsource
|
||||
sname=/$(entryName),NXentry/$(inst),NXinstrument/source,NXsource/SDS name \
|
||||
-type NX_CHAR -rank 1
|
||||
stype=/$(entryName),NXentry/$(inst),NXinstrument/source,NXsource/SDS type -type NX_CHAR -rank 1
|
||||
sprobe=/$(entryName),NXentry/$(inst),NXinstrument/source,NXsource/SDS probe -type NX_CHAR -rank 1
|
||||
|
||||
#----------------- NXcrystal
|
||||
clambda=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS wavelength -type NX_FLOAT32 -attr {units,Angstrom}
|
||||
ctype=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS type -type NX_CHAR
|
||||
|
||||
#--------------- NXsample
|
||||
saname=/$(entryName),NXentry/sample,NXsample/SDS name -type NX_CHAR
|
||||
#-------------- Detector
|
||||
# histogram data
|
||||
|
||||
|
||||
dradius=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS radius -type NX_FLOAT32 -attr {units,mm}
|
||||
dheight=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS height -type NX_FLOAT32 -attr {units,mm}
|
||||
detangle_rad=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS arc -type NX_FLOAT32 -attr {units,radians}
|
||||
detangle_degrees=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS arc -type NX_FLOAT32 -attr {units,degrees}
|
||||
dtheta=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS polar_angle -type NX_FLOAT32 -LZW -rank 2 -dim {-1,$(padim1)} -attr {units,degrees}
|
||||
dvaxis=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS y_pixel_offset -type NX_FLOAT32 -LZW -rank 1 -dim {$(padim0)} -attr {units,mm}
|
||||
dhaxis=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS x_pixel_offset -type NX_FLOAT32 -LZW -rank 1 -dim {$(padim1)} -attr {units,mm}
|
||||
drowindex=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS $(row_index_name) -type NX_INT32 -LZW -rank 1 -dim {$(padim0)}
|
||||
dcolindex=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS $(column_index_name) -type NX_INT32 -LZW -rank 1 -dim {$(padim1)}
|
||||
|
||||
hmcounts=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS \
|
||||
data -type NX_INT32 -LZW -rank 3 -dim {-1,$(padim0),$(padim1)}
|
||||
|
||||
deff=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/calibration,NXdata/SDS efficiency -type NX_INT32 -LZW -rank 2 -dim {$(dim0),$(dim1)}
|
||||
|
||||
ddesc=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS description -type NX_CHAR
|
||||
|
||||
dtype=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS type -type NX_CHAR
|
||||
|
||||
dlayout=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS layout -type NX_CHAR
|
||||
|
||||
#----------------- NXmonitor
|
||||
mmode=/$(entryName),NXentry/monitor,NXmonitor/SDS mode -type NX_CHAR
|
||||
mpreset=/$(entryName),NXentry/monitor,NXmonitor/SDS preset -type NX_FLOAT32
|
||||
bmcounts=/$(entryName),NXentry/monitor,NXmonitor/SDS \
|
||||
data -type NX_FLOAT32 -LZW -rank 1 -dim {-1}
|
||||
mdistance=/$(entryName),NXentry/monitor,NXmonitor/SDS distance -type NX_FLOAT32 -attr {units,metre}
|
||||
dlayout=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS layout -type NX_CHAR
|
||||
scanvar_name=variable
|
||||
scanvar_units=xxx
|
||||
scanvar_longname=xxx
|
||||
|
||||
#----------------NXdata ------------------------------------------------
|
||||
|
||||
#TODO replace scandata with generic name
|
||||
scandata=/$(entryName),NXentry/data,NXdata/NXVGROUP
|
||||
scanhoraxis=/$(entryName),NXentry/data,NXdata/NXVGROUP
|
||||
scanvertaxis=/$(entryName),NXentry/data,NXdata/NXVGROUP
|
||||
scanvar=/$(entryName),NXentry/data,NXdata/NXVGROUP
|
||||
scanstep=/$(entryName),NXentry/scan_step,NXdata/SDS value -type NX_FLOAT32 -attr {units,degree} -attr {long_name,stepsize}
|
||||
#histogram=/$(entryName),NXentry/histogram,NXdata/NXVGROUP
|
||||
#scanvar=/$(entryName),NXentry/$(scan_variable),NXdata/NXVGROUP
|
||||
|
||||
mot_name=xxx
|
||||
mot_units=xxx
|
||||
mot_long_name=xxx
|
||||
#--------------- NXmonochromator
|
||||
nxcrystal_mot=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
||||
#XXX add units command to configurable virtual motors.
|
||||
mth=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS mth -type NX_FLOAT32 -attr {units,degree} -attr {long_name,mth}
|
||||
#--------------- NXsample
|
||||
nxsample_mot=/$(entryName),NXentry/sample,NXsample/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
||||
#XXX add units command to configurable virtual motors.
|
||||
sth=/$(entryName),NXentry/sample,NXsample/SDS sth -type NX_FLOAT32 -attr {units,degree} -attr {long_name,sth}
|
||||
# Slit motors
|
||||
nxfilter_mot=/$(entryName),NXentry/slits,NXfilter/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
||||
#XXX add units command to configurable virtual motors.
|
||||
ss1vg=/$(entryName),NXentry/slits,NXfilter/SDS ss1vg -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss1vg}
|
||||
ss1vo=/$(entryName),NXentry/slits,NXfilter/SDS ss1vo -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss1vo}
|
||||
ss1hg=/$(entryName),NXentry/slits,NXfilter/SDS ss1hg -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss1hg}
|
||||
ss1ho=/$(entryName),NXentry/slits,NXfilter/SDS ss1ho -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss1ho}
|
||||
ss2vg=/$(entryName),NXentry/slits,NXfilter/SDS ss2vg -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss2vg}
|
||||
ss2vo=/$(entryName),NXentry/slits,NXfilter/SDS ss2vo -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss2vo}
|
||||
ss2hg=/$(entryName),NXentry/slits,NXfilter/SDS ss2hg -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss2hg}
|
||||
ss2ho=/$(entryName),NXentry/slits,NXfilter/SDS ss2ho -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss2ho}
|
||||
22
site_ansto/instrument/sans/config/nexus/nexus_in_motors.dic
Normal file
22
site_ansto/instrument/sans/config/nexus/nexus_in_motors.dic
Normal file
@@ -0,0 +1,22 @@
|
||||
mot_name=xxx
|
||||
mot_units=xxx
|
||||
mot_long_name=xxx
|
||||
#--------------- NXmonochromator
|
||||
nxcrystal_mot=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
||||
#XXX add units command to configurable virtual motors.
|
||||
mth=/$(entryName),NXentry/$(inst),NXinstrument/$(monochromator),NXcrystal/SDS mth -type NX_FLOAT32 -attr {units,degree} -attr {long_name,mth}
|
||||
#--------------- NXsample
|
||||
nxsample_mot=/$(entryName),NXentry/sample,NXsample/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
||||
#XXX add units command to configurable virtual motors.
|
||||
sth=/$(entryName),NXentry/sample,NXsample/SDS sth -type NX_FLOAT32 -attr {units,degree} -attr {long_name,sth}
|
||||
# Slit motors
|
||||
nxfilter_mot=/$(entryName),NXentry/slits,NXfilter/SDS $(mot_name) -type NX_FLOAT32 -attr {units,$(mot_units)} -attr {long_name,$(mot_long_name)}
|
||||
#XXX add units command to configurable virtual motors.
|
||||
ss1vg=/$(entryName),NXentry/slits,NXfilter/SDS ss1vg -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss1vg}
|
||||
ss1vo=/$(entryName),NXentry/slits,NXfilter/SDS ss1vo -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss1vo}
|
||||
ss1hg=/$(entryName),NXentry/slits,NXfilter/SDS ss1hg -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss1hg}
|
||||
ss1ho=/$(entryName),NXentry/slits,NXfilter/SDS ss1ho -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss1ho}
|
||||
ss2vg=/$(entryName),NXentry/slits,NXfilter/SDS ss2vg -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss2vg}
|
||||
ss2vo=/$(entryName),NXentry/slits,NXfilter/SDS ss2vo -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss2vo}
|
||||
ss2hg=/$(entryName),NXentry/slits,NXfilter/SDS ss2hg -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss2hg}
|
||||
ss2ho=/$(entryName),NXentry/slits,NXfilter/SDS ss2ho -type NX_FLOAT32 -attr {units,degree} -attr {long_name,ss2ho}
|
||||
1
site_ansto/instrument/sans/config/nexus/nxscripts.tcl
Normal file
1
site_ansto/instrument/sans/config/nexus/nxscripts.tcl
Normal file
@@ -0,0 +1 @@
|
||||
source $cfPath(nexus)/nxscripts_common_1.tcl
|
||||
5
site_ansto/instrument/sans/config/plc/plc.tcl
Normal file
5
site_ansto/instrument/sans/config/plc/plc.tcl
Normal file
@@ -0,0 +1,5 @@
|
||||
#MakeAsyncQueue plc_chan SafetyPLC 137.157.204.65 30002
|
||||
#MakeSafetyPLC plc plc_chan 0
|
||||
|
||||
source $cfPath(plc)/plc_common_1.tcl
|
||||
|
||||
0
site_ansto/instrument/sans/extraconfig.tcl
Normal file
0
site_ansto/instrument/sans/extraconfig.tcl
Normal file
34
site_ansto/instrument/sans/quokka_configuration.tcl
Normal file
34
site_ansto/instrument/sans/quokka_configuration.tcl
Normal file
@@ -0,0 +1,34 @@
|
||||
# $Revision: 1.1 $
|
||||
# $Date: 2007-07-09 05:24:46 $
|
||||
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
||||
# Last revision by: $Author: dcl $
|
||||
|
||||
# Required by server_config.tcl
|
||||
VarMake Instrument Text Internal
|
||||
Instrument Quokka
|
||||
Instrument lock
|
||||
|
||||
#START SERVER CONFIGURATION SECTION
|
||||
source util/dmc2280/dmc2280_util.tcl
|
||||
source sics_ports.tcl
|
||||
source server_config.tcl
|
||||
#END SERVER CONFIGURATION SECTION
|
||||
|
||||
########################################
|
||||
# INSTRUMENT SPECIFIC CONFIGURATION
|
||||
|
||||
fileeval $cfPath(velsel)/velsel.tcl
|
||||
fileeval $cfPath(motors)/motor_configuration.tcl
|
||||
#fileeval gen_hipadaba.tcl
|
||||
|
||||
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
|
||||
|
||||
MakeStateMon
|
||||
|
||||
fileeval extraconfig.tcl
|
||||
2
site_ansto/instrument/sans/script_validator/MANIFEST.TXT
Normal file
2
site_ansto/instrument/sans/script_validator/MANIFEST.TXT
Normal file
@@ -0,0 +1,2 @@
|
||||
sics_ports.tcl
|
||||
config
|
||||
@@ -0,0 +1,4 @@
|
||||
set quieckport quieck-val-platypus
|
||||
set serverport server-val-platypus
|
||||
set interruptport interrupt-val-platypus
|
||||
set telnetport telnet-val-platypus
|
||||
4
site_ansto/instrument/sans/sics_ports.tcl
Normal file
4
site_ansto/instrument/sans/sics_ports.tcl
Normal file
@@ -0,0 +1,4 @@
|
||||
set quieckport quieck-platypus
|
||||
set serverport server-platypus
|
||||
set interruptport interrupt-platypus
|
||||
set telnetport telnet-platypus
|
||||
@@ -1,9 +1,9 @@
|
||||
# SICS common configuration
|
||||
|
||||
# $Revision: 1.25 $
|
||||
# $Date: 2007-05-10 03:21:51 $
|
||||
# $Revision: 1.26 $
|
||||
# $Date: 2007-07-09 05:25:57 $
|
||||
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
||||
# Last revision by $Author: ffr $
|
||||
# Last revision by $Author: dcl $
|
||||
|
||||
#set sicsroot /usr/local/sics
|
||||
set sicsroot ../
|
||||
@@ -13,7 +13,8 @@ motors $cfParent/motors\
|
||||
counter $cfParent/counter\
|
||||
hmm $cfParent/hmm\
|
||||
scan $cfParent/scan\
|
||||
counter $cfParent/counter\
|
||||
chopper $cfParent/chopper\
|
||||
velsel $cfParent/velsel\
|
||||
nexus $cfParent/nexus\
|
||||
hipadaba $cfParent/hipadaba\
|
||||
plc $cfParent/plc]
|
||||
@@ -52,7 +53,7 @@ sics_release [lindex $tmpstr [expr [llength $tmpstr] - 1]]
|
||||
sics_release lock
|
||||
|
||||
VarMake sics_revision_num Text Internal
|
||||
set tmpstr [string map {"$" ""} {$Revision: 1.25 $}]
|
||||
set tmpstr [string map {"$" ""} {$Revision: 1.26 $}]
|
||||
sics_revision_num [lindex $tmpstr [expr [llength $tmpstr] - 1]]
|
||||
sics_revision_num lock
|
||||
|
||||
|
||||
Reference in New Issue
Block a user