Skip to main content

Rigol DG1000Z control library (unofficial)

Project description

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 labdevices 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()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydg1000z-0.1.0.tar.gz (4.9 kB view hashes)

Uploaded Source

Built Distribution

pydg1000z-0.1.0-py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page