There are two scripts in this repository: AgilentControl.py and UploadArb.py
This AgilentControl.py programs an Agilent 33600A arbitrary waveform generator by sending a series of SCPI commands via TCP. It should be straightforward to modify this for other devices which use SCPI
Information on the SCPI interface for the Agilent 33600A can be found on page 192 of this document
UploadArb.py uploads a specified arbitrary wavefrom to the device and saves it to the device's memory.
Install the pyVISA back and front end:
pip install pyvisa-py
AgilentControl.py [-h] -f FILENAME [-a ADDRESS]
Send a list of messages to an Agilent 33600 AWG
optional arguments:
-h, --help show this help message and exit
-f FILENAME, --filename FILENAME
Macro file containing SCPI commands
-a ADDRESS, --address ADDRESS
Address of device
UploadArb.py [-h] -f FILENAME [-a ADDRESS] [-v PULSEHEIGHT]
Upload an arbitrary waveform to an Agilent 33600 AWG
optional arguments:
-h, --help show this help message and exit
-f FILENAME, --filename FILENAME
File containing arbitrary waveform
-a ADDRESS, --address ADDRESS
Address of device
-v PULSEHEIGHT, --pulseheight PULSEHEIGHT
Pulse height of arb
-m, --macro Generate a macro for loading this arb
freqSweep.awg
Sets a frequency sweep on channel 2
arb.awg
Loads the atlas calibration arb
arbLoad.awg
Loads the atlas calibration arb into volatile memory
squareWave.awg
Generates a square wave
triangleWave.awg
Generates a triangle wave
ATLASCALIB.dat
Atlas calibration wave