Merge branch 'RELEASE-3_1' into RELEASE-3_2

Conflicts:
	sics/site_ansto/instrument/dingo/dingo_configuration.tcl
	sics/site_ansto/instrument/hipd/wombat_configuration.tcl
	sics/site_ansto/instrument/kookaburra/kookaburra_configuration.tcl
	sics/site_ansto/instrument/reflectometer/platypus_configuration.tcl
	sics/site_ansto/instrument/sans/quokka_configuration.tcl
This commit is contained in:
Douglas Clowes
2015-03-13 15:44:32 +11:00
20 changed files with 1121 additions and 430 deletions

View File

@ -102,6 +102,7 @@ proc VoltRamp {start step fin oscno} {
SetVolt $j
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
incr i
}
@ -167,6 +168,7 @@ proc SquarePulseTexture {motor start step numsteps volt freq bins oscno} {
drive $motor [expr $i*$step+$start]
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
}
}
@ -185,6 +187,7 @@ proc UniPulseTexture {motor start step numsteps volt freq bins oscno} {
drive $motor [expr $i*$step+$start]
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
}
}
@ -201,6 +204,7 @@ proc BehlkePulseTexture {motor start step numsteps freq bins oscno} {
drive $motor [expr $i*$step+$start]
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
}
}
@ -228,6 +232,7 @@ proc SquarePulseVolt {start step fin freq bins oscno} {
}
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
incr i
}
@ -247,6 +252,7 @@ proc SquarePulseFreq {volt freqlist bins oscno} {
# sct_pulser send "APPL:SQU $freq,$pulservolt,0"
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
incr i
}
@ -264,6 +270,7 @@ proc BehlkePulseFreq {freqlist bins oscno} {
PulserOn
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
incr i
}
@ -282,6 +289,7 @@ proc SinePulseFreq {volt freqlist bins oscno} {
PulserOn
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
incr i
}
@ -306,6 +314,7 @@ proc UniPulseFreq {volt freqlist bins oscno} {
# sct_pulser send "APPL:SQU $freq,$pulservolt,[expr {$pulservolt/2}]"
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
incr i
}
@ -324,9 +333,9 @@ proc UniPulseFatigue {volt freq bins oscno reps runs} {
for {set j 0} {$j<$reps} {incr j} {
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $j
}
oscmd stop
}
PulserOff
set pulserstate 0

View File

@ -33,16 +33,12 @@ fileeval $cfPath(environment)/temperature/sct_lakeshore_336.tcl
fileeval $cfPath(environment)/temperature/ls336_sct.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_340.tcl
fileeval $cfPath(environment)/temperature/ls340_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_base_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_level_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_pres_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_scpi_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_temp_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_valve_sct.tcl
fileeval $cfPath(environment)/sct_protek_common.tcl
fileeval $cfPath(environment)/temperature/oxford_mercury_sct.tcl
fileeval $cfPath(environment)/protekmm_sct.tcl
fileeval $cfPath(environment)/temperature/west400.tcl
fileeval $cfPath(environment)/temperature/west4100_sct.tcl
fileeval $cfPath(environment)/temperature/west_6100_sct.tcl
fileeval $cfPath(nexus)/nxscripts.tcl
fileeval $cfPath(scan)/scan.tcl
fileeval $cfPath(commands)/commands.tcl

View File

@ -145,27 +145,47 @@ terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[mercury_scpi_01]
desc = "Oxford Mercury temperature controller with three temperature loops."
driver = "mercury_base"
[mercury_01]
assoc = 00000124
cards = HHHVLTTP
desc = "Oxford Mercury temperature controller (12T)"
driver = "oxford_mercury"
imptype = temperature
ip = 10.157.205.5
permlink = LT
port = 7020
terminator = \r\n
tol = 1.0
valve_tol = 2
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
[mercury_scpi_02]
desc = "Oxford Mercury temperature controller with four temperature loops and needle valve control"
driver = "mercury_scpi"
[mercury_02]
assoc = 00000124
cards = HHTVTTTP
desc = "Oxford Mercury temperature controller (CF10)"
driver = "oxford_mercury"
imptype = temperature
ip = 10.157.205.46
port = 7020
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
[mercury_03]
assoc = 00000123
cards = HHHNNTTT
desc = "Oxford Mercury temperature controller ()"
driver = "oxford_mercury"
imptype = temperature
ip = 10.157.205.47
permlink = LT
port = 7020
terminator = \r\n
tol = 1.0
valve_tol = 2
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
[normal_sample_stage]
desc = "This is the default sample stage configuration"

View File

@ -0,0 +1,166 @@
# cf commands for driving sample environment
# ajs feb 2015
# cf namespace
# assumes tc1 and tc2 are the cf8 336 and 340 lakeshores for now
namespace eval cf {
variable wall_lag 10
variable wall_max 300
variable sample_tolerance 5
variable wall_tolerance 5
variable wall_set true
variable base_set true
variable base_control true
variable wall_control true
proc UseWall {_wall_set _wall_control} {
variable wall_set
variable wall_control
if {$_wall_set == false} {set wall_set false} else {set wall_set true}
if {$_wall_control == false} {set wall_control false} else {set wall_control true}
}
proc UseBase {_base_set _base_control} {
variable base_set
variable base_control
if {$_base_set == false} {set base_set false} else {set base_set true}
if {$_base_control == false} {set base_control false} else {set base_control true}
}
proc WallParams {_wall_lag _wall_max _wall_tolerance} {
variable wall_lag
variable wall_max
variable wall_tolerance
set wall_lag $_wall_lag
set wall_max $_wall_max
set wall_tolerance $_wall_tolerance
hset /sample/tc2/control/tolerance1 $wall_tolerance
}
proc TempSet {temp} {
variable wall_lag
variable wall_max
variable base_set
variable wall_set
set tempc [expr {$temp - $wall_lag}]
if {$tempc < 4} {set tempc 4}
if {$tempc > $wall_max} {set tempc $wall_max}
hset /sample/tc1/sensor/setpoint1 $temp
if {$base_set} {hset /sample/tc1/sensor/setpoint2 $tempc}
if {$wall_set} {hset /sample/tc2/sensor/setpoint1 $tempc}
}
proc TempDrive {temp} {
variable wall_lag
variable wall_max
variable base_control
variable wall_control
TempSet $temp
set tempc [expr {$temp - $wall_lag}]
if {$tempc < 4} {set tempc 4}
if {$tempc > $wall_max} {set tempc $wall_max}
set drstr "drive tc1_driveable \$temp"
if {$base_control} {append drstr " tc1_driveable2 \$tempc"}
if {$wall_control} {append drstr " tc2_driveable \$tempc"}
eval $drstr
}
proc Tolerance {sample} {
hset /sample/tc1/control/tolerance1 $sample
hset /sample/tc1/control/tolerance2 $sample
}
proc MakeCold {} {
variable sample_tolerance
variable wall_tolerance
Tolerance 20
hset /sample/tc2/control/tolerance1 20
hset /sample/tc2/sensor/setpoint1 4
TempDrive 4
Tolerance $sample_tolerance
hset /sample/tc2/control/tolerance1 $wall_tolerance
wait 300
}
proc TempRun {temp delay numsteps oscno} {
TempDrive $temp
wait $delay
newfile HISTOGRAM_XY
for {set i 0} {$i < $numsteps} {incr i} {
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
}
}
proc RampRun {start step fin oscno delay} {
histmem mode unlimited
newfile HISTOGRAM_XY
set loopvar 1
set i 0
while {$loopvar} {
set j [expr {$i*$step+$start}]
if {$j> $fin && $step > 0} {break}
if {$j< $fin && $step < 0} {break}
TempSet $j
wait $delay
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
incr i
}
}
proc StepRun {start step fin oscno delay} {
histmem mode unlimited
newfile HISTOGRAM_XY
set loopvar 1
set i 0
while {$loopvar} {
set j [expr {$i*$step+$start}]
if {$j> $fin && $step > 0} {break}
if {$j< $fin && $step < 0} {break}
TempDrive $j
wait $delay
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
incr i
}
}
proc HeaterOn {} {
variable base_set
variable wall_set
hset /sample/tc1/heater/heaterRange_1 4
if {$base_set} {hset /sample/tc1/heater/heaterRange_2 4}
if {$wall_set} {hset /sample/tc2/heater/heaterRange 5}
}
proc GetTemp {} {
variable base_set
set t1top [hget /sample/tc1/sensor/sensorValueA]
broadcast "sample top : $t1top"
if {$base_set} {
set t1base [hget /sample/tc1/sensor/sensorValueB]
broadcast "sample base: $t1base"
}
set t1wall [hget /sample/tc2/sensor/sensorValueA]
broadcast "sample wall: $t1wall"
}
namespace export *
namespace ensemble create
}
publish cf user

View File

@ -0,0 +1,109 @@
proc SetVoltPosStep {steps} {
# set llen 16384
# set steplen [expr{int($llen/(2*$steps))}]
# set phaselen
set l {}
for {set i 0} {$i < $steps} {incr i} {
lappend l [expr {($i*2.0/$steps)-1.0}]
}
for {set i $steps} {$i > 0} {incr i -1} {
lappend l [expr {($i*2.0/$steps)-1.0}]
}
set s "DATA VOLATILE, "
for {set i 0} {$i < [expr {[llength $l] -1}]} {incr i} {
append s [format "%1.3f" [lindex $l $i]] ","
}
append s [format "%1.3f" [lindex $l [expr {[llength $l] -1}]]]
sct_pulser send $s
broadcast $s
}
proc SetVoltBiStep {steps} {
set l {}
for {set i 0} {$i < $steps} {incr i} {
lappend l [expr {$i*1.0/$steps}]
}
for {set i $steps} {$i > [expr {$steps * -1}]} {incr i -1} {
lappend l [expr {$i*1.0/$steps}]
}
for {set i [expr {$steps * -1}]} {$i < 0} {incr i} {
lappend l [expr {$i*1.0/$steps}]
}
set s "DATA VOLATILE, "
for {set i 0} {$i < [expr {[llength $l] -1}]} {incr i} {
append s [format "%1.3f" [lindex $l $i]] ","
}
append s [format "%1.3f" [lindex $l [expr {[llength $l] -1}]]]
sct_pulser send $s
broadcast $s
}
proc VoltPosStep {volt freq voltsteps} {
PulserOff
newfile HISTOGRAM_XYT
SetVoltPosStep $voltsteps
sct_pulser send "VOLT:LOW [VoltScale 0.0]; LOW?"
sct_pulser send "VOLT:HIGH [VoltScale [expr {$volt*1.0}]]; HIGH?"
sct_pulser send "FREQ $freq;:FREQ?"
sct_pulser send "FUNC: USER VOLATILE"
sct_pulser send "FUNC USER"
}
proc UniZigTexture {motor mstart mstep mnum volt freq vstep binmult oscno} {
histmem mode unlimited
newfile HISTOGRAM_XYT
set bins [expr {$vstep * 2 * $binmult}]
histmem_period_strobo $freq $bins
wait 3
# set pulservolt [VoltScale [expr {$volt*1.0}]]
# set pulseroffs [VoltScale [expr {$volt*0.5}]]
VoltPosStep $volt $freq $vstep
PulserOn
for {set i 0} {$i < $mnum} {incr i} {
drive $motor [expr $i*$mstep+$mstart]
oct oscillate_count $oscno
oct oscillate start
hmm countblock
save $i
}
PulserOff
}
proc VoltBiStep {volt freq steps} {
PulserOff
newfile HISTOGRAM_XYT
SetVoltBiStep $steps
sct_pulser send "VOLT:LOW [VoltScale [expr {$volt*-1.0}]; LOW?"
sct_pulser send "VOLT:HIGH [VoltScale [expr {$volt*1.0}]; HIGH?"
sct_pulser send "FREQ $freq;:FREQ?"
sct_pulser send "FUNC: USER VOLATILE"
sct_pulser send "FUNC USER"
set bins [expr {$steps * 4}]
histmem_period_strobo $freq $bins
wait 3
PulserOn
oct oscillate_count $oscno
oct oscillate start
save 0
}
publish SetVoltPosStep user
publish SetVoltBiStep user
publish UniZigTexture user
publish VoltPosStep user
publish VoltBiStep user

View File

@ -28,7 +28,7 @@ proc ::histogram_memory::init_OAT_TABLE {args} {
hmm configure fat_frame_source INTERNAL
# set resolution "double_x"
set resolution "double_x"
switch $resolution {
"hires" {

View File

@ -117,7 +117,7 @@ if { [ info exists ::config_dict ] } {
set implementation [ dict get $::config_dict sample_stage implementation ]
if {$implementation == "normal_sample_stage"} {
set axis_config 0
} elseif {$implementation == "eularian_cradle"} {
} elseif {$implementation == "eulerian_cradle"} {
set axis_config 1
} elseif {$implementation == "small_omega"} {
set axis_config 2
@ -293,7 +293,7 @@ Motor mom $motor_driver_type [params \
absEnc 1\
absEncHome $mom_Home\
cntsPerX -2048]
setHomeandRange -motor mom -home 59.5066 -lowrange 5 -uprange 165
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
@ -417,7 +417,7 @@ oct long_name oct
############################
#
set mf_config 1
set mf_config 2
switch $mf_config {

View File

@ -1,5 +1,5 @@
[12tmagnet_setup]
cascade = B1:12tmagnet_oxford,sample_stage:12tmagnet_sample_insert,T1:mercury_scpi_01
cascade = B1:12tmagnet_oxford,sample_stage:12tmagnet_sample_insert,T1:mercury_01
enabled = False
[Autolab_setup]
cascade = sample_stage:normal_sample_stage,I1:protek_01,V1:protek_02
@ -7,12 +7,18 @@ enabled = False
[CF1]
cascade = T1:CF1_ls340,sample_stage:normal_sample_stage
enabled = False
[CF7]
cascade = T1:ls336_08,T2:ls336_05,sample_stage:normal_sample_stage
enabled = False
[CF8]
cascade = T1:ls336_01,T2:ls340_11,sample_stage:normal_sample_stage
enabled = False
[Default]
cascade = sample_stage:normal_sample_stage
enabled = True
[F5 Low Temperature Vacuum Furnace]
cascade = T1:eurotherm,sample_stage:normal_sample_stage
enabled = False
[B1]
datype = B
enabled = False
@ -27,6 +33,13 @@ id = 1
implementation = none
name = pulser
optype = function_generator
[HE3]
datype = X
enabled = False
id = 1
implementation = none
name = he3
optype = polariser
[I1]
datype = I
enabled = False
@ -131,12 +144,53 @@ desc = "Function Generator"
driver = agilent_33220A
imptype = function_generator
ip = 10.157.205.16
name = pulser
port = 5025
[eularian_cradle]
[eulerian_cradle]
desc = "Load the Eulerian cradle configuration"
imptype = motion_axis
[eurotherm]
asyncprotocol = "modbus_ap"
desc = "Eurotherm temperature controller"
dev_id = 1
driver = "eurotherm_3200"
imptype = temperature
ip = 10.157.205.19
port = 502
tol = 1.0
[he3_analyser]
desc = "3He Analyser"
driver = "he3_polanal"
has_anal = true
has_pol = false
imptype = polariser
ip = 10.157.205.2
port = 55013
terminator = \r\n
[he3_both]
desc = "3He Pol+Anal"
driver = "he3_polanal"
has_anal = true
has_pol = true
imptype = polariser
ip = 10.157.205.2
port = 55013
terminator = \r\n
[he3_polariser]
desc = "3He Polariser"
driver = "he3_polanal"
has_anal = false
has_pol = true
imptype = polariser
ip = 10.157.205.2
port = 55013
terminator = \r\n
[ls336_01]
asyncqueue = sct
desc = "Lakeshore 336 temperature controller"
@ -175,7 +229,7 @@ asyncqueue = sct
desc = "Lakeshore 336 temperature controller"
driver = "ls336"
imptype = temperature
ip = 137.157.201.21
ip = 10.157.205.54
port = 7777
terminator = \r\n
tol1 = 1.0
@ -186,7 +240,28 @@ asyncqueue = sct
desc = "Lakeshore 336 temperature controller"
driver = "ls336"
imptype = temperature
ip = 10.157.205.30
ip = 10.157.205.61
port = 7777
terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[ls336_08]
asyncqueue = sct
desc = "Lakeshore 336 temperature controller"
driver = "ls336"
imptype = temperature
ip = 10.157.205.55
port = 7777
terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[ls336_10]
desc = "Lakeshore 336 temperature controller"
driver = "ls336"
imptype = temperature
ip = 10.157.205.26
port = 7777
terminator = \r\n
tol1 = 1.0
@ -263,6 +338,7 @@ ip = 10.157.205.5
port = 7020
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
@ -276,6 +352,7 @@ ip = 10.157.205.46
port = 7020
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
@ -289,6 +366,7 @@ ip = 10.157.205.47
port = 7020
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
@ -316,7 +394,7 @@ port = 4001
desc = "Load the small omega configuration"
imptype = motion_axis
[vf1_west4100]
[vf1_west6100]
asyncprotocol = modbus_ap
desc = "VF1 Blue furnace temperature controller"
dev_id = 1
@ -325,7 +403,7 @@ imptype = temperature
ip = 10.157.205.24
port = 502
[vf2_west4100]
[vf2_west6100]
asyncprotocol = modbus_ap
desc = "VF2 Blue furnace temperature controller"
dev_id = 1

View File

@ -63,13 +63,14 @@ fileeval $cfPath(commands)/hvcommands.tcl
fileeval $cfPath(commands)/vactex.tcl
fileeval $cfPath(commands)/eulerscan.tcl
fileeval $cfPath(commands)/cfcommands.tcl
fileeval $cfPath(commands)/hvsteps.tcl
fileeval $cfPath(anticollider)/anticollider.tcl
fileeval $cfPath(beamline)/sct_he3_polanal.tcl
fileeval $cfPath(hmm)/hmm_rapid.tcl
source gumxml.tcl
# Wombat only change to hvcommands' scaleval variable
SetVoltScale 2000.0
SetVoltScale 1000.0
# The Alice Thing

View File

@ -109,7 +109,7 @@ if { [ info exists ::config_dict ] } {
set implementation [ dict get $::config_dict sample_stage implementation ]
if {$implementation == "normal_sample_stage"} {
set axis_config 0
} elseif {$implementation == "eularian_cradle"} {
} elseif {$implementation == "eulerian_cradle"} {
set axis_config 1
} elseif {$implementation == "small_omega"} {
set axis_config 2

View File

@ -1,12 +1,15 @@
[12tmagnet_setup]
cascade = B1:12tmagnet_oxford,sample_stage:12tmagnet_sample_insert,T1:mercury_scpi_01
cascade = B1:12tmagnet_oxford,sample_stage:12tmagnet_sample_insert,T1:mercury_01
enabled = False
[CF1]
cascade = T1:CF1_ls340,sample_stage:normal_sample_stage
enabled = False
[CF8]
[CF7]
cascade = T1:ls336_08,T2:ls336_05,sample_stage:normal_sample_stage
enabled = False
[CF8]
cascade = T1:ls336_01,T2:ls340_11,sample_stage:normal_sample_stage
enabled = False
[Default]
cascade = sample_stage:normal_sample_stage
enabled = True
@ -107,8 +110,9 @@ optype = motion_axis
[12tmagnet_oxford]
asyncqueue = sct
desc = "12 Tesla Oxford Magnet"
driver = "oxford_labview"
driver = "oxford12tlv"
imptype = magnetic_field
interval = 5
ip = 10.157.205.3
port = 55001
@ -134,7 +138,7 @@ imptype = function_generator
ip = 10.157.205.16
port = 5025
[eularian_cradle]
[eulerian_cradle]
desc = "Load the Eulerian cradle configuration"
imptype = motion_axis
@ -187,7 +191,7 @@ asyncqueue = sct
desc = "Lakeshore 336 temperature controller"
driver = "ls336"
imptype = temperature
ip = 137.157.201.21
ip = 10.157.205.61
port = 7777
terminator = \r\n
tol1 = 1.0
@ -225,6 +229,38 @@ terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[ls340_01]
asyncqueue = sct
desc = "Lakeshore 340 temperature controller"
driver = "ls340"
imptype = temperature
ip = 137.157.201.86
port = 4001
terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[ls340_02]
asyncqueue = sct
desc = "Lakeshore 340 temperature controller"
driver = "ls340"
imptype = temperature
ip = 137.157.201.86
port = 4002
terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[ls340_11]
desc = "Lakeshore 340 temperature controller"
driver = "ls340"
imptype = temperature
ip = 137.157.201.86
port = 4001
terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[ls370_1]
desc = "Lakeshore 370 Resistance Bridge"
driver = "lakeshore_m370"
@ -243,6 +279,7 @@ ip = 10.157.205.5
port = 7020
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
@ -256,6 +293,7 @@ ip = 10.157.205.46
port = 7020
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
@ -269,6 +307,7 @@ ip = 10.157.205.47
port = 7020
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
@ -314,10 +353,21 @@ robot_name = rosie
desc = "Load the small omega configuration"
imptype = motion_axis
[west4100]
desc = "Blue furnace temperature controller"
[vf1_west6100]
asyncprotocol = modbus_ap
desc = "VF1 Blue furnace temperature controller"
dev_id = 1
driver = "west4100"
driver = "west_6100"
imptype = temperature
ip = 10.157.205.19
ip = 10.157.205.24
port = 502
[vf2_west6100]
asyncprotocol = modbus_ap
desc = "VF2 Blue furnace temperature controller"
dev_id = 1
driver = "west_6100"
imptype = temperature
ip = 10.157.205.25
port = 502

View File

@ -36,13 +36,8 @@ fileeval $cfPath(environment)/temperature/sct_lakeshore_340.tcl
fileeval $cfPath(environment)/temperature/ls340_sct.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_370.tcl
fileeval $cfPath(environment)/temperature/lakeshore_m370_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_base_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_level_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_pres_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_scpi_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_temp_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_valve_sct.tcl
fileeval $cfPath(environment)/sct_protek_common.tcl
fileeval $cfPath(environment)/temperature/oxford_mercury_sct.tcl
fileeval $cfPath(environment)/protekmm_sct.tcl
fileeval $cfPath(environment)/temperature/julabo_lh45_gen_sct.tcl
fileeval $cfPath(environment)/sct_rheometer.tcl

View File

@ -173,27 +173,47 @@ terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[mercury_scpi_01]
desc = "Oxford Mercury temperature controller in Mercury mode"
driver = "mercury_scpi"
[mercury_01]
assoc = 00000124
cards = HHHVLTTP
desc = "Oxford Mercury temperature controller (12T)"
driver = "oxford_mercury"
imptype = temperature
ip = 10.157.205.5
permlink = LT
port = 7020
terminator = \r\n
tol = 1.0
valve_tol = 2
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
[mercury_scpi_02]
desc = "Oxford Mercury temperature controller in Mercury mode"
driver = "mercury_scpi"
[mercury_02]
assoc = 00000124
cards = HHTVTTTP
desc = "Oxford Mercury temperature controller (CF10)"
driver = "oxford_mercury"
imptype = temperature
ip = 10.157.205.46
port = 7020
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
[mercury_03]
assoc = 00000123
cards = HHHNNTTT
desc = "Oxford Mercury temperature controller ()"
driver = "oxford_mercury"
imptype = temperature
ip = 10.157.205.47
permlink = LT
port = 7020
terminator = \r\n
tol = 1.0
valve_tol = 2
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
[normal_sample_stage]
desc = "This is the default sample stage configuration xyz translation omega rotation but no tilt axes"

View File

@ -1,5 +1,5 @@
[12tmagnet_setup]
cascade = B1:12tmagnet_oxford,sample_stage:12tmagnet_sample_insert,T1:mercury_scpi_01
cascade = B1:12tmagnet_oxford,sample_stage:12tmagnet_sample_insert,T1:mercury_01
enabled = False
[CF3]
cascade = T1:ls340_pelican,sample_stage:normal_sample_stage
@ -181,7 +181,7 @@ asyncqueue = sct
desc = "Lakeshore 336 temperature controller"
driver = "ls336"
imptype = temperature
ip = 137.157.201.21
ip = 10.157.205.61
port = 7777
terminator = \r\n
tol1 = 1.0
@ -262,6 +262,7 @@ ptol = 5
terminator = \n
ttol = 1.0
vtol = 5
timeout = 2000
[mercury_02]
assoc = 00000124
@ -275,6 +276,7 @@ ptol = 5
terminator = \n
ttol = 1.0
vtol = 5
timeout = 2000
[mercury_03]
assoc = 00000123
@ -288,6 +290,7 @@ ptol = 5
terminator = \n
ttol = 1.0
vtol = 5
timeout = 2000
[normal_sample_stage]
desc = "This is the default sample stage configuration"
@ -309,10 +312,20 @@ imptype = multimeter
ip = 10.157.205.37
port = 4001
[west4100]
desc = "Blue furnace temperature controller"
[vf1_west6100]
asyncprotocol = modbus_ap
desc = "VF1 Blue furnace temperature controller"
dev_id = 1
driver = "west4100"
driver = "west_6100"
imptype = temperature
ip = 10.157.205.19
ip = 10.157.205.24
port = 502
[vf2_west6100]
asyncprotocol = modbus_ap
desc = "VF2 Blue furnace temperature controller"
dev_id = 1
driver = "west_6100"
imptype = temperature
ip = 10.157.205.25
port = 502

View File

@ -41,6 +41,7 @@ fileeval $cfPath(environment)/temperature/ls336_sct.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_340.tcl
fileeval $cfPath(environment)/temperature/ls340_sct.tcl
fileeval $cfPath(environment)/temperature/julabo_lh45_gen_sct.tcl
fileeval $cfPath(environment)/temperature/oxford_mercury_sct.tcl
fileeval $cfPath(hmm)/hmm_configuration.tcl
fileeval $cfPath(nexus)/nxscripts.tcl
fileeval $cfPath(hmm)/detector.tcl

View File

@ -235,27 +235,47 @@ terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[mercury_scpi_01]
desc = "Oxford Mercury temperature controller in Mercury mode"
driver = "mercury_scpi"
[mercury_01]
assoc = 00000124
cards = HHHVLTTP
desc = "Oxford Mercury temperature controller (12T)"
driver = "oxford_mercury"
imptype = temperature
ip = 10.157.205.5
permlink = LT
port = 7020
terminator = \r\n
tol = 1.0
valve_tol = 2
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
[mercury_scpi_02]
desc = "Oxford Mercury temperature controller in Mercury mode"
driver = "mercury_scpi"
[mercury_02]
assoc = 00000124
cards = HHTVTTTP
desc = "Oxford Mercury temperature controller (CF10)"
driver = "oxford_mercury"
imptype = temperature
ip = 10.157.205.46
port = 7020
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
[mercury_03]
assoc = 00000123
cards = HHHNNTTT
desc = "Oxford Mercury temperature controller ()"
driver = "oxford_mercury"
imptype = temperature
ip = 10.157.205.47
permlink = LT
port = 7020
terminator = \r\n
tol = 1.0
valve_tol = 2
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
[mvp]
desc = "Valve controller"

View File

@ -41,7 +41,7 @@ fileeval $cfPath(environment)/temperature/sct_lakeshore_340.tcl
fileeval $cfPath(environment)/temperature/ls340_sct.tcl
fileeval $cfPath(environment)/temperature/sct_lakeshore_370.tcl
fileeval $cfPath(environment)/temperature/lakeshore_m370_sct.tcl
fileeval $cfPath(environment)/temperature/mercury_scpi_sct.tcl
fileeval $cfPath(environment)/temperature/oxford_mercury_sct.tcl
fileeval $cfPath(environment)/nhq_200_sct.tcl
fileeval $cfPath(environment)/omron_hldc_sct.tcl
fileeval $cfPath(environment)/temperature/pfeiffer_hg_sct.tcl
@ -55,6 +55,7 @@ fileeval $cfPath(environment)/temperature/sct_watlow_rm.tcl
fileeval $cfPath(environment)/temperature/watlow_mrm_sct.tcl
fileeval $cfPath(environment)/temperature/sct_watlow_st4.tcl
fileeval $cfPath(environment)/temperature/watlow_mst4_sct.tcl
fileeval $cfPath(environment)/temperature/west_6100_sct.tcl
fileeval $cfPath(hmm)/hmm_configuration.tcl
fileeval $cfPath(nexus)/nxscripts.tcl
fileeval $cfPath(hmm)/detector.tcl

View File

@ -2,7 +2,7 @@
cascade = T1:watlow_rm,sample_stage:10_pos_sample_stage
enabled = False
[12Tmagnet_setup]
cascade = B1:12tmagnet_oxford,sample_stage:Oxford_12tmagnet_sample_insert,T1:mercury_scpi_01
cascade = B1:12tmagnet_oxford,sample_stage:Oxford_12tmagnet_sample_insert,T1:mercury_01
enabled = False
[20_position_pulser]
cascade = T1:julabo_lh45,Function_Generator:agilent_33220A,High_Voltage:protek_02,sample_stage:20_pos_sample_stage
@ -315,7 +315,7 @@ asyncqueue = sct
desc = "Lakeshore 336 temperature controller"
driver = "ls336"
imptype = temperature
ip = 137.157.201.21
ip = 10.157.205.61
port = 7777
terminator = \r\n
tol1 = 1.0
@ -374,27 +374,47 @@ terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[mercury_scpi_01]
desc = "Oxford Mercury temperature controller in Mercury mode"
driver = "mercury_scpi"
[mercury_01]
assoc = 00000124
cards = HHHVLTTP
desc = "Oxford Mercury temperature controller (12T)"
driver = "oxford_mercury"
imptype = temperature
ip = 10.157.205.5
permlink = LT
port = 7020
terminator = \r\n
tol = 1.0
valve_tol = 2
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
[mercury_scpi_02]
desc = "Oxford Mercury temperature controller in Mercury mode"
driver = "mercury_scpi"
[mercury_02]
assoc = 00000124
cards = HHTVTTTP
desc = "Oxford Mercury temperature controller (CF10)"
driver = "oxford_mercury"
imptype = temperature
ip = 10.157.205.46
port = 7020
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
[mercury_03]
assoc = 00000123
cards = HHHNNTTT
desc = "Oxford Mercury temperature controller ()"
driver = "oxford_mercury"
imptype = temperature
ip = 10.157.205.47
permlink = LT
port = 7020
terminator = \r\n
tol = 1.0
valve_tol = 2
ptol = 5
terminator = \n
timeout = 2000
ttol = 1.0
vtol = 5
[newport_rva]
desc = "Newport Rapid Visco-Analyser"
@ -433,10 +453,20 @@ terminator = \r\n
tol = 0.5
type = T
[west4100]
desc = "Blue furnace temperature controller"
[vf1_west6100]
asyncprotocol = modbus_ap
desc = "VF1 Blue furnace temperature controller"
dev_id = 1
driver = "west4100"
driver = "west_6100"
imptype = temperature
ip = 10.157.205.19
ip = 10.157.205.24
port = 502
[vf2_west6100]
asyncprotocol = modbus_ap
desc = "VF2 Blue furnace temperature controller"
dev_id = 1
driver = "west_6100"
imptype = temperature
ip = 10.157.205.25
port = 502

View File

@ -0,0 +1,76 @@
# This must be loaded by motor_configuration.tcl
set ephi_Home 26575217
#set echi_Home 24224381
#set echi_Home 8919294
set echi_Home 24207159
set eom_Home 23165482
# Sample Lower Tilt sgl -> Euler Chi
Motor echi $motor_driver_type [params \
asyncqueue mc2\
axis B\
units degrees\
hardlowerlim -45\
hardupperlim 120\
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 120
echi home 0
echi speed 1
echi movecount $move_count
echi precision 0.01
echi part sample
echi long_name euler_chi
# Sample Upper Tilt sgu -> Euler Phi
Motor ephi $motor_driver_type [params \
asyncqueue mc2\
axis A\
units degrees\
hardlowerlim -365\
hardupperlim 365\
maxSpeed 5\
maxAccel 5\
maxDecel 5\
stepsPerX -12500\
absEnc 1\
absEncHome $ephi_Home\
cntsPerX -4096]
setHomeandRange -motor ephi -home 0 -lowrange -360 -uprange 360
ephi softlowerlim -360
ephi softupperlim 360
ephi home 0
ephi speed 3
ephi movecount $move_count
ephi precision 0.01
ephi part sample
ephi long_name euler_phi
# Sample Upper Translation stu -> euler omega stage
Motor eom $motor_driver_type [params \
asyncqueue mc2\
axis C\
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

View File

@ -1,15 +1,24 @@
[12tmagnet_setup]
cascade = B1:12tmagnet_oxford,sample_stage:12tmagnet_sample_insert,T1:mercury_scpi_01
cascade = B1:12tmagnet_oxford,sample_stage:12tmagnet_sample_insert,m2s2:normal_m2s2,T1:mercury_01
enabled = False
[3He_setup]
cascade = HE3:he3_both,sample_stage:normal_sample_stage,m2s2:extended_m2s2
enabled = False
[CF1]
cascade = T1:CF1_ls340,sample_stage:normal_sample_stage
cascade = T1:CF1_ls340,sample_stage:normal_sample_stage,m2s2:normal_m2s2
enabled = False
[CF4]
cascade = T1:CF4_ls340,sample_stage:normal_sample_stage
cascade = T1:CF4_ls340,sample_stage:normal_sample_stage,m2s2:normal_m2s2
enabled = False
[CF7]
cascade = T1:ls336_08,T2:ls336_05,sample_stage:normal_sample_stage
enabled = False
[Default]
cascade = sample_stage:normal_sample_stage
cascade = sample_stage:normal_sample_stage,m2s2:normal_m2s2
enabled = True
[OC1]
cascade = T1:OC1_ls340,sample_stage:normal_sample_stage,m2s2:normal_m2s2
enabled = False
[B1]
datype = B
enabled = False
@ -24,6 +33,13 @@ id = 1
implementation = none
name = pulser
optype = function_generator
[HE3]
datype = X
enabled = False
id = 1
implementation = none
name = he3
optype = polariser
[I1]
datype = I
enabled = False
@ -38,6 +54,13 @@ id = 2
implementation = none
name = curr2
optype = multimeter
[P1]
datype = P
enabled = False
id = 1
implementation = none
name = pressure1
optype = pressure
[T1]
datype = T
enabled = False
@ -80,6 +103,11 @@ id = 2
implementation = none
name = volts2
optype = multimeter
[m2s2]
enabled = Always
implementation = normal_m2s2
name = m2s2
optype = m2s2_axes
[sample_stage]
enabled = Always
implementation = normal_sample_stage
@ -118,14 +146,84 @@ terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[OC1_ls340]
desc = "cf1: Orange Cryostat"
driver = "ls340"
imptype = temperature
ip = 10.157.205.41
port = 4001
terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[agilent_33220A]
asyncqueue = sct
desc = "Function Generator"
driver = agilent_33220A
imptype = function_generator
ip = 10.157.205.16
name = pulser
port = 5025
[anv_west6100]
asyncprotocol = modbus_ap
desc = "Needle valve West 6100 temperature controller"
dev_id = 1
driver = "west_6100"
imptype = pressure
ip = 10.157.205.56
port = 502
timeout = 2000
[e3200_01]
asyncprotocol = modbus_ap
datype = T
desc = "Eurotherm 3200 (modbus/sct)"
dev_id = 21
driver = "eurotherm_3200"
imptype = temperature
ip = 10.157.205.58
port = 502
tol = 5
[eulerian_cradle]
desc = "Load the Eulerian cradle configuration"
imptype = motion_axis
[extended_m2s2]
desc = "This sets lower speeds and accelerations when the m2 and s2 axes are extended"
imptype = m2s2_axes
[he3_analyser]
desc = "3He Analyser"
driver = "he3_polanal"
has_anal = true
has_pol = false
imptype = polariser
ip = 10.157.205.2
port = 55013
terminator = \r\n
[he3_both]
desc = "3He Pol+Anal"
driver = "he3_polanal"
has_anal = true
has_pol = true
imptype = polariser
ip = 10.157.205.2
port = 55013
terminator = \r\n
[he3_polariser]
desc = "3He Polariser"
driver = "he3_polanal"
has_anal = false
has_pol = true
imptype = polariser
ip = 10.157.205.2
port = 55013
terminator = \r\n
[ls336_01]
asyncqueue = sct
desc = "Lakeshore 336 temperature controller"
@ -164,7 +262,7 @@ asyncqueue = sct
desc = "Lakeshore 336 temperature controller"
driver = "ls336"
imptype = temperature
ip = 137.157.201.21
ip = 10.157.205.54
port = 7777
terminator = \r\n
tol1 = 1.0
@ -175,7 +273,18 @@ asyncqueue = sct
desc = "Lakeshore 336 temperature controller"
driver = "ls336"
imptype = temperature
ip = 10.157.205.30
ip = 10.157.205.61
port = 7777
terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[ls336_08]
asyncqueue = sct
desc = "Lakeshore 336 temperature controller"
driver = "ls336"
imptype = temperature
ip = 10.157.205.55
port = 7777
terminator = \r\n
tol1 = 1.0
@ -234,6 +343,14 @@ terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[ls370_1]
desc = "Lakeshore 370 Resistance Bridge"
driver = "lakeshore_m370"
imptype = temperature
ip = 10.157.205.42
port = 4001
tol = 1.0
[mercury_01]
assoc = 00000124
cards = HHHVLTTP
@ -246,6 +363,7 @@ ptol = 5
terminator = \n
ttol = 1.0
vtol = 5
timeout = 2000
[mercury_02]
assoc = 00000124
@ -259,6 +377,7 @@ ptol = 5
terminator = \n
ttol = 1.0
vtol = 5
timeout = 2000
[mercury_03]
assoc = 00000123
@ -272,6 +391,11 @@ ptol = 5
terminator = \n
ttol = 1.0
vtol = 5
timeout = 2000
[normal_m2s2]
desc = "This sets speed and acceleration for the default extension of the m2 and s2 axes"
imptype = m2s2_axes
[normal_sample_stage]
desc = "This is the default sample stage configuration"
@ -293,15 +417,6 @@ imptype = multimeter
ip = 10.157.205.37
port = 4001
[vf1_west4100]
asyncqueue = sct
desc = "VF1 Blue furnace temperature controller"
dev_id = 1
driver = "west4100"
imptype = temperature
ip = 10.157.205.24
port = 502
[vf1_west6100]
asyncprotocol = modbus_ap
desc = "VF1 Blue furnace 6100 temperature controller"
@ -312,15 +427,6 @@ ip = 10.157.205.24
port = 502
timeout = 2000
[vf2_west4100]
asyncqueue = sct
desc = "VF2 Blue furnace temperature controller"
dev_id = 1
driver = "west4100"
imptype = temperature
ip = 10.157.205.25
port = 502
[vf2_west6100]
asyncprotocol = modbus_ap
desc = "VF2 Blue furnace 6100 temperature controller"