コード例 #1
0
ファイル: RecordWaveformBIN.py プロジェクト: nEDM-TUM/HVSetup
ndata = args.ndata if 10000000 >= args.ndata >= 1000 else 10000
if 10000000 > args.start >= 0:
	wvfm_start = args.start
else:
	wvfm_start = 0
if 10000000 >= args.start + args.ndata > wvfm_start:
	wvfm_stop = args.start + args.ndata
else:
	wvfm_stop = args.start + 1000

# connect to oscilloscope
sOsci = USBTMCObject(USBInstruments['LABOR']['vendorID'], USBInstruments['LABOR']['productID'])
print ("\tInstrument: " + str(sOsci.ask("*IDN?")))

#sOsci.cmd('PRE:XUNIT "{0}"'.format(args.xunit))
sOsci.cmd('HORIZONTAL:SCALE {0}'.format(args.scale))
sOsci.cmd('HORIZONTAL:RECORDLENGTH {0}'.format(ndata))

sOsci.cmd("HEADER 1")

print sOsci.ask('HORIZONTAL:SCALE?')
print sOsci.ask('HORIZONTAL:RECORDLENGTH?')

header = sOsci.ask("WFMOUTPRE?")
npoints = sOsci.ask("WFMOUTPRE:NR_PT?")
xzero = float(sOsci.ask("WFMOUTPRE:XZERO?").strip().split(' ')[-1].replace('"',''))
xincr = float(sOsci.ask("WFMOUTPRE:XINCR?").strip().split(' ')[-1].replace('"', ''))
xunit = sOsci.ask("WFMOUTPRE:XUNIT?").strip().split(' ')[-1].replace('"', '')
yzero = float(sOsci.ask("WFMOUTPRE:YZERO?").strip().split(' ')[-1].replace('"', ''))
yoffs = float(sOsci.ask("WFMOUTPRE:YOFF?").strip().split(' ')[-1].replace('"', ''))
ymult = float(sOsci.ask("WFMOUTPRE:YMULT?").strip().split(' ')[-1].replace('"', ''))
コード例 #2
0
ファイル: GetWaveform.py プロジェクト: nEDM-TUM/HVSetup
parser.add_argument("--start", type=int, default=1, help="first point")
parser.add_argument("--stop", type=int, default=1000000, help="last point")
parser.add_argument("-d", "--draw", help="just print the waveform specified by file (must be ROOT!)", action="store_true")
parser.add_argument("-i", "--interactive", action="store_true")
args = parser.parse_args()
if FORCE_DRAW: args.draw = True

if not args.draw:
	print "WARNING: Make sure, the part of the waveform you want to transfer is within the datapoint range of max. 1M!"

	# connect to oscilloscope
	sOsci = USBTMCObject(USBInstruments['LABOR']['vendorID'], USBInstruments['LABOR']['productID'])
	print "\tInstrument: " + str(sOsci.ask("*IDN?"))

	# set up for waveform transfer
	sOsci.cmd("DATA:SOURCE CH1")
	sOsci.cmd("DATA:START {0}".format(args.start))
	sOsci.cmd("DATA:STOP {0}".format(args.stop))
	sOsci.cmd("DATA:ENCDG ASCII")
	sOsci.cmd("DATA:WIDTH 2")
	sOsci.cmd("HEADER 1")
	sOsci.cmd("VERBOSE 1")
	sOsci.cmd("*WAI")

	header = sOsci.ask("WFMOUTPRE?")
	npoints = sOsci.ask("WFMOUTPRE:NR_PT?")
	xzero = float(re.findall(r'\b\d+\b', sOsci.ask("WFMOUTPRE:XZERO?"))[0])
	xincr = float(re.findall(r'\b\d+\b', sOsci.ask("WFMOUTPRE:XINCR?"))[0])
	xunit = sOsci.ask("WFMOUTPRE:XUNIT?")
	yzero = float(re.findall(r'\b\d+\b', sOsci.ask("WFMOUTPRE:YZERO?"))[0])
	yoffs = float(re.findall(r'\b\d+\b', sOsci.ask("WFMOUTPRE:YOFF?"))[0])
コード例 #3
0
ファイル: RunRecorder.py プロジェクト: nEDM-TUM/HVSetup

# argparse
if len(sys.argv) < 2: odir = './'
else: odir = str(sys.argv[1]).strip()
fileprefix = 'RecWvfm_'

wvfm_start, wvfm_stop = 0, 1000000

# connect to oscilloscope
sOsci = USBTMCObject(USBInstruments['LABOR']['vendorID'], USBInstruments['LABOR']['productID'])
print ("\tInstrument: " + str(sOsci.ask("*IDN?")))

# set up for single acquisition
print sOsci.ask("ACQ:MAXS?")
sOsci.cmd("ACQ:MODE HIRes")
sOsci.cmd("ACQ:STOPAfter SEQ")
sOsci.cmd("ACQ:STATE RUN")

# set up for waveform transfer
sOsci.cmd("DATA:SOURCE CH1")
sOsci.cmd("DATA:START {0}".format(wvfm_start))
sOsci.cmd("DATA:STOP {0}".format(wvfm_stop))
sOsci.cmd("DATA:ENCDG SRI")
sOsci.cmd("DATA:WIDTH 2")
sOsci.cmd("HEADER 1")
sOsci.cmd("VERBOSE 0")
sOsci.cmd("*WAI")

time.sleep(0.5)