view agilent_r5071.py @ 44:c93d6d4cb04b

Use *OPC where supported, otherwise poll.
author Daniel O'Connor <darius@dons.net.au>
date Wed, 28 Sep 2011 17:15:23 +0930
parents 9ce709b7da4b
children 6bd941d96c03
line wrap: on
line source

# Docs are at http://ena.tm.agilent.com/e5071c/manuals/webhelp/eng/

import scpi
import pylab

# Connect
inst = scpi.instURL('vxi://203.31.81.47')

# Read ID
inst.write('*IDN?')
inst.read()
# 'Agilent Technologies,E5071C,MY46109815,A.09.54\n'

# Set to 8 byte floats
inst.write(":FORM:DATA REAL")

# Set to little endian
inst.write(':FORM:BORD SWAP')

# Grab frequency data
inst.write(":SENS1:FREQ:DATA?")
freqs = scpi.bindecode(inst.read(), dtype = numpy.float64)

# Grab trace data
inst.write(":CALC1:TRACE1:DATA:FDATA?")
dat = scpi.bindecode(inst.read(), dtype = numpy.float64)

# We only want the real part (no imag for this measurement)
dat = dat[::2]

# Save for later
numpy.savez('GS_preamp_20110929', freqs, dat)

# Load..
f = numpy.load('GS_preamp_20110929.npz')
freqs = f['arr_0']
dat = f['arr_1']

pylab.plot(freqs.dat)