53 lines
1.5 KiB
Python
Executable File
53 lines
1.5 KiB
Python
Executable File
# -*- coding: utf-8 -*-
|
|
"""
|
|
Created on Wed Oct 05 14:27:45 2022
|
|
|
|
@author: Jamie
|
|
"""
|
|
# Function for controlling Keithly-196 for electrical measurements
|
|
|
|
# Function to output voltage in Volts
|
|
# Keithley is the VISA resource for the Keithley-196
|
|
def Voltage(Keithley):
|
|
Keithley.write("X\n")
|
|
Voltage_string = Keithley.read()
|
|
Voltage = float(Voltage_string[4:])
|
|
return Voltage
|
|
|
|
# Function to set measurement mode
|
|
# Keithley is the VISA resource for the Keithley-196
|
|
# mode is the measurement mode
|
|
def Set_Mode(Keithley, mode):
|
|
if mode == "DC V":
|
|
mode_number = 0
|
|
elif mode == "AC V":
|
|
mode_number = 1
|
|
elif mode == "Ohm":
|
|
mode_number = 2
|
|
elif mode == "DC I":
|
|
mode_number = 3
|
|
elif mode == "DC I":
|
|
mode_number = 4
|
|
elif mode == "AC I":
|
|
mode_number = 5
|
|
elif mode == "ACV dB":
|
|
mode_number = 6
|
|
elif mode == "Offset comp Ohm":
|
|
mode_number = 7
|
|
Keithley.write("F"+str(mode_number))
|
|
|
|
# Function to set voltage range
|
|
# Keithley is the VISA resource for the Keithley-196
|
|
# range_name is the number of the range setting (numbers in V)
|
|
def Set_Range(Keithley, range_name):
|
|
if range_name == "Auto":
|
|
range_number = 0
|
|
elif range_name == "0.3":
|
|
range_number = 1
|
|
elif range_name == "3":
|
|
range_number = 2
|
|
elif range_name == "30":
|
|
range_number = 3
|
|
elif range_name == "300":
|
|
range_number = 4
|
|
Keithley.write("R"+str(range_number)+"X") |