Merge branch 'Wombat' into temp
Conflicts: sics/site_ansto/instrument/config/environment/temperature/sct_oxford_mercury.tcl sics/site_ansto/instrument/hipd/config/commands/commands.tcl sics/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl sics/site_ansto/instrument/hipd/util/sics_config.ini
This commit is contained in:
@ -1,5 +1,9 @@
|
|||||||
|
|
||||||
set scaleval 1000.0
|
set scaleval 2000.0
|
||||||
|
set rampstep 100
|
||||||
|
set rampdelay 3
|
||||||
|
set motdir 1
|
||||||
|
set pulserstate 0
|
||||||
|
|
||||||
proc SetVoltScale {newscaleval} {
|
proc SetVoltScale {newscaleval} {
|
||||||
global scaleval
|
global scaleval
|
||||||
@ -11,17 +15,58 @@ proc VoltScale {involt} {
|
|||||||
return [expr {($involt*1.0)/$scaleval}]
|
return [expr {($involt*1.0)/$scaleval}]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc SetRampParms {_rampstep _rampdelay} {
|
||||||
|
global rampstep rampdelay
|
||||||
|
set rampstep $_rampstep
|
||||||
|
set rampdelay $_rampdelay
|
||||||
|
}
|
||||||
|
|
||||||
proc SetVolt {volt} {
|
proc SetVolt {volt} {
|
||||||
|
global pulserstate
|
||||||
if {$volt== 0} {
|
if {$volt== 0} {
|
||||||
PulserOff
|
PulserOff
|
||||||
|
set pulserstate 0
|
||||||
} else {
|
} else {
|
||||||
set pulservolt [VoltScale $volt]
|
set pulservolt [VoltScale $volt]
|
||||||
sct_pulser send "VOLT:OFFS $pulservolt; OFFS?"
|
# sct_pulser send "VOLT:OFFS $pulservolt; OFFS?"
|
||||||
|
# PulserDC $pulservolt
|
||||||
|
if {$pulserstate==0} {
|
||||||
PulserDC $pulservolt
|
PulserDC $pulservolt
|
||||||
PulserOn
|
PulserOn
|
||||||
|
set pulserstate 1
|
||||||
|
} else {
|
||||||
|
sct_pulser send "VOLT:OFFS $pulservolt; OFFS?"
|
||||||
|
PulserOn
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc VoltSetStep {start step fin delay} {
|
||||||
|
set i [expr {$start*1.0}]
|
||||||
|
set loopvar 1
|
||||||
|
SetVolt $i
|
||||||
|
if {($start == $fin) || ($step == 0)} {break}
|
||||||
|
while {$loopvar} {
|
||||||
|
wait $delay
|
||||||
|
if {($start < $fin)} {
|
||||||
|
set i [expr {$i + abs($step)}]
|
||||||
|
if {$i >= $fin} {
|
||||||
|
set i $fin
|
||||||
|
set loopvar 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if {($start > $fin)} {
|
||||||
|
set i [expr {$i - abs($step)}]
|
||||||
|
if {$i <= $fin} {
|
||||||
|
set i $fin
|
||||||
|
set loopvar 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SetVolt $i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
proc GetVolt {} {
|
proc GetVolt {} {
|
||||||
sct_pulser transact VOLT:OFFS?
|
sct_pulser transact VOLT:OFFS?
|
||||||
}
|
}
|
||||||
@ -29,25 +74,18 @@ proc GetVolt {} {
|
|||||||
proc SingleVolt {volt oscno} {
|
proc SingleVolt {volt oscno} {
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
newfile HISTOGRAM_XY
|
newfile HISTOGRAM_XY
|
||||||
if {$volt== 0} {
|
SetVolt $volt
|
||||||
PulserOff
|
oct oscillate_count $oscno
|
||||||
} else {
|
oct oscillate start
|
||||||
set pulservolt [VoltScale $volt]
|
|
||||||
sct_pulser send "VOLT:OFFS $pulservolt; OFFS?"
|
|
||||||
pulserDC $pulservolt
|
|
||||||
PulserOn
|
|
||||||
}
|
|
||||||
oscmd start $oscno
|
|
||||||
hmm countblock
|
|
||||||
save 0
|
save 0
|
||||||
oscmd stop
|
|
||||||
}
|
}
|
||||||
|
|
||||||
proc SetDC {} {
|
proc SetDC {} {
|
||||||
pulseroff
|
pulseroff
|
||||||
#NOTE: Setting FUNC DC generates a remote ctrl error if the
|
#NOTE: Setting FUNC DC generates a remote ctrl error if the
|
||||||
# burst mode happens to be on
|
# burst mode happens to be on
|
||||||
set resp [sct_pulser transact "BURS:STAT OFF;:FUNC DC;:VOLT:OFFS 0; OFFS?"]
|
set resp [sct_pulser send "BURS:STAT OFF;:FUNC DC;:VOLT:OFFS 0; OFFS?"]
|
||||||
pulseron
|
pulseron
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,54 +99,57 @@ proc VoltRamp {start step fin oscno} {
|
|||||||
set j [expr {$i*$step+$start}]
|
set j [expr {$i*$step+$start}]
|
||||||
if {$j> $fin && $step > 0} {break}
|
if {$j> $fin && $step > 0} {break}
|
||||||
if {$j< $fin && $step < 0} {break}
|
if {$j< $fin && $step < 0} {break}
|
||||||
if {$j== 0} {
|
SetVolt $j
|
||||||
PulserOff
|
oct oscillate_count $oscno
|
||||||
} else {
|
oct oscillate start
|
||||||
set pulservolt [VoltScale $j]
|
|
||||||
pulserDC $pulservolt
|
|
||||||
PulserOn
|
|
||||||
}
|
|
||||||
oscmd start $oscno
|
|
||||||
hmm countblock
|
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
oscmd stop
|
|
||||||
}
|
}
|
||||||
|
|
||||||
proc VoltTextureRamp {start step fin mot tstart tstep tfin oscno} {
|
proc SingleVTexScan {mot tstart tstep tfin oscno} {
|
||||||
histmem mode unlimited
|
global motdir
|
||||||
|
broadcast in singlevtexscan
|
||||||
|
|
||||||
set loopvar 1
|
set loopvar 1
|
||||||
|
set i_bool 0
|
||||||
|
histmem mode unlimited
|
||||||
|
if {$motdir == 1} {
|
||||||
|
set currentmot $tstart
|
||||||
set i 0
|
set i 0
|
||||||
while {$loopvar} {
|
|
||||||
set j [expr {$i*$step+$start}]
|
|
||||||
if {$j> $fin && $step > 0} {break}
|
|
||||||
if {$j< $fin && $step < 0} {break}
|
|
||||||
if {$j== 0} {
|
|
||||||
PulserOff
|
|
||||||
} else {
|
} else {
|
||||||
set pulservolt [VoltScale $j]
|
set currentmot $tfin
|
||||||
pulserDC $pulservolt
|
set i [expr {int(($tfin-$tstart)/$tstep)}]
|
||||||
PulserOn
|
|
||||||
}
|
}
|
||||||
sampledescription voltage $j
|
|
||||||
broadcast voltage $j
|
|
||||||
newfile HISTOGRAM_XY
|
newfile HISTOGRAM_XY
|
||||||
set m 0
|
while {$i_bool==0} {
|
||||||
while {1} {
|
drive $mot $currentmot
|
||||||
set n [expr {$m*$tstep+$tstart}]
|
oct oscillate_count $oscno
|
||||||
if {$n> $tfin && $tstep > 0} {break}
|
oct oscillate start
|
||||||
if {$n< $tfin && $tstep < 0} {break}
|
|
||||||
drive $mot $n
|
|
||||||
oscmd start $oscno
|
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $m
|
save $i
|
||||||
incr m
|
if {($motdir > 0)} {
|
||||||
}
|
|
||||||
oscmd stop
|
set currentmot [expr {$currentmot + $tstep}]
|
||||||
|
if {$currentmot > $tfin} {set i_bool 1}
|
||||||
incr i
|
incr i
|
||||||
|
} else {
|
||||||
|
set currentmot [expr {$currentmot - $tstep}]
|
||||||
|
if {$currentmot < $tstart} {set i_bool 1}
|
||||||
|
incr i -1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
set motdir [expr {(-1*$motdir)}]
|
||||||
|
}
|
||||||
|
|
||||||
|
proc VListTexScan {voltlist mot tstart tstep tfin oscno} {
|
||||||
|
global rampstep rampdelay
|
||||||
|
set curvolt [lindex $voltlist 0]
|
||||||
|
broadcast $curvolt
|
||||||
|
SetVolt $curvolt
|
||||||
|
foreach volt $voltlist {
|
||||||
|
broadcast $volt
|
||||||
|
VoltSetStep $curvolt $rampstep $volt $rampdelay
|
||||||
|
SingleVTexScan $mot $tstart $tstep $tfin $oscno
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,12 +165,10 @@ proc SquarePulseTexture {motor start step numsteps volt freq bins oscno} {
|
|||||||
|
|
||||||
for {set i 0} {$i < $numsteps} {incr i} {
|
for {set i 0} {$i < $numsteps} {incr i} {
|
||||||
drive $motor [expr $i*$step+$start]
|
drive $motor [expr $i*$step+$start]
|
||||||
oscmd start $oscno
|
oct oscillate_count $oscno
|
||||||
hmm countblock
|
oct oscillate start
|
||||||
save $i
|
save $i
|
||||||
}
|
}
|
||||||
|
|
||||||
oscmd stop
|
|
||||||
}
|
}
|
||||||
|
|
||||||
proc UniPulseTexture {motor start step numsteps volt freq bins oscno} {
|
proc UniPulseTexture {motor start step numsteps volt freq bins oscno} {
|
||||||
@ -144,12 +183,10 @@ proc UniPulseTexture {motor start step numsteps volt freq bins oscno} {
|
|||||||
|
|
||||||
for {set i 0} {$i < $numsteps} {incr i} {
|
for {set i 0} {$i < $numsteps} {incr i} {
|
||||||
drive $motor [expr $i*$step+$start]
|
drive $motor [expr $i*$step+$start]
|
||||||
oscmd start $oscno
|
oct oscillate_count $oscno
|
||||||
hmm countblock
|
oct oscillate start
|
||||||
save $i
|
save $i
|
||||||
}
|
}
|
||||||
|
|
||||||
oscmd stop
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -162,8 +199,8 @@ proc BehlkePulseTexture {motor start step numsteps freq bins oscno} {
|
|||||||
PulserOn
|
PulserOn
|
||||||
for {set i 0} {$i < $numsteps} {incr i} {
|
for {set i 0} {$i < $numsteps} {incr i} {
|
||||||
drive $motor [expr $i*$step+$start]
|
drive $motor [expr $i*$step+$start]
|
||||||
oscmd start $oscno
|
oct oscillate_count $oscno
|
||||||
hmm countblock
|
oct oscillate start
|
||||||
save $i
|
save $i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -189,12 +226,11 @@ proc SquarePulseVolt {start step fin freq bins oscno} {
|
|||||||
PulserOn
|
PulserOn
|
||||||
# sct_pulser send "APPL:SQU $freq,$pulservolt,0"
|
# sct_pulser send "APPL:SQU $freq,$pulservolt,0"
|
||||||
}
|
}
|
||||||
oscmd start $oscno
|
oct oscillate_count $oscno
|
||||||
hmm countblock
|
oct oscillate start
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
oscmd stop
|
|
||||||
}
|
}
|
||||||
|
|
||||||
proc SquarePulseFreq {volt freqlist bins oscno} {
|
proc SquarePulseFreq {volt freqlist bins oscno} {
|
||||||
@ -209,12 +245,11 @@ proc SquarePulseFreq {volt freqlist bins oscno} {
|
|||||||
PulserSquare $freq $pulservolt
|
PulserSquare $freq $pulservolt
|
||||||
PulserOn
|
PulserOn
|
||||||
# sct_pulser send "APPL:SQU $freq,$pulservolt,0"
|
# sct_pulser send "APPL:SQU $freq,$pulservolt,0"
|
||||||
oscmd start $oscno
|
oct oscillate_count $oscno
|
||||||
hmm countblock
|
oct oscillate start
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
oscmd stop
|
|
||||||
}
|
}
|
||||||
|
|
||||||
proc BehlkePulseFreq {freqlist bins oscno} {
|
proc BehlkePulseFreq {freqlist bins oscno} {
|
||||||
@ -227,12 +262,11 @@ proc BehlkePulseFreq {freqlist bins oscno} {
|
|||||||
wait 3
|
wait 3
|
||||||
PulserSquareOffs $freq 2.5 2.5
|
PulserSquareOffs $freq 2.5 2.5
|
||||||
PulserOn
|
PulserOn
|
||||||
oscmd start $oscno
|
oct oscillate_count $oscno
|
||||||
hmm countblock
|
oct oscillate start
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
oscmd stop
|
|
||||||
}
|
}
|
||||||
|
|
||||||
proc SinePulseFreq {volt freqlist bins oscno} {
|
proc SinePulseFreq {volt freqlist bins oscno} {
|
||||||
@ -246,12 +280,11 @@ proc SinePulseFreq {volt freqlist bins oscno} {
|
|||||||
wait 3
|
wait 3
|
||||||
PulserSin $freq $pulservolt
|
PulserSin $freq $pulservolt
|
||||||
PulserOn
|
PulserOn
|
||||||
oscmd start $oscno
|
oct oscillate_count $oscno
|
||||||
hmm countblock
|
oct oscillate start
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
oscmd stop
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -271,12 +304,11 @@ proc UniPulseFreq {volt freqlist bins oscno} {
|
|||||||
PulserSquareOffs $freq $pulservolt $pulseroffs
|
PulserSquareOffs $freq $pulservolt $pulseroffs
|
||||||
PulserOn
|
PulserOn
|
||||||
# sct_pulser send "APPL:SQU $freq,$pulservolt,[expr {$pulservolt/2}]"
|
# sct_pulser send "APPL:SQU $freq,$pulservolt,[expr {$pulservolt/2}]"
|
||||||
oscmd start $oscno
|
oct oscillate_count $oscno
|
||||||
hmm countblock
|
oct oscillate start
|
||||||
save $i
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
oscmd stop
|
|
||||||
}
|
}
|
||||||
|
|
||||||
proc UniPulseFatigue {volt freq bins oscno reps runs} {
|
proc UniPulseFatigue {volt freq bins oscno reps runs} {
|
||||||
@ -290,13 +322,14 @@ proc UniPulseFatigue {volt freq bins oscno reps runs} {
|
|||||||
for {set i 0} {$i<$runs} {incr i} {
|
for {set i 0} {$i<$runs} {incr i} {
|
||||||
newfile HISTOGRAM_XYT
|
newfile HISTOGRAM_XYT
|
||||||
for {set j 0} {$j<$reps} {incr j} {
|
for {set j 0} {$j<$reps} {incr j} {
|
||||||
oscmd start $oscno
|
oct oscillate_count $oscno
|
||||||
hmm countblock
|
oct oscillate start
|
||||||
save $j
|
save $j
|
||||||
}
|
}
|
||||||
oscmd stop
|
oscmd stop
|
||||||
}
|
}
|
||||||
PulserOff
|
PulserOff
|
||||||
|
set pulserstate 0
|
||||||
Histmem_strobo_off
|
Histmem_strobo_off
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -315,6 +348,7 @@ proc PulserBurst {} {
|
|||||||
if {[string first 1 $sval] >-1} {break}
|
if {[string first 1 $sval] >-1} {break}
|
||||||
}
|
}
|
||||||
PulserOff
|
PulserOff
|
||||||
|
set pulserstate 0
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -338,6 +372,7 @@ proc VoltPulseRun {vlo vhi freq cycl} {
|
|||||||
sct_pulser send "BURS:NCYC $prem; NCYC?"
|
sct_pulser send "BURS:NCYC $prem; NCYC?"
|
||||||
PulserBurst
|
PulserBurst
|
||||||
PulserOff
|
PulserOff
|
||||||
|
set pulserstate 0
|
||||||
sct_pulser send "BURS:STAT OFF; STAT?"
|
sct_pulser send "BURS:STAT OFF; STAT?"
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -376,6 +411,7 @@ proc OneTri {volt period} {
|
|||||||
sct_pulser send "BURS:NCYC 1; NCYC?"
|
sct_pulser send "BURS:NCYC 1; NCYC?"
|
||||||
PulserBurst
|
PulserBurst
|
||||||
PulserOff
|
PulserOff
|
||||||
|
set pulserstat 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -384,6 +420,9 @@ publish GetVolt user
|
|||||||
publish SetDC user
|
publish SetDC user
|
||||||
publish SetVolt user
|
publish SetVolt user
|
||||||
publish SetVoltScale user
|
publish SetVoltScale user
|
||||||
|
publish SingleVTexScan user
|
||||||
|
publish VListTexScan user
|
||||||
|
publish SetRampParms user
|
||||||
publish SingleVolt user
|
publish SingleVolt user
|
||||||
publish VoltRamp user
|
publish VoltRamp user
|
||||||
publish SquarePulseVolt user
|
publish SquarePulseVolt user
|
||||||
@ -399,5 +438,6 @@ publish SquarePulseTexture user
|
|||||||
publish BehlkePulseTexture user
|
publish BehlkePulseTexture user
|
||||||
publish BehlkePulseFreq user
|
publish BehlkePulseFreq user
|
||||||
publish UniPulseTexture user
|
publish UniPulseTexture user
|
||||||
|
publish VoltSetStep user
|
||||||
|
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ proc PulserSquareOffs {Freq Volt Offs} {
|
|||||||
proc PulserDC {Volt} {
|
proc PulserDC {Volt} {
|
||||||
#NOTE: Setting FUNC DC generates a remote ctrl error if the
|
#NOTE: Setting FUNC DC generates a remote ctrl error if the
|
||||||
# burst mode happens to be on
|
# burst mode happens to be on
|
||||||
set resp [sct_pulser transact "BURS:STAT OFF;:FUNC DC;:VOLT:OFFS $Volt; OFFS?"]
|
set resp [sct_pulser send "BURS:STAT OFF;:FUNC DC;:VOLT:OFFS $Volt; OFFS?"]
|
||||||
broadcast $resp
|
broadcast $resp
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -158,13 +158,16 @@ proc RadCollScanRange {motor start step fin oscno} {
|
|||||||
newfile HISTOGRAM_XY
|
newfile HISTOGRAM_XY
|
||||||
while {$i_bool==0} {
|
while {$i_bool==0} {
|
||||||
drive $motor $currentmot
|
drive $motor $currentmot
|
||||||
|
$motor send SH`
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
save $i
|
|
||||||
set currentmot [expr {$currentmot + $step}]
|
set currentmot [expr {$currentmot + $step}]
|
||||||
if {($step > 0) && ($currentmot > $fin)} {set i_bool 1}
|
if {($step > 0) && ($currentmot > $fin)} {set i_bool 1}
|
||||||
if {($step < 0) && ($currentmot < $fin)} {set i_bool 1}
|
if {($step < 0) && ($currentmot < $fin)} {set i_bool 1}
|
||||||
|
if {($i_bool == 0)} {run $motor $currentmot}
|
||||||
|
save $i
|
||||||
incr i
|
incr i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -173,8 +176,13 @@ publish RadCollScanRange user
|
|||||||
|
|
||||||
#RadCollScanBi
|
#RadCollScanBi
|
||||||
proc RadCollScanBi {motor start step fin oscno motdir} {
|
proc RadCollScanBi {motor start step fin oscno motdir} {
|
||||||
|
|
||||||
set i_bool 0
|
set i_bool 0
|
||||||
|
set spx -12500
|
||||||
|
set spstep [expr {$spx * $step * $motdir}]
|
||||||
|
histmem stop
|
||||||
histmem mode unlimited
|
histmem mode unlimited
|
||||||
|
|
||||||
if {$motdir == 1} {
|
if {$motdir == 1} {
|
||||||
set currentmot $start
|
set currentmot $start
|
||||||
set i 0
|
set i 0
|
||||||
@ -182,9 +190,10 @@ proc RadCollScanBi {motor start step fin oscno motdir} {
|
|||||||
set currentmot $fin
|
set currentmot $fin
|
||||||
set i [expr {int(($fin-$start)/$step)}]
|
set i [expr {int(($fin-$start)/$step)}]
|
||||||
}
|
}
|
||||||
|
drive $motor $currentmot
|
||||||
newfile HISTOGRAM_XY
|
newfile HISTOGRAM_XY
|
||||||
|
|
||||||
while {$i_bool==0} {
|
while {$i_bool==0} {
|
||||||
# drive $motor $currentmot
|
|
||||||
oct oscillate_count $oscno
|
oct oscillate_count $oscno
|
||||||
oct oscillate start
|
oct oscillate start
|
||||||
hmm countblock
|
hmm countblock
|
||||||
@ -192,14 +201,24 @@ proc RadCollScanBi {motor start step fin oscno motdir} {
|
|||||||
if {($motdir > 0)} {
|
if {($motdir > 0)} {
|
||||||
set currentmot [expr {$currentmot + $step}]
|
set currentmot [expr {$currentmot + $step}]
|
||||||
if {$currentmot > $fin} {set i_bool 1}
|
if {$currentmot > $fin} {set i_bool 1}
|
||||||
incr i
|
|
||||||
} else {
|
} else {
|
||||||
set currentmot [expr {$currentmot - $step}]
|
set currentmot [expr {$currentmot - $step}]
|
||||||
if {$currentmot < $start} {set i_bool 1}
|
if {$currentmot < $start} {set i_bool 1}
|
||||||
incr i -1
|
|
||||||
}
|
}
|
||||||
run $motor $currentmot
|
|
||||||
|
if {($i_bool == 0)} {run $motor $currentmot}
|
||||||
save $i
|
save $i
|
||||||
|
if {($motdir > 0)} {incr i 1} else {incr i -1}
|
||||||
|
|
||||||
|
# if {($i_bool == 0)} {
|
||||||
|
# $motor send SH`
|
||||||
|
# $motor send PR` $spstep
|
||||||
|
# $motor send BG`
|
||||||
|
#
|
||||||
|
# }
|
||||||
|
# save $i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,22 @@
|
|||||||
# Euler cradle scan commands for texture runs
|
# Euler cradle scan commands for texture runs
|
||||||
# AJS Dec 2010
|
# AJS Dec 2010
|
||||||
|
|
||||||
|
proc EulerScan {mstart mstep mend oscno} {
|
||||||
|
ephi speed 5
|
||||||
|
ephi accel 5
|
||||||
|
ephi decel 5
|
||||||
|
echi speed 2
|
||||||
|
set motdir 1
|
||||||
|
drive echi 0 ephi $mstart
|
||||||
|
foreach chival {0 15 30 45 60 75 90} {
|
||||||
|
drive echi $chival
|
||||||
|
RadCollScanBi ephi $mstart $mstep $mend $oscno $motdir
|
||||||
|
set motdir [expr {$motdir * -1}]
|
||||||
|
}
|
||||||
|
drive echi 0 ephi $mstart
|
||||||
|
}
|
||||||
|
|
||||||
|
publish EulerScan user
|
||||||
|
|
||||||
# continous scan for EPHI- the euler cradle phi stage (innermost axis)
|
# continous scan for EPHI- the euler cradle phi stage (innermost axis)
|
||||||
# note make sure controller 2 has the PHISCAN code in it
|
# note make sure controller 2 has the PHISCAN code in it
|
||||||
|
@ -28,7 +28,7 @@ proc ::histogram_memory::init_OAT_TABLE {args} {
|
|||||||
hmm configure fat_frame_source INTERNAL
|
hmm configure fat_frame_source INTERNAL
|
||||||
|
|
||||||
|
|
||||||
# set resolution "double_x"
|
# set resolution "double_x"
|
||||||
|
|
||||||
switch $resolution {
|
switch $resolution {
|
||||||
"hires" {
|
"hires" {
|
||||||
|
@ -26,7 +26,7 @@ set mx_Home 8390583
|
|||||||
#set mom_Home 9274794
|
#set mom_Home 9274794
|
||||||
##set mom_Home 8391038
|
##set mom_Home 8391038
|
||||||
#set mom_Home 8147038
|
#set mom_Home 8147038
|
||||||
set mom_Home 7736816
|
set mom_Home 7979102
|
||||||
set mtth_Home 19927837
|
set mtth_Home 19927837
|
||||||
#set mphi_Home 7613516
|
#set mphi_Home 7613516
|
||||||
#set mphi_Home 27847793
|
#set mphi_Home 27847793
|
||||||
@ -34,6 +34,7 @@ set mphi_Home 8384818
|
|||||||
#set mchi_Home 9050090
|
#set mchi_Home 9050090
|
||||||
#set mchi_Home 25561619
|
#set mchi_Home 25561619
|
||||||
set mchi_Home 8389526
|
set mchi_Home 8389526
|
||||||
|
#set mchi_Home 6847710
|
||||||
#set my_Home 6767221
|
#set my_Home 6767221
|
||||||
set my_Home 8378212
|
set my_Home 8378212
|
||||||
set som_Home 17214054
|
set som_Home 17214054
|
||||||
@ -343,7 +344,7 @@ Motor $sample_stage_rotate $motor_driver_type [params \
|
|||||||
asyncqueue mc2\
|
asyncqueue mc2\
|
||||||
axis E\
|
axis E\
|
||||||
units degrees\
|
units degrees\
|
||||||
hardlowerlim -71\
|
hardlowerlim -121\
|
||||||
hardupperlim 116\
|
hardupperlim 116\
|
||||||
maxSpeed 5\
|
maxSpeed 5\
|
||||||
maxAccel 3\
|
maxAccel 3\
|
||||||
@ -363,8 +364,10 @@ Motor stth $motor_driver_type [params \
|
|||||||
asyncqueue mc2\
|
asyncqueue mc2\
|
||||||
axis F\
|
axis F\
|
||||||
units degrees\
|
units degrees\
|
||||||
hardlowerlim 15.8\
|
hardlowerlim 13\
|
||||||
hardupperlim 29.7\
|
hardupperlim 29.7\
|
||||||
|
softlowerlim 13.4\
|
||||||
|
softupperlim 29.6\
|
||||||
maxSpeed 0.5\
|
maxSpeed 0.5\
|
||||||
maxAccel 0.1\
|
maxAccel 0.1\
|
||||||
maxDecel 0.1\
|
maxDecel 0.1\
|
||||||
@ -374,7 +377,7 @@ Motor stth $motor_driver_type [params \
|
|||||||
bias_bits 25\
|
bias_bits 25\
|
||||||
bias_bias 932070\
|
bias_bias 932070\
|
||||||
cntsPerX -93207]
|
cntsPerX -93207]
|
||||||
stth softlowerlim 15.9
|
stth softlowerlim 13.4
|
||||||
stth softupperlim 29.6
|
stth softupperlim 29.6
|
||||||
stth home 28.481113
|
stth home 28.481113
|
||||||
#stth home 18.981113
|
#stth home 18.981113
|
||||||
@ -414,28 +417,34 @@ oct long_name oct
|
|||||||
############################
|
############################
|
||||||
#
|
#
|
||||||
|
|
||||||
# Monochromator Focusing (HOPG)
|
set mf_config 1
|
||||||
#Motor mf1 $motor_driver_type [params \
|
|
||||||
# asyncqueue mc3\
|
|
||||||
# axis A\
|
|
||||||
# units degrees\
|
|
||||||
# hardlowerlim xxxx\
|
|
||||||
# hardupperlim xxxx\
|
|
||||||
# maxSpeed xxxx\
|
|
||||||
# maxAccel xxxx\
|
|
||||||
# maxDecel xxxx\
|
|
||||||
# stepsPerX xxxx\
|
|
||||||
# absEnc 1\
|
|
||||||
# absEncHome $mf1_Home\
|
|
||||||
# cntsPerX xxxx]
|
|
||||||
#setHomeandRange -motor mf1 -home 0 -lowrange 0 -uprange 360
|
|
||||||
#mf1 speed 1
|
|
||||||
#mf1 movecount $move_count
|
|
||||||
#mf1 precision 0.01
|
|
||||||
#mf1 part monochromator
|
|
||||||
#mf1 long_name mf1
|
|
||||||
|
|
||||||
|
|
||||||
|
switch $mf_config {
|
||||||
|
1 {
|
||||||
|
# Monochromator Focusing (HOPG)
|
||||||
|
Motor mf1 $motor_driver_type [params \
|
||||||
|
asyncqueue mc3\
|
||||||
|
axis A\
|
||||||
|
units degrees\
|
||||||
|
hardlowerlim -0.1\
|
||||||
|
hardupperlim 1.1\
|
||||||
|
maxSpeed 0.1\
|
||||||
|
maxAccel 0.1\
|
||||||
|
maxDecel 0.1\
|
||||||
|
stepsPerX 22000\
|
||||||
|
absEnc 1\
|
||||||
|
absEncHome 3965\
|
||||||
|
cntsPerX -3500]
|
||||||
|
setHomeandRange -motor mf1 -home 0 -lowrange 0 -uprange 1
|
||||||
|
mf1 speed 0.02
|
||||||
|
# mf1 movecount $move_count
|
||||||
|
mf1 precision 0.005
|
||||||
|
mf1 part monochromator
|
||||||
|
mf1 long_name mf1
|
||||||
|
}
|
||||||
# Monochromator Focusing (Ge)
|
# Monochromator Focusing (Ge)
|
||||||
|
|
||||||
## ffr 31/7/2012
|
## ffr 31/7/2012
|
||||||
## absEncHome was found to be 16777217 on 31/7/2012 when the
|
## absEncHome was found to be 16777217 on 31/7/2012 when the
|
||||||
## encoder clocked over to 114 counts to give a posn
|
## encoder clocked over to 114 counts to give a posn
|
||||||
@ -444,26 +453,32 @@ oct long_name oct
|
|||||||
## and has a 24bit range (ie max cnt=16777216)
|
## and has a 24bit range (ie max cnt=16777216)
|
||||||
## I set a bias of 10000 counts with absenchome = 10000
|
## I set a bias of 10000 counts with absenchome = 10000
|
||||||
## so that SICS can drive the axis to the allowed limits.
|
## so that SICS can drive the axis to the allowed limits.
|
||||||
Motor mf2 $motor_driver_type [params \
|
|
||||||
|
2 {
|
||||||
|
|
||||||
|
Motor mf2 $motor_driver_type [params \
|
||||||
asyncqueue mc3\
|
asyncqueue mc3\
|
||||||
axis A\
|
axis A\
|
||||||
units degrees\
|
units degrees\
|
||||||
hardlowerlim -2\
|
hardlowerlim -0.1\
|
||||||
hardupperlim 2\
|
hardupperlim 1.1\
|
||||||
maxSpeed 0.1\
|
maxSpeed 0.1\
|
||||||
maxAccel 0.1\
|
maxAccel 0.1\
|
||||||
maxDecel 0.1\
|
maxDecel 0.1\
|
||||||
stepsPerX 22000\
|
stepsPerX 22000\
|
||||||
absEnc 1\
|
absEnc 1\
|
||||||
absEncHome 42768\
|
absEncHome 10000\
|
||||||
bias_bits 24\
|
bias_bits 24\
|
||||||
bias_bias 10000\
|
bias_bias 10000\
|
||||||
cntsPerX -3500]
|
cntsPerX -3500]
|
||||||
setHomeandRange -motor mf2 -home 0 -lowrange 0 -uprange 2
|
setHomeandRange -motor mf2 -home 0 -lowrange 0 -uprange 1
|
||||||
mf2 speed 0.02
|
mf2 speed 0.02
|
||||||
mf2 precision 0.005
|
mf2 precision 0.005
|
||||||
mf2 part monochromator
|
mf2 part monochromator
|
||||||
mf2 long_name mf2
|
mf2 long_name mf2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Slit 1, right
|
# Slit 1, right
|
||||||
Motor ss1r $motor_driver_type [params \
|
Motor ss1r $motor_driver_type [params \
|
||||||
|
@ -324,7 +324,6 @@ driver = "west_6100"
|
|||||||
imptype = temperature
|
imptype = temperature
|
||||||
ip = 10.157.205.24
|
ip = 10.157.205.24
|
||||||
port = 502
|
port = 502
|
||||||
timeout = 2000
|
|
||||||
|
|
||||||
[vf2_west4100]
|
[vf2_west4100]
|
||||||
asyncprotocol = modbus_ap
|
asyncprotocol = modbus_ap
|
||||||
@ -334,5 +333,4 @@ driver = "west_6100"
|
|||||||
imptype = temperature
|
imptype = temperature
|
||||||
ip = 10.157.205.25
|
ip = 10.157.205.25
|
||||||
port = 502
|
port = 502
|
||||||
timeout = 2000
|
|
||||||
|
|
||||||
|
@ -29,8 +29,9 @@ fileeval $cfPath(environment)/sct_agilent_33220A.tcl
|
|||||||
fileeval $cfPath(environment)/sct_hiden_xcs.tcl
|
fileeval $cfPath(environment)/sct_hiden_xcs.tcl
|
||||||
fileeval $cfPath(environment)/sct_huber_pilot.tcl
|
fileeval $cfPath(environment)/sct_huber_pilot.tcl
|
||||||
fileeval $cfPath(environment)/sct_isotech_ps.tcl
|
fileeval $cfPath(environment)/sct_isotech_ps.tcl
|
||||||
fileeval $cfPath(environment)/temperature/sct_eurotherm_2000.tcl
|
#fileeval $cfPath(environment)/temperature/sct_eurotherm_2000.tcl
|
||||||
fileeval $cfPath(environment)/temperature/sct_eurotherm_m2000.tcl
|
#fileeval $cfPath(environment)/temperature/sct_eurotherm_m2000.tcl
|
||||||
|
fileeval $cfPath(environment)/temperature/eurotherm_3200_sct.tcl
|
||||||
fileeval $cfPath(environment)/sct_keithley_2700.tcl
|
fileeval $cfPath(environment)/sct_keithley_2700.tcl
|
||||||
fileeval $cfPath(environment)/sct_keithley_m2700.tcl
|
fileeval $cfPath(environment)/sct_keithley_m2700.tcl
|
||||||
fileeval $cfPath(environment)/temperature/sct_lakeshore_218.tcl
|
fileeval $cfPath(environment)/temperature/sct_lakeshore_218.tcl
|
||||||
@ -62,13 +63,16 @@ fileeval $cfPath(commands)/pulser.tcl
|
|||||||
fileeval $cfPath(commands)/hvcommands.tcl
|
fileeval $cfPath(commands)/hvcommands.tcl
|
||||||
fileeval $cfPath(commands)/vactex.tcl
|
fileeval $cfPath(commands)/vactex.tcl
|
||||||
fileeval $cfPath(commands)/eulerscan.tcl
|
fileeval $cfPath(commands)/eulerscan.tcl
|
||||||
|
fileeval $cfPath(commands)/cfcommands.tcl
|
||||||
fileeval $cfPath(anticollider)/anticollider.tcl
|
fileeval $cfPath(anticollider)/anticollider.tcl
|
||||||
|
fileeval $cfPath(beamline)/sct_he3_polanal.tcl
|
||||||
fileeval $cfPath(hmm)/hmm_rapid.tcl
|
fileeval $cfPath(hmm)/hmm_rapid.tcl
|
||||||
source gumxml.tcl
|
source gumxml.tcl
|
||||||
|
|
||||||
# Wombat only change to hvcommands' scaleval variable
|
# Wombat only change to hvcommands' scaleval variable
|
||||||
SetVoltScale 2000.0
|
SetVoltScale 2000.0
|
||||||
|
|
||||||
|
|
||||||
# The Alice Thing
|
# The Alice Thing
|
||||||
# Qlink : 9600, 8 data, 1 stop, No Parity, None Flow
|
# Qlink : 9600, 8 data, 1 stop, No Parity, None Flow
|
||||||
# LS340 : 9600, 7 data, 1 stop, Odd Parity, None Flow
|
# LS340 : 9600, 7 data, 1 stop, Odd Parity, None Flow
|
||||||
|
Reference in New Issue
Block a user