samdejong86 / Agilent33600

Agilent 33600 arbitrary wave generator control

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Agilent (Keysight) 33600A Waveform Generator programmer

Description

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.

Requirements

Install the pyVISA back and front end:

pip install pyvisa-py

Usage

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

Files

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

About

Agilent 33600 arbitrary wave generator control


Languages

Language:Python 100.0%