Updates from ics1-wombat

This commit is contained in:
Ferdi Franceschini
2013-11-26 23:14:16 +11:00
committed by Ferdi Franceschini
parent 6ce3f8bd45
commit d2ac198251
7 changed files with 490 additions and 55 deletions

View File

@@ -1,7 +1,8 @@
# This must be loaded by motor_configuration.tcl
set ephi_Home 6647698
set echi_Home 8919294
set ephi_Home 26575217
set echi_Home 24224381
#set echi_Home 8919294
set eom_Home 23165482
# Sample Tilt 1, euler omega stage
@@ -11,9 +12,9 @@ Motor eom $motor_driver_type [params \
units degrees\
hardlowerlim -45\
hardupperlim 80\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
maxSpeed 2\
maxAccel 2\
maxDecel 2\
stepsPerX 25000\
absEnc 1\
absEncHome $eom_Home\
@@ -30,18 +31,18 @@ Motor echi $motor_driver_type [params \
asyncqueue mc2\
axis B\
units degrees\
hardlowerlim -32\
hardupperlim 97\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
hardlowerlim -45\
hardupperlim 100\
maxSpeed 2\
maxAccel 2\
maxDecel 2\
stepsPerX -25000\
absEnc 1\
absEncHome $echi_Home\
cntsPerX 8192]
setHomeandRange -motor echi -home 0 -lowrange 10 -uprange 95
echi softlowerlim -10
echi softupperlim 90
echi softupperlim 99
echi home 0
echi speed 1
echi movecount $move_count
@@ -52,7 +53,7 @@ echi long_name euler_chi
# Sample Trans 1, upper, y
Motor ephi $motor_driver_type [params \
asyncqueue mc2\
axis C\
axis D\
units degrees\
hardlowerlim -185\
hardupperlim 185\
@@ -72,3 +73,96 @@ ephi movecount $move_count
ephi precision 0.01
ephi part sample
ephi long_name euler_phi
# dummy motors for UB
Motor fake_eom asim [params \
asyncqueue mc2\
axis A\
units degrees\
hardlowerlim -370\
hardupperlim 370\
maxSpeed 2\
maxAccel 2\
maxDecel 2\
stepsPerX 25000\
absEnc 1\
absEncHome $eom_Home\
cntsPerX -8192]
setHomeandRange -motor fake_eom -home 0 -lowrange -370 -uprange 370
fake_eom softlowerlim -370
fake_eom softupperlim 370
fake_eom speed 1
fake_eom movecount $move_count
fake_eom precision 0.01
fake_eom part sample
fake_eom long_name fake_euler_omega
Motor fake_ephi asim [params \
asyncqueue mc2\
axis A\
units degrees\
hardlowerlim -370\
hardupperlim 370\
maxSpeed 2\
maxAccel 2\
maxDecel 2\
stepsPerX 25000\
absEnc 1\
absEncHome $eom_Home\
cntsPerX -8192]
setHomeandRange -motor fake_ephi -home 0 -lowrange -370 -uprange 370
fake_ephi softlowerlim -370
fake_ephi softupperlim 370
fake_ephi speed 1
fake_ephi movecount $move_count
fake_ephi precision 0.01
fake_ephi part sample
fake_ephi long_name fake_euler_phi
Motor fake_twotheta asim [params \
asyncqueue mc2\
axis A\
units degrees\
hardlowerlim -370\
hardupperlim 370\
maxSpeed 2\
maxAccel 2\
maxDecel 2\
stepsPerX 25000\
absEnc 1\
absEncHome $eom_Home\
cntsPerX -8192]
setHomeandRange -motor fake_twotheta -home 0 -lowrange -370 -uprange 370
fake_twotheta softlowerlim -370
fake_twotheta softupperlim 370
fake_twotheta speed 1
fake_twotheta movecount $move_count
fake_twotheta precision 0.01
fake_twotheta part sample
fake_twotheta long_name fake_euler_twotheta
Motor fake_echi asim [params \
asyncqueue mc2\
axis A\
units degrees\
hardlowerlim -370\
hardupperlim 370\
maxSpeed 2\
maxAccel 2\
maxDecel 2\
stepsPerX 25000\
absEnc 1\
absEncHome $eom_Home\
cntsPerX -8192]
setHomeandRange -motor fake_echi -home 0 -lowrange -370 -uprange 370
fake_echi softlowerlim -370
fake_echi softupperlim 370
fake_echi speed 1
fake_echi movecount $move_count
fake_echi precision 0.01
fake_echi part sample
fake_echi long_name fake_euler_echi

View File

@@ -0,0 +1,168 @@
# This must be loaded by motor_configuration.tcl
set ephi_Home 31706258
set echi_Home 24224381
#set echi_Home 8919294
set eom_Home 23165482
# Sample Tilt 1, euler omega stage
Motor eom $motor_driver_type [params \
asyncqueue mc2\
axis A\
units degrees\
hardlowerlim -45\
hardupperlim 80\
maxSpeed 2\
maxAccel 2\
maxDecel 2\
stepsPerX 25000\
absEnc 1\
absEncHome $eom_Home\
cntsPerX -8192]
setHomeandRange -motor eom -home 0 -lowrange 35 -uprange 80
eom speed 1
eom movecount $move_count
eom precision 0.01
eom part sample
eom long_name euler_omega
# Sample Tilt 2, euler chi stage
Motor echi $motor_driver_type [params \
asyncqueue mc2\
axis B\
units degrees\
hardlowerlim -32\
hardupperlim 97\
maxSpeed 2\
maxAccel 2\
maxDecel 2\
stepsPerX -25000\
absEnc 1\
absEncHome $echi_Home\
cntsPerX 8192]
setHomeandRange -motor echi -home 0 -lowrange 10 -uprange 95
echi softlowerlim -10
echi softupperlim 90
echi home 0
echi speed 1
echi movecount $move_count
echi precision 0.01
echi part sample
echi long_name euler_chi
# Sample Trans 1, upper, y
Motor ephi $motor_driver_type [params \
asyncqueue mc2\
axis C\
units degrees\
hardlowerlim -360000\
hardupperlim 360000\
maxSpeed 5\
maxAccel 5\
maxDecel 1\
stepsPerX -12500\
absEnc 1\
absEncHome $ephi_Home\
cntsPerX -4096]
setHomeandRange -motor ephi -home 0 -lowrange 180 -uprange 180
ephi softlowerlim -360000
ephi softupperlim 360000
ephi home 0
ephi speed 1
ephi movecount $move_count
ephi precision 0.01
ephi part sample
ephi long_name euler_phi
# dummy motors for UB
Motor fake_eom asim [params \
asyncqueue mc2\
axis A\
units degrees\
hardlowerlim -370\
hardupperlim 370\
maxSpeed 2\
maxAccel 2\
maxDecel 2\
stepsPerX 25000\
absEnc 1\
absEncHome $eom_Home\
cntsPerX -8192]
setHomeandRange -motor fake_eom -home 0 -lowrange -370 -uprange 370
fake_eom softlowerlim -370
fake_eom softupperlim 370
fake_eom speed 1
fake_eom movecount $move_count
fake_eom precision 0.01
fake_eom part sample
fake_eom long_name fake_euler_omega
Motor fake_ephi asim [params \
asyncqueue mc2\
axis A\
units degrees\
hardlowerlim -370\
hardupperlim 370\
maxSpeed 2\
maxAccel 2\
maxDecel 2\
stepsPerX 25000\
absEnc 1\
absEncHome $eom_Home\
cntsPerX -8192]
setHomeandRange -motor fake_ephi -home 0 -lowrange -370 -uprange 370
fake_ephi softlowerlim -370
fake_ephi softupperlim 370
fake_ephi speed 1
fake_ephi movecount $move_count
fake_ephi precision 0.01
fake_ephi part sample
fake_ephi long_name fake_euler_phi
Motor fake_twotheta asim [params \
asyncqueue mc2\
axis A\
units degrees\
hardlowerlim -370\
hardupperlim 370\
maxSpeed 2\
maxAccel 2\
maxDecel 2\
stepsPerX 25000\
absEnc 1\
absEncHome $eom_Home\
cntsPerX -8192]
setHomeandRange -motor fake_twotheta -home 0 -lowrange -370 -uprange 370
fake_twotheta softlowerlim -370
fake_twotheta softupperlim 370
fake_twotheta speed 1
fake_twotheta movecount $move_count
fake_twotheta precision 0.01
fake_twotheta part sample
fake_twotheta long_name fake_euler_twotheta
Motor fake_echi asim [params \
asyncqueue mc2\
axis A\
units degrees\
hardlowerlim -370\
hardupperlim 370\
maxSpeed 2\
maxAccel 2\
maxDecel 2\
stepsPerX 25000\
absEnc 1\
absEncHome $eom_Home\
cntsPerX -8192]
setHomeandRange -motor fake_echi -home 0 -lowrange -370 -uprange 370
fake_echi softlowerlim -370
fake_echi softupperlim 370
fake_echi speed 1
fake_echi movecount $move_count
fake_echi precision 0.01
fake_echi part sample
fake_echi long_name fake_euler_echi

View File

@@ -0,0 +1,19 @@
set magmot "som"
Motor $magmot $motor_driver_type [params \
asyncqueue mc2\
axis D\
units degrees\
hardlowerlim -1440\
hardupperlim 1440\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX [expr 67.0 * 25000 / 360]\
absEnc 1\
absEncHome 31275743\
cntsPerX [expr 67.0 * 8192 / 360]]
$magmot part sample
$magmot long_name $magmot
$magmot softlowerlim -180
$magmot softupperlim 180
$magmot home 0

View File

@@ -24,7 +24,8 @@ if {$sim_mode == "true"} {
#set mx_Home 23263535
set mx_Home 8390583
#set mom_Home 9274794
set mom_Home 8391038
#set mom_Home 8391038
set mom_Home 8147038
set mtth_Home 19927837
#set mphi_Home 7613516
#set mphi_Home 27847793
@@ -35,7 +36,8 @@ set mchi_Home 8389526
#set my_Home 6767221
set my_Home 8378212
set som_Home 17214054
set stth_Home 2896180
set stth_Home 1036498
#set stth_Home 32855991
set oct_Home 7743768
#Measured or computed slit motor steps per millimetre
@@ -97,11 +99,46 @@ set move_count 10
# CHOOSE HERE for sample stage configuration
##########################################
# Set axis_config as follows to use different axis configurations
# 0: tilt stage configuration
# 1: eulerian cradle
# 2: small omega
# 3: Oxford magnet sample stick
set axis_config 0
switch $axis_config {
0 {
set sample_stage_rotate "som"
fileeval $cfPath(motors)/tilt_configuration.tcl
}
1 {
set sample_stage_rotate "som"
fileeval $cfPath(motors)/euler_configuration.tcl
}
2 {
set sample_stage_rotate "som"
fileeval $cfPath(motors)/small_omega_config.tcl
}
3 {
# Rename the sample stage som to somss because
# som now controls the magnet sample stick
set sample_stage_rotate "somss"
fileeval $cfPath(motors)/magnet_configuration.tcl
}
}
#fileeval $cfPath(motors)/tilt_configuration.tcl
fileeval $cfPath(motors)/euler_configuration.tcl
#fileeval $cfPath(motors)/euler_configuration.tcl
#fileeval $cfPath(motors)/small_omega_config.tcl
#use this next one ONLY if you have NO fridge on the euler
#cradle and you know what you're doing. This is a fudge that
#allows ephi to do lots of rotations
#fileeval $cfPath(motors)/eulinf_configuration.tcl
############################
# Motor Controller 1
@@ -201,8 +238,8 @@ Motor mx $motor_driver_type [params \
asyncqueue mc1\
axis D\
units mm\
hardlowerlim -10\
hardupperlim 10\
hardlowerlim -15\
hardupperlim 15\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
@@ -223,7 +260,7 @@ Motor mom $motor_driver_type [params \
axis E\
units degrees\
hardlowerlim -5\
hardupperlim 103\
hardupperlim 173\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
@@ -231,7 +268,8 @@ Motor mom $motor_driver_type [params \
absEnc 1\
absEncHome $mom_Home\
cntsPerX -2048]
setHomeandRange -motor mom -home 0 -lowrange 5 -uprange 95
setHomeandRange -motor mom -home 0 -lowrange 5 -uprange 165
#setHomeandRange -motor mom -home 60.08 -lowrange 5 -uprange 165
mom speed 1
mom movecount $move_count
mom precision 0.01
@@ -277,12 +315,12 @@ mtth long_name takeoff_angle
# Motor Controller 2
############################
# Sample Omega, rotate
Motor som $motor_driver_type [params \
Motor $sample_stage_rotate $motor_driver_type [params \
asyncqueue mc2\
axis E\
units degrees\
hardlowerlim -110\
hardupperlim 160\
hardlowerlim -71\
hardupperlim 111\
maxSpeed 5\
maxAccel 1\
maxDecel 1\
@@ -290,29 +328,33 @@ Motor som $motor_driver_type [params \
absEnc 1\
absEncHome $som_Home\
cntsPerX 4096]
setHomeandRange -motor som -home 0 -lowrange -71 -uprange 111
som speed 1
som precision 0.02
som part sample
som long_name rotate
setHomeandRange -motor $sample_stage_rotate -home 0 -lowrange -70 -uprange 110
$sample_stage_rotate speed 1
$sample_stage_rotate precision 0.02
$sample_stage_rotate part sample
$sample_stage_rotate long_name rotate
# Sample two-theta, detector rotate
Motor stth $motor_driver_type [params \
asyncqueue mc2\
axis F\
units degrees\
hardlowerlim -0.3\
hardupperlim 30\
hardlowerlim 15.8\
hardupperlim 29.7\
maxSpeed 0.5\
maxAccel 0.1\
maxDecel 0.1\
stepsPerX 125000\
absEnc 1\
absEncHome $stth_Home\
bias_bits 25\
bias_bias 932070\
cntsPerX -93207]
stth softlowerlim -0.3
stth softupperlim 30
stth home 0
stth softlowerlim 15.9
stth softupperlim 29.6
stth home 28.481113
#stth home 18.981113
#stth home 32
stth speed 0.5
stth movecount $move_count
stth precision 0.01
@@ -324,20 +366,20 @@ Motor oct $motor_driver_type [params \
asyncqueue mc2\
axis G\
units degrees\
hardlowerlim -2\
hardupperlim 4.2\
hardlowerlim -1.5\
hardupperlim 2.5\
maxSpeed 2.0\
maxAccel 5.0\
maxDecel 5.0\
stepsPerX 56762\
stepsPerX 58762\
absEnc 1\
absEncHome $oct_Home\
cntsPerX -465]
oct softlowerlim -2
oct softupperlim 4
oct softlowerlim -1.4
oct softupperlim 2.4
oct home 0
oct speed 0.5
oct precision 0.01
oct precision 0.02
oct part collimator
oct long_name oct
@@ -370,6 +412,14 @@ oct long_name oct
#mf1 long_name mf1
# Monochromator Focusing (Ge)
## ffr 31/7/2012
## absEncHome was found to be 16777217 on 31/7/2012 when the
## encoder clocked over to 114 counts to give a posn
## reading of 4793.458008
## The encoder has a 12bit resolution (ie 12bits/turn 4096)
## and has a 24bit range (ie max cnt=16777216)
## I set a bias of 10000 counts with absenchome = 10000
## so that SICS can drive the axis to the allowed limits.
Motor mf2 $motor_driver_type [params \
asyncqueue mc3\
axis A\
@@ -381,7 +431,9 @@ Motor mf2 $motor_driver_type [params \
maxDecel 0.1\
stepsPerX 22000\
absEnc 1\
absEncHome 8384341\
absEncHome 42768\
bias_bits 24\
bias_bias 10000\
cntsPerX -3500]
setHomeandRange -motor mf2 -home 0 -lowrange 0 -uprange 2
mf2 speed 0.02

View File

@@ -0,0 +1,91 @@
# This must be loaded by motor_configuration.tcl
set sphi_Home 7937974
set schi_Home 7585956
set sy_Home 7557524
set sx_Home 7557304
# Sample Tilt 1, upper, phi
Motor sphi $motor_driver_type [params \
asyncqueue mc2\
axis A\
units degrees\
hardlowerlim -360\
hardupperlim 360\
maxSpeed 3\
maxAccel 2\
maxDecel 2\
stepsPerX 25000\
absEnc 0\
absEncHome $sphi_Home\
cntsPerX -8192]
setHomeandRange -motor sphi -home 0 -lowrange -360 -uprange 360
sphi speed 2
sphi movecount $move_count
sphi precision 0.02
sphi part sample
sphi long_name phi
# Sample Tilt 2, lower, chi
Motor schi $motor_driver_type [params \
asyncqueue mc2\
axis B\
units degrees\
hardlowerlim 75\
hardupperlim 105\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome $schi_Home\
cntsPerX 8192]
setHomeandRange -motor schi -home 90 -lowrange 15 -uprange 15
schi speed 1
schi movecount $move_count
schi precision 0.01
schi part sample
schi long_name chi
# Sample Trans 1, upper, y
Motor sy $motor_driver_type [params \
asyncqueue mc2\
axis C\
units mm\
hardlowerlim -20\
hardupperlim 20\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome $sy_Home\
cntsPerX 8192]
setHomeandRange -motor sy -home 0 -lowrange 20 -uprange 20
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 $motor_driver_type [params \
asyncqueue mc2\
axis D\
units mm\
hardlowerlim -20\
hardupperlim 20\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -25000\
absEnc 1\
absEncHome $sx_Home\
cntsPerX -8192]
setHomeandRange -motor sx -home 0 -lowrange 20 -uprange 20
sx speed 1
sx movecount $move_count
sx precision 0.01
sx part sample
sx long_name translate_x

View File

@@ -10,8 +10,8 @@ Motor sphi $motor_driver_type [params \
asyncqueue mc2\
axis A\
units degrees\
hardlowerlim -360\
hardupperlim 360\
hardlowerlim -15\
hardupperlim 15\
maxSpeed 1\
maxAccel 1\
maxDecel 1\

View File

@@ -18,20 +18,27 @@ MakeDrive
source $cfPath(hipadaba)/hipadaba_configuration.tcl
fileeval $cfPath(motors)/motor_configuration.tcl
fileeval $cfPath(motors)/sct_oscmotor.tcl
#fileeval $cfPath(motors)/sct_oscmotor.tcl
source instrument_vars.tcl
fileeval $cfPath(source)/source.tcl
fileeval $cfPath(motors)/positmotor_configuration.tcl
fileeval $cfPath(plc)/plc.tcl
fileeval $cfPath(counter)/counter.tcl
fileeval $cfPath(environment)/sct_keithley_2700.tcl
fileeval $cfPath(environment)/sct_protek_common.tcl
#TODO Provide method for choosing environment controller
fileeval $cfPath(environment)/temperature/sct_eurotherm_2000.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_336.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_340.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_370.tcl
fileeval $cfPath(environment)/temperature/sct_julabo_lh45.tcl
fileeval $cfPath(environment)/temperature/sct_qlink.tcl
fileeval $cfPath(environment)/temperature/west400.tcl
fileeval $cfPath(environment)/temperature/sct_oxford_mercury.tcl
fileeval $cfPath(environment)/magneticField/sct_oxford_labview.tcl
#fileeval $cfPath(environment)/he3/sct_he3.tcl
#fileeval $cfPath(environment)/he3/sct_hmp_power.tcl
fileeval $cfPath(environment)/magneticField/sct_green_magnet.tcl
fileeval $cfPath(hmm)/hmm_configuration.tcl
fileeval $cfPath(nexus)/nxscripts.tcl
@@ -45,21 +52,25 @@ fileeval $cfPath(hmm)/hmm_rapid.tcl
source gumxml.tcl
##########################################################
# Current driver for Lakeshore temperature controllers #
##########################################################
# driverName shortName IP-address port LineTerminator Tolerance1 Tolerance2 optional_Verbose
add_sct_ls340 tc1 137.157.201.86 4001 "\r" 5.0 5.0
# add_sct_ls336 tc1 137.157.201.85 7777 "\r\n" 5.0 5.0
# add_sct_ls336 tc1 137.157.201.86 7777 "\r\n" 5.0 5.0
# The Alice Thing
add_qlink qlink 137.157.201.86 4004 5
add_sct_ls340 tc1 137.157.201.86 4001 "\r" 5.0 5.0
add_lh45 tc2 137.157.201.86 4003 1
# Qlink : 9600, 8 data, 1 stop, No Parity, None Flow
# LS340 : 9600, 7 data, 1 stop, Odd Parity, None Flow
# Julabo: 9600, 7 data, 1 stop, Even Parity, RTS/CTS Flow
# add_qlink qlink 137.157.201.86 4004 5
# add_sct_ls340 tc1 137.157.201.86 4001 "\r" 5.0 5.0
# add_lh45 tc2 137.157.201.86 4003 1
# Eurotherm
# add_et2000 name IP PORT MODBUS_ADDR TOL
# add_et2000 et2000 10.157.205.19 502 1 5
# Using a Keithley 2700 mulitimeter to read pressure
# add_k2700 pressure 137.157.201.86 4004 "\r"
# Lakeshore 370 Resistance Bridge
# add_lakeshore_370 ls370 137.157.201.86 4002 2.0
# ::environment::temperature::add_west400 137.157.201.88
server_init
###########################################
# WARNING: Do not add any code below server_init, if you do SICS may fail to initialise properly.