3. Using the DS1054Z ClassΒΆ

The Class ds1054z.DS1054Z is a very easy and convenient way to interact with your oscilloscope programmatically.

First, import the class from the ds1054z module:

>>> from ds1054z import DS1054Z

Now you’re able to instantiate the class providing the host you want to connect to. This can be an IP address or a VISA resources string:

>>> scope = DS1054Z('192.168.0.21')
>>> # or
>>> scope = DS1054Z('TCPIP::192.168.1.104::INSTR')

More information on the resources string can be found in the README of the vxi11 package which ds1054z.DS1054Z uses to connect to the scope.

You can then check the identification of the device by accessing its idn property:

>>> print(scope.idn)

which will print something like RIGOL TECHNOLOGIES,DS1054Z,DS1ZA116171318,00.04.03.

To send a command to the oscilloscope, use the ds1054z.DS1054Z.write() method. Here we start the scope:

>>> scope.write(":RUN")

Note that for those very basic functions there might already be a convenience function present. In this case it’s called ds1054z.DS1054Z.run():

>>> scope.run()

If you want to read back values from the scope, use the ds1054z.DS1054Z.query() method:

>>> scope.query(":ACQuire:SRATe?")
u'5.000000e+08'

Please note that the answer is given as a (unicode) string here. You still need to convert the value to a float yourself.

>>> float(scope.query(":ACQuire:SRATe?"))
1000000000.0