diff --git a/site_ansto/instrument/hipd/config/commands/cfcommands.tcl b/site_ansto/instrument/hipd/config/commands/cfcommands.tcl index d2980113..0c5ae243 100644 --- a/site_ansto/instrument/hipd/config/commands/cfcommands.tcl +++ b/site_ansto/instrument/hipd/config/commands/cfcommands.tcl @@ -1,166 +1,230 @@ -# 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 - +# 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 200 + 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 RampOn {rate} { + variable base_set + variable wall_set + + hset /sample/tc1/control/ramp_Loop_1 1,$rate + if {$base_set} {hset /sample/tc1/control/ramp_Loop_2 1,$rate} + if {$wall_set} {hset /sample/tc2/control/ramp_Loop_1 1,$rate} + wait 5 +} + +proc RampOff {} { + variable base_set + variable wall_set + + hset /sample/tc1/control/ramp_Loop_1 0,5 + if {$base_set} {hset /sample/tc1/control/ramp_Loop_2 0,5} + if {$wall_set} {hset /sample/tc2/control/ramp_Loop_1 0,5} + wait 5 + +} + + + 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 $temp} + 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 \$temp"} + 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} { + RampOff + 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 StepRun {start step fin oscno delay} { + RampOff + 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 StepWaitRun {start step fin oscno delay} { + RampOff + 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 RampRun {start rate fin oscno} { + + RampOff + TempSet $start + wait 5 + set tim1 [clock seconds] + set tlength [expr abs($start-$fin)/($rate/60.0)] + broadcast $rate $tlength + RampOn $rate + wait 5 + TempSet $fin + set bool 0 + set i 0 + histmem mode unlimited + newfile HISTOGRAM_XY + while {$bool==0} { + oct oscillate_count $oscno + oct oscillate start + hmm countblock + save $i + incr i + set tim2 [expr [clock seconds]-$tim1] + broadcast $tim2 + if {$tim2>$tlength} {set bool 1} + } + RampOff + + } + + 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 HeaterOff {} { + variable base_set + variable wall_set + + hset /sample/tc1/heater/heaterRange_1 0 + if {$base_set} {hset /sample/tc1/heater/heaterRange_2 0} + if {$wall_set} {hset /sample/tc2/heater/heaterRange 0} + } + + 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 + diff --git a/site_ansto/instrument/hipd/config/hmm/hmm_configuration.tcl b/site_ansto/instrument/hipd/config/hmm/hmm_configuration.tcl index 45c94986..58300baa 100644 --- a/site_ansto/instrument/hipd/config/hmm/hmm_configuration.tcl +++ b/site_ansto/instrument/hipd/config/hmm/hmm_configuration.tcl @@ -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" { diff --git a/site_ansto/instrument/hipd/wombat_configuration.tcl b/site_ansto/instrument/hipd/wombat_configuration.tcl index 49d8c3a4..ef0c7499 100644 --- a/site_ansto/instrument/hipd/wombat_configuration.tcl +++ b/site_ansto/instrument/hipd/wombat_configuration.tcl @@ -97,7 +97,7 @@ SetVoltScale 1000.0 # LS336 02 at 205.29 # add_sct_ls336 tc2 10.157.205.30 7777 "\r\n" 1.0 1.0 # add_sct_ls336 tc1 10.157.205.31 7777 "\r\n" 1.0 1.0 -# add_sct_ls340 tc3 137.157.201.86 4001 "\r\n" 1.0 1.0 +# add_sct_ls340 tc3 137.157.201.86 4002 "\r\n" 1.0 1.0 server_init ###########################################