Posted to tcl by auriocus at Mon Jun 20 22:40:45 GMT 2016view raw
- # instantiate motors
- motor Sample-X Sample-X
- motor Sample-Y Sample-Y
- motor Sample-Z Sample-Z
- # instantiate detector channels
- channel Diode K1norm
- channel Monitor Ring_1
- Sample-X goto 3.0
- # tell the motor to run
- Sample-X wait
- # wait for this motor to arrive
- Sample-Y goto 2
- Sample-Z goto 7.5
- motor waitforall
- # wait until all known motors are in position
- # now run a scan
- for {set x 3} {$x<=5} {set x [expr {$x+0.1}]} {
- Sample-Y goto $x
- Sample-X wait
- lassign [channel readall Diode Monitor -timeout 2000] d m
- # trigger both detectors to read a value
- # return a list if both have finished reading
- # or NaN if the timeout fires first
- puts [expr {$d/$m}]
- }