#! /bin/csh -f # # take regularly-scheduled samplings of beamline parameters # # set start = `echo "puts [clock seconds]" | tclsh` if(! $?beamline) then # default to beamline this computer belongs to setenv beamline `beamline.com` if($status) then echo "ERROR: $beamline" exit 9 endif endif #if(! $?beamline) setenv beamline 831 onintr break while (1) # get the time set now = `echo "puts [clock seconds]" | tclsh` set date = `echo "puts [clock format $now]" | tclsh | awk '{print $2,$3,$4,$6}'` set Iring = `echo "getpos Beam Current\r" | sock_exchange.tcl bl${beamline}b 10001 1 | awk '$1+0>1{print $1+0}'` if("$Iring" == "") then set Iring = `echo "GET /als/als_ops/status.html" | sock_exchange.tcl www-als.lbl.gov | awk 'BEGIN{RS="[<>]"} /mA/{print $1+0; exit}'` endif if("$Iring" == "") set Iring = "unknown" echo -n "$date $now $Iring " again: set info = `echo "getpos Imono In\r\ngetpos Mono eV\r\ngetpos Theta2\r\ngetpos Imono Out\r\ngetpos Chi2\r\ngetpos M2 Tilt\r\ngetpos Horizontal Convergance Angle\r\ngetpos Vertical Convergance Angle\r\ngetpos Izero\r\ngetpos Iend\r\ngetpos Horizontal Centroid\r\ngetpos Vertical Centroid\r\ngetpos Horizontal FWHM\r\ngetpos Vertical FWHM\r" | sock_exchange.tcl bl${beamline}b 10001 14 | awk '{printf "%s ", $1+0}'` if ("$info" =~ *Inf*) then autoscale.com >& /dev/null goto again endif # get the temperature from the iServer set temperature set temperature = `echo '*01X01\r' | sock_exchange.tcl temperature 1000 | awk '{print substr($0,6)+0}'` echo "$info $temperature" sleep 10 end break: exit set start_seconds = `head -1 overtime.log | awk '{print "puts [clock scan \""$0"\"]"}' | tclsh` cat overtime.log |\ awk -v start_seconds=$start_seconds '/Izero/{s=$1+start_seconds;\ print "puts \"[clock format "s"]", 400*$3/$4, $3, $6, $9, "\""}' |\ tclsh |\ cat >! converted.log gnuplot -persist < EOF set xdata time set timefmt "%b %d %H:%M:%S %Y" set y2tics set data style lp set autoscale y set xrange [*:*] set xrange ["Sep 29 03:30:00 2002":*] set xrange ["Sep 27 10:30:00 2002":"Sep 27 11:00:00 2002"] replot set terminal png small color set output "/home/jamesh/html/pickup/graph.png" set title "Iring vs time" plot '/data/log/overtime.log' every ::1 using 1:6 set title "Imono in vs time" plot 'overtime.log' every ::1 using 1:7, '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 plot '/data/log/overtime.log' every ::1 using 1:($7 > 15 ? $7 : 1/0), '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 set title "normalized Imono in vs time" plot '/data/log/overtime.log' every ::1 using 1:7, '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 plot '/data/log/overtime.log' every ::1 using 1:($7 > 25 ? $7*400/$6 : 1/0), '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 set title "Imono out vs time" plot '/data/log/overtime.log' every ::1 using 1:10, '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 plot '/data/log/overtime.log' every ::1 using 1:($10 > 0.005 ? $10 : 1/0), '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 set title "normalized Imono out vs time" plot '/data/log/overtime.log' every ::1 using 1:($7 > 25 ? $10*400/$6 : 1/0), '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 set title "normalized Izero vs time" plot '/data/log/overtime.log' every ::1 using 1:($15 > 0.1 ? 400*$15/$6 : 1/0), '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 set title "Iend vs time" plot '/data/log/overtime.log' every ::1 using 1:16, '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 set title "normalized Iend vs time" plot '/data/log/overtime.log' every ::1 using 1:($16 > 25 ? 400*$16/$6 : 1/0), '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 set title "normalized Iend and Temperature vs time" set yrange [25000:23000] plot '/data/log/overtime.log' every ::1 using 1:(400*($16/$6) > 20000 ? 400*$16/$6 : 1/0), '/data/log/overtime.log' every ::1 using 1:21 smooth bezier axis x1y2 set autoscale y set title "Vertical Beam Position vs time" plot '/data/log/overtime.log' every ::1 using 1:($18 > 0.01 ? $18/480*0.461 : 1/0), '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 set title "Beam Position vs time" plot '/data/log/overtime.log' every ::1 using 1:($17 > 0.01 ? $17/640*0.586 : 1/0), '/data/log/overtime.log' every ::1 using 1:($18 > 0.01 ? ($18-200)/480*0.461 : 1/0), '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 set title "M2 Tilt vs time" plot '/data/log/overtime.log' every ::1 using 1:($12 > 0.01 ? ($12) : 1/0) set title "Temperature vs time" plot '/data/log/overtime.log' every ::1 using 1:21, '/data/log/overtime.log' every ::1 using 1:6 axis x1y2 set title "Vertical Beam Position and Temperature vs time" plot '/data/log/overtime.log' every ::1 using 1:($18 > 0.01 ? $18/480*0.461 : 1/0), '/data/log/overtime.log' every ::1 using 1:21 smooth bezier axis x1y2 set title "Vertical Beam Steering, Iend and Temperature vs time" plot '/data/log/overtime.log' every ::1 using 1:(($12-14000)/3) axis x1y2, '/data/log/overtime.log' every ::1 using 1:(400*($16/$6) > 20000 ? 400*$16/$6 : 1/0), '/data/log/overtime.log' every ::1 using 1:21 smooth bezier axis x1y2, '/data/log/overtime_sup.log' using 1:($7/$6) set terminal postscript set output "| lp" replot set terminal X11 set output