Giter Site home page Giter Site logo

keithley2600's Introduction

PyPi Release Build Status Documentation Status

keithley2600

A full Python driver for the Keithley 2600 series of source measurement units.

About

Keithley driver with access to base functions and higher level functions such as IV measurements, transfer and output curves, etc. Base commands replicate the functionality and syntax from the Keithley TSP functions, which have a syntax similar to python.

Warning:

There are currently no checks for allowed arguments in the base commands. See the Keithley 2600 reference manual for all available commands and arguments. Almost all remotely accessible commands can be used with this driver. Not supported are:

  • tspnet.execute(): conflicts with Python's execute command
  • lan.trigger[N].connected: conflicts with the connected attribute of Keithley2600Base.
  • All Keithley IV sweep commands. We implement our own in the Keithley2600 class.

Usage:

Connect to the Keithley 2600 and perform some base commands:

>>> from keithley2600 import Keithley2600
>>> k = Keithley2600('TCPIP0::192.168.2.121::INSTR')
>>> k.smua.source.output = k.smua.OUTPUT_ON  # turn on smuA
>>> k.smua.source.levelv = -40 # sets smuA source level to -40V
>>> volts = k.smua.measure.v() # measures and returns the smuA voltage
>>> k.smua.measure.v(k.smua.nvbuffer1) # measures the voltage, stores the result in buffer
>>> k.smua.nvbuffer1.clear() # clears nvbuffer1 of smuA

Higher level commands defined in the driver:

>>> data = k.readBuffer(k.smua.nvbuffer1) # reads entries from nvbuffer1 of smuA
>>> k.setIntegrationTime(k.smua, 0.001) # in sec

>>> k.applyVoltage(k.smua, -60) # applies -60V to k.smua
>>> k.applyCurrent(k.smub, 0.1) # sources 0.1A from k.smub
>>> k.rampToVoltage(k.smua, 10, delay=0.1, stepSize=1) # ramps k.smua to 10V in 1V steps
>>> i = k.smua.measure.i() # measures current at smuA

>>> k.voltageSweepSingleSMU(smu=k.smua, smu_sweeplist=list(range(0, 61)),
...                         t_int=0.1, delay=-1, pulsed=False) # records an IV curve
>>> k.voltageSweepDualSMU(smu1=k.smua, smu2=k.smub, smu1_sweeplist=list(range(0, 61)),
...                       smu2_sweeplist=list(range(0, 61)), t_int=0.1, delay=-1,
...                       pulsed=False) # records dual SMU IV curve

Installation

Download or clone the repository. Install the package by running

$ pip install keithley2600

Documentation

See the Keithley 2600 reference manual here for all available commands and arguments.

keithley2600's People

Contributors

quaeritis avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.