counter.reset() counter.setupFast() counter.write(":FUNC 'FREQ 1'") counter.setupGating(0.1) # Setting up multimeter Agilent - 34401 multi = AgilentMultimeter(gpib=multigpib) if multi == None: exit multi.reset() # Resistance measurement - 2 Wire multi.write("CONF:RESISTANCE") multi.write("RESISTANCE:NPLC 0.2") multi.write("TRIG:SOUR IMM") # Need to do one reading to set up Wait-For-Trigger state! multi.ask("READ?") # Setting up output file datafile = "beatohm_%s.log" % (strftime("%y%m%d_%H%M%S")) out = file(datafile, "a") out.write("#Time(UnixTime) BeatFrequency(Hz) Voltage(V)\n") # Do logging until stopped by Ctrl-C while True: try: start = time() counter.initMeasure() resistance = float(multi.ask("READ?")) freq = counter.getFreq() now = time() measuretime = (now + start) / 2
counter.reset() counter.setupFast() counter.write(":FUNC 'FREQ 1'") counter.setupGating(gatetime) # Setting up multimeter multi = AgilentMultimeter(gpib = multigpib) if multigpib else None if multi: multi.reset() # 5-1/2 digits fast multi.write("CONF:VOLT:DC %d" %(vrange)) multi.write("VOLT:DC:NPLC 0.2") multi.write("TRIG:SOUR IMM") # Need to do one reading to set up Wait-For-Trigger state! multi.ask("READ?") # Setting up output file datafile = "freqlog_%s.log" %(strftime("%y%m%d_%H%M%S")) out = file(datafile, 'a') header = ["#Time(UnixTime)"] if counter: header += ["BeatFrequency(Hz)"] if multi: header += ["Voltage(V)"] header += ["\n"] out.write(" ".join(header)) # Do logging until stopped by Ctrl-C while True: try:
# Config settings multigpib = 6 # Setting up multimeter Agilent - 34401 multi = AgilentMultimeter(gpib = multigpib) if (multi == None): exit multi.reset() # Resistance measurement - 2 Wire multi.write("CONF:VOLTAGE") multi.write("VOLTAGE:RESOLUTION MAX") multi.write("VOLTAGE:NPLC 10") multi.write("TRIG:SOUR IMM") # Need to do one reading to set up Wait-For-Trigger state! multi.ask("READ?") # Setting up output file logger.info("#Time(UnixTime) Voltage(V)") # Do logging until stopped by Ctrl-C while True: try: start = time() voltage = float(multi.ask("READ?")) now = time() measuretime = (now + start) / 2 elapsed = now - start result = array([[measuretime, voltage]]) logger.info("%f %s" % (measuretime, voltage)) print "%f V / %f s" %(voltage, elapsed)