pylab_ml.smu.rohde_schwarz.base_rohde_schwarz.Rohde_Schwarz

class Rohde_Schwarz(**kwargs)[source]

Bases: Measure

Interface to the Keithley SMU Instruments.

The Keithley baseclass can connect to Keithley SMU instruments

Initialization arguments:
addr (int):

interface address

interface (dev_interface.Instrument):

GPIB, USBSerial

backend (str):

VISA backend is either @ni’ for NI-Library or @py’ for pure python pyvisa-py backend. On default it uses @ni’ on win32 and @py’ on other platforms.

Example: Initialization
>>> instrument = Keithley(addr=24)   # GPIB or USB address
>>> instrument.init()                # connect and initialize instrument
init()[source]

connect and initialize

local()[source]

switch back to instrument control

reset()[source]

reset

identify()

instrument message, reflect address & interface

message("")[source]

instrument message (“string”) or ()

error_list()[source]

list of instrument errors

close()

terminate interface

com_recover(bool)[source]

detect & attempt to recover out of step communication (maybe after timeout)

inst.write('*RST')

write direct to instrument

ask=inst.query('

READ?’) write and read the answer

Properties:

id : Get IDN string

__init__(**kwargs)[source]

Initialize the smu class.

Methods

__init__(**kwargs)

Initialize the smu class.

clear()

Clear error status.

close([force])

Close connection to instrument.

com_recover([fix])

Can lose coherency between read request and data, usually because of Timeout.

error_list()

List of outstanding errors.

find_names()

find_names() returns list of identifiers strings, lhs of = assignments

help()

Print the docstring of the instrument class.

identify([showInstName])

Identify message.

init([identify])

Connect to Keithley instrument and initialize.

local()

Switch back to local instrument control.

message([message])

Message display.

mfilter(input)

mqtt_add(client, instrument[, liste, qos])

Add the instrument to mqtt.

mqtt_disconnect()

Remove the instrument from mqtt.

publish(topic, value)

Publish topic as type='cmd' with payload=value.

publish_get(function_name, value)

Publish function_name as type='get' with paylad=value.

publish_set(function_name, value)

Publish function_name as type='set' with paylad=value.

reset()

Reset and switch beep off.

setup_inst()

Setup the instrument settings.

Attributes

channel

Set/get channel number if the instrument have more than one channel.

command

id

Query IDN.

instName

Return with instname or instname[ch] if it has channels.

interchoices

measurecnt

Set/get the number of measurement to be carried out in a loop.

mqtt_enable

mqtt_list

mqtt_status

Getter for the mqtt_status.

property channel

Set/get channel number if the instrument have more than one channel.

One can also use:
>>> vdd[0].voltage = 5           # set voltage from channel 0
>>> vdd[1].current = 0.1         # set current from channel 1
>>> v = vdd[1].voltage           # measure voltage from channel 1
clear()[source]

Clear error status.

close(force=False)

Close connection to instrument.

com_recover(fix=False)[source]

Can lose coherency between read request and data, usually because of Timeout.

This routine can diagnose such loss of coherency and attempt to fix it, when fix=True

Parameters:

fix (bool) – If True, attempt to fix the loss of coherency by consuming the next few lines of data, which should be the data that was expected from the previous read request.

Returns:

True if coherency is restored, False otherwise.

Return type:

bool

error_list()[source]

List of outstanding errors.

Returns:

errorlist – list of outstanding errors, each tuple is (code, message)

Return type:

list of tuples

find_names()

find_names() returns list of identifiers strings, lhs of = assignments

Returns:

obj_names – List of identifier strings

Return type:

list of str

help()

Print the docstring of the instrument class.

property id

Query IDN.

identify(showInstName=False)

Identify message.

init(identify=False)[source]

Connect to Keithley instrument and initialize.

property instName

Return with instname or instname[ch] if it has channels.

json = <module 'json' from '/home/runner/miniconda3/envs/test/lib/python3.9/json/__init__.py'>
local()[source]

Switch back to local instrument control.

property measurecnt

Set/get the number of measurement to be carried out in a loop.

TODO: this function is not running yet, it is only a dummy

if the result == None than this function not implemented. The return value for the measurement is calculated togetheer with the mfilter setting.

message(message=None)[source]

Message display.

mqtt_add(client, instrument, liste='#', qos=0)

Add the instrument to mqtt. Calling from base_instrument, after the instrument (device) has been create. Normally you have not to use this function, only base_instrument use it.

Parameters:
  • client (mqtt_init) – The MQTT client instance to which the instrument should be added.

  • instrument (object) – The instrument to be added to the MQTT client.

  • liste (list or str) – A list of attributes for which MQTT messages should be sent. If set to “#”, all attributes will be included (default: “#”).

  • qos (int) – The Quality of Service level for MQTT messages (default: 0).

Return type:

None

mqtt_disconnect()

Remove the instrument from mqtt. Calling from base_instrument, if the instrument are closing. Normally you have not to use this function, only base_instrument use it.

property mqtt_status

Getter for the mqtt_status.

publish(topic, value)

Publish topic as type=’cmd’ with payload=value.

Parameters:
  • topic (str) – The name of the topic to publish.

  • value (any) – The value to be published.

Return type:

None

publish_get(function_name, value)

Publish function_name as type=’get’ with paylad=value.

Parameters:
  • function_name (str) – The name of the function to be published as a ‘get’ command.

  • value (any) – The value to be published as the payload of the ‘get’ command.

Return type:

None

publish_set(function_name, value)

Publish function_name as type=’set’ with paylad=value.

Parameters:
  • function_name (str) – The name of the function to be published as a ‘set’ command.

  • value (any) – The value to be published as the payload of the ‘set’ command.

Return type:

None

reset()[source]

Reset and switch beep off.

setup_inst()

Setup the instrument settings.