Requirements

Python

The following Python versions are known to work on Windows. Newer versions should work as well.

Packages

The pyvisa and numpy python packages are required by rohdeschwarz. As of Python 2.7.13 and 3.5.3, a pre-compiled (binary) version of numpy is available and should automatically install via pip. If for some reason numpy installation fails, you may be using a version of python that does not have a pre-compiled binary wheel on PyPI. You can check for versions supported out-of-the-box here:

numpy binary wheels on PyPI

There is a direct tcp socket option if you prefer to connect to the instrument without installing VISA on the host machine. However, the pyvisa package is still required at the moment, even if it is not used.

Install

As you would expect, you can install rohdeschwarz from the command line with pip:

pip install --pre rohdeschwarz

The current version as of this writing is 0.9.1dev1 (beta); the --pre flag indicates that you are okay with a version of rohdeschwarz that is "pre-release".

Getting Started

Command line

The easiest way to get started is with a tcp (ethernet) connection and the vna command, available from the command line.

vna --address <ip_address>

If you are using VISA and/or GPIB, this is available from the command line as well

vna --visa gpib --address <gpib_address>

Python script

Within a script, the following code snippet will attempt to connect to an instrument via VISA and GPIB at the address provided.

from rohdeschwarz.instruments.vna import Vna

vna = Vna()
vna.open('GPIB', '17')
vna.open_log('path/to/scpi/log.txt')
# ...
vna.close_log()
vna.close()

Alternatively, to connect via a direct TCP socket (no VISA installation required):

from rohdeschwarz.instruments.vna import Vna

vna = Vna()
vna.open_tcp('<ip_address>')
vna.open_log('path/to/scpi/log.txt')
# ...
vna.close_log()
vna.close()

Generic Instrument Control

rohdeschwarz can also control other types of instruments besides a VNA. For generic instrument control, similar steps can be followed, replacing the VNA references with references to GenericInstrument or instr instead.

Command line

# TCP socket connection
instr --address <ip_address>
>>> # At python prompt:
>>> instr.query('*IDN?')

Python script

from rohdeschwarz.instruments.genericinstrument import GenericInstrument

instr = GenericInstrument()
instr.open_tcp('<ip_address>')
instr.open_log('path/to/scpi/log.txt')

# Read/write
instr.write('*IDN?')
instr.read()

# Query
instr.query('*IDN?')

instr.close_log()
instr.close()

Documentation

rohdeschwarz is open-source. All the source code can be found here:

https://github.com/Terrabits/rohdeschwarz

Unfortunately there is no documentation at the moment. However, examples can be found in the repo on Github.