This page was generated from docs/examples/driver_examples/Qcodes example with Rigol DS1074Z.ipynb. Interactive online version: Binder badge.

QCoDeS Example with the Rigol DS 1074 Z oscilloscope

This notebook presents the implementation of QCoDeS driver for the Rigol DS1074Z oscilloscope.

Importing dependencies

[1]:
#Qcodes import
from qcodes.dataset import (
    Measurement,
    initialise_database,
    load_or_create_experiment,
    plot_dataset,
)
from qcodes.instrument_drivers.rigol import RigolDS1074Z

Create the instrument

The instrument is created in the following way. The address can be found using the NI-MAX explorer.

[2]:
rigol = RigolDS1074Z('rigol', 'USB0::0x1AB1::0x04CE::DS1ZB161650342::INSTR')
Connected to: RIGOL TECHNOLOGIES DS1074Z (serial:DS1ZB161650342, firmware:00.04.00) in 5.44s

Trigger setup

Trigger source can be set to any channel (1 to 4). Here we use the input signal from channel 1 itself as a source for trigger.

[3]:
rigol.trigger_edge_source('ch1')
rigol.trigger_edge_slope('negative')

The trigger-mode type supported by this oscilloscope are edge, pulse, video and pattern. Both the trigger mode and trigger level can be set in the following manner.

[4]:
rigol.trigger_mode('edge')
rigol.trigger_level(0.2)

Data acquisition and plotting

This particular driver implements acquiring the trace as a ParameterWithSetpoints. Here, we show how the trace can be measured and plotted. For more information on ParameterWithSetpoints refer to this notebook.

[5]:
initialise_database()
exp = load_or_create_experiment(experiment_name='Oscilloscope trace',
                               sample_name='no_name')
[6]:
meas_helper = Measurement(exp=exp)
meas_helper.register_parameter(rigol.channels.ch1.trace)

with meas_helper.run() as datasaver:
        datasaver.add_result((rigol.channels.ch1.trace, rigol.channels.ch1.trace()))
Starting experimental run with id: 5
[7]:
_ = plot_dataset(datasaver.dataset)
../../_images/examples_driver_examples_Qcodes_example_with_Rigol_DS1074Z_16_0.png