Skip to content

Rigol DG1000Z arbitrary waveform generator Python library

License

Notifications You must be signed in to change notification settings

PMSchueler/pydg1000z

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rigol DG1000Z arbitrary waveform generator Python library (unofficial)

A Rigol DG1000Z setup

A simple Python library and utility to control Rigol DG1000Z arbitrary waveform generator. This library implements the functiongenerator class from the pylabdevs package which exposes the public interface.

Installing

There is a PyPi package that can be installed using

pip install pydg1000z

Simple example to generate waveforms:

import time
from pydg1000z import *
from labdevices.scpi import SCPIDeviceEthernet
from labdevices.functiongenerator import FunctionGeneratorWaveform

with PYDG1000Z(address="10.0.0.124") as awg:

  awg.set_channel_enabled(0, True)
  awg.set_channel_enabled(1, True)

  awg.set_channel_frequency(0, 600000)
  awg.set_channel_waveform(channel=0, waveform=FunctionGeneratorWaveform.SINE)
  awg.set_channel_waveform(channel=1, waveform=FunctionGeneratorWaveform.SINE)

  awg.set_channel_amplitude(0, 5.0)
  awg.set_coupling(True)

  awg.set_channel_frequency(0, 1000)
  time.sleep(10)

  awg.set_channel_frequency(0, 10000)

  print("Press Key to switch off")
  input()

  awg.set_channel_enabled(0, False)
  awg.set_channel_enabled(1, False)

Supported waveforms

  • FunctionGeneratorWaveform.SINE : Set the waveform of the specified channel to sine waveform with the specified frequency, amplitude, offset and phase
  • FunctionGeneratorWaveform.SQUARE : Set the waveform of the specified channel to square waveform with the specified frequency, amplitude, offset and phase.
  • FunctionGeneratorWaveform.RAMP : Set the waveform of the specified channel to ramp waveform with the specifiedfrequency, amplitude, offset and phase.
  • FunctionGeneratorWaveform.TRGL : Set the waveform of the specified channel to triangle waveform with the specified frequency, amplitude, offset and phase.
  • FunctionGeneratorWaveform.DC : Set the waveform of the specified channel to DC with the specified offset.
  • FunctionGeneratorWaveform.WHITENOISE : Set the waveform of the specified channel to noise with the specified amplitude and offset.

For more detailed information about waveforms see :SOURce:FUNCtion in DG1000Z Progamming Guide

Supported methods

  • identify()
  • Connection management (when not using with context management):
    • connect()
    • disconnect()
  • set_channel_enable(channel, enabled)
  • is_channel_enabled(channel)
  • set_channel_waveform(channel, waveform[, arbitrary])
  • get_channel_waveform(channel)
  • set_channel_frequency(channel, freq_Hz)
  • get_channel_frequency(channel)
  • set_channel_phase(channel, phase_deg:float)
  • get_channel_phase(channel)
  • set_channel_amplitude(channel, amp_Vpp:float)
  • get_channel_amplitude(channel)
  • set_channel_offset(channel, offset_V:float)
  • get_channel_offset(channel)
  • set_coupling(on)
  • get_coupling()

About

Rigol DG1000Z arbitrary waveform generator Python library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages