Closedown

This commit is contained in:
gac-x03da
2018-08-20 15:22:01 +02:00
parent 99d0879b88
commit dc3bc585fe
3 changed files with 32 additions and 12 deletions

View File

@@ -62,13 +62,34 @@ class Keithley(object):
2) set user mode, set range
"""
self.dosetdefaultCh.write(1)
self.scanCh.write(9)
#self.dosetdefaultCh.write(1)
#self.scanCh.write(9)
def prepare(self, dwell, triggered):
"""
prepare keithley for gpib polling.
setting keithley parameters has several issues.
the dwell time and trigger mode cannot be set programmatically at the moment.
the user should select poll slow (100 ms), medium (20 ms) or fast (2 ms).
this method just reads the current value and stores it in self.dwell.
dwell: dwell time in seconds.
0.1 - 20.0 in triggered mode,
0.1 - 1.0 in free running mode.
triggered:
True: wait for self.trig call and trigger once per call.
False: 1 Hz free run using EPICS SCAN attribute.
"""
self.triggered = False
self.dwell = self.tottimeCh.read() / 1000.
def prepare_not_working(self, dwell, triggered):
"""
prepare keithley for gpib polling:
scan passive, bus triggered, set dwell time
this doesn't to work.
dwell: dwell time in seconds.
0.1 - 20.0 in triggered mode,
@@ -142,6 +163,7 @@ class Keithley(object):
_do nothing for now!_
"""
return None
self.nplcCh.write(5.)
self.navgCh.write(1.)
self.scanCh.write(6)

View File

@@ -111,10 +111,10 @@ from keithley import KeiSample, KeiReference
def prepare_keithleys(dwell, triggered):
"""
prepare keithleys for gpib polling:
passive, bus triggered, dwell time
dwell = dwell time in seconds (0.1 - 20.0)
prepare keithleys.
at the moment, the dwell time has to be set manually by selecting one of the poll modes
slow = 100 ms, medium = 20 ms, fast = 2 ms.
"""
KeiSample.prepare(dwell, triggered)
KeiReference.prepare(dwell, triggered)
@@ -130,7 +130,6 @@ def trig_keithleys():
def wait_keithleys():
"""
wait for one dwell time so that the keithleys can finish their measurement.
if we polled them too early, they would produce an error message.
"""
time.sleep(KeiSample.dwell * 2.2)
@@ -325,7 +324,7 @@ def after_scan():
Close shutter and turn off analyser
"""
caput("X03DA-PC:AFTER-SCAN.PROC", 1)
release_keithleys()
#release_keithleys()
def set_adc_averaging(dwelltime=0.0):
if dwelltime == 0.0:

View File

@@ -8,9 +8,9 @@ AuxCurrent: not connected
import time
RANGE = "G1200 full"
#RANGE = "G1200 full"
#RANGE = "G600 full"
#RANGE = "C K-edge"
RANGE = "C K-edge"
BEAM = "G1200 1x1"
#BEAM = "G1200 6x10"
@@ -36,8 +36,6 @@ elif RANGE == "C K-edge":
LATENCY = 1.0
DWELL = 1.0
prepare_keithleys(DWELL, False)
if BEAM == "G600 1x1":
# G600 1x1 reference sscan_2268 (elog:119)
#SampleCurrentGain.write("L, 10^7")
@@ -92,6 +90,7 @@ else:
POSITIONERS = (Eph)
SENSORS = (SampleCurrent, RefCurrent, MachineCurrent)
set_adc_averaging()
time.sleep(5.)
lscan(POSITIONERS, SENSORS, STARTPOS, ENDPOS, STEPS, LATENCY, before_read=before_readout, after_read=after_readout)