#vactex set currentoct 0 set somdir 1 set somstart 0 set somend 0 set octrange 0 proc SetUpVacTex {_somstart _somend} { global currentoct somdir somstart somend octrange set somstart $_somstart set somend $_somend # set octrange $_octrange set currentrun 0 set somdir 1 # set currentoct [expr $octrange/2.0] oct accel 2 # oct speed 0.5 oct decel 2 som accel 3 som decel 3 som speed 3 drive som $somstart som speed 3 } publish SetUpVacTex user proc VacTex {somstep} { global currentoct somdir somstart somend octrange # set octspeed [expr {$octrange*1.0/$somtime}] # oct speed $octspeed set i_bool 0 if {$somdir == 1} { set currentsom $somstart set i 0 } else { set currentsom $somend set i [expr {int(($somend-$somstart)/$somstep)}] } histmem mode unlimited newfile HISTOGRAM_XY while {$i_bool==0} { set currentoct [expr {$currentoct *-1}] drive som $currentsom # run oct $currentoct oct oscillate_count 1 oct oscillate start hmm countblock save $i broadcast $i $currentsom $currentoct if {($somdir > 0)} { set currentsom [expr {$currentsom + $somstep}] if {$currentsom > $somend} {set i_bool 1} incr i } else { set currentsom [expr {$currentsom - $somstep}] if {$currentsom < $somstart} {set i_bool 1} incr i -1 } } set somdir [expr {(-1*$somdir)}] } publish VacTex user proc VacRamp {temp rate somstep} { set tstart [SplitReply [tc1 setpoint]] set tim1 [clock seconds] set tlength [expr abs($tstart-$temp)/($rate/3600.0)] tc1 ramprate $rate tc1 setpoint $temp set bool 0 # RadCollOn $oscno while {$bool==0} { VacTex $somstep set tim2 [expr [clock seconds]-$tim1] if {$tim2>$tlength} {set bool 1} } } publish VacRamp user proc VacRun {tmins somstep} { set tim1 [clock seconds] set tlength [expr {$tmins * 60}] set bool 0 # RadCollOn $oscno while {$bool==0} { VacTex $somstep set tim2 [expr [clock seconds]-$tim1] if {$tim2>$tlength} {set bool 1} } } publish VacRun user