Base Instrument

class zhinst.qcodes.base.ZIBaseInstrument(name: str, device_type: str, serial: str, interface: str = '1gbe', host: str = 'localhost', port: int = 8004, api: int = 6, **kwargs)

Bases: qcodes.instrument.base.Instrument

Base class for all Zurich Instruments QCoDeS drivers.

Implements basic wrapper around zhinst-toolkit deice drivers and translates the nodetree to a hirarchy of QCoDeS submodules (ZINodes) and parameters.

  • name (str) – The QCoDeS name of the instrument

  • device_type (str) – The device type, e.g. ‘mfli’.

  • serial (str) – The device serial number.

Keyword Arguments
  • interface (str) – The interface used to connect to the device (default: ‘1GbE’).

  • host (str) – Address of the data server. (default: ‘localhost’)

  • port (int) – Port used to connect to the data server. (default: 8004)

  • api (int) – Api level used. (default: 6)

get_idn() → Dict

Parse a standard VISA *IDN? response into an ID dict.

Even though this is the VISA standard, it applies to various other types as well, such as IPInstruments, so it is included here in the Instrument base class.

Override this if your instrument does not support *IDN? or returns a nonstandard IDN string. This string is supposed to be a comma-separated list of vendor, model, serial, and firmware, but semicolon and colon are also common separators so we accept them here as well.


A dict containing vendor, model, serial, and firmware.


Perform a global synchronisation between the device and the data server.

Eventually wraps around the daq.sync() of the API.


ToolkitError – If called and the device in not yet connected to the data server.