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

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.1.tar.gz (5.4 kB view details)

Uploaded Source

File details

Details for the file pydg1000z-0.1.1.tar.gz.

File metadata

  • Download URL: pydg1000z-0.1.1.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.6

File hashes

Hashes for pydg1000z-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b016ef95b9a62985fdc482826c09908afa68549861f40cdbc409a3f512a71ef9
MD5 75d44438414d513a32453148ec448116
BLAKE2b-256 abf6710fe22225d520532c70e2a2888bf5ab42ed062172106e84378af9a377e3

See more details on using hashes here.

Supported by

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