Keithley SMU 2600 系列数字电压源/电流源是一款功能强大、性能优异的测试仪器,主要应用于半导体、电子元器件、光电、新能源、电池和燃料电池等领域。
直接写入TSP指令控制仪器的python脚本
import pyvisa
import time
rm = pyvisa.ResourceManager()
smu = rm.open_resource("TCPIP0::192.168.1.1::INSTR") # 这里假设设备 IP 地址为 192.168.1.1
#重置仪器
smu.write('*RST')
time.sleep(2)
# 配置 SMU-A 的电流电压输出和自动量程,并设置 delays 为 0.1 秒
smu.write(":smua.source.func = smua.OUTPUT_DCVOLTS")
smu.write(":smua.source.levelv = 1.0")
smu.write(":smua.measure.autorangei = smua.AUTORANGE_ON")
smu.write(":smua.measure.autorangev = smua.AUTORANGE_ON")
smu.write(":smua.measure.delay = 0.1")
# 配置 SMU-A 的 Non-Volatile Buffer 1 采样
smu.write(":smua.nvbuffer1.clear()")
smu.write(":smua.nvbuffer1.collecttimestamps = 1")
smu.write(":smua.nvbuffer1.collectsourcevalues = 1")
smu.write(":smua.nvbuffer1.collectreadings = 1")
smu.write(":smua.nvbuffer1.capacity = 100000")
smu.write(":smua.nvbuffer1.fillmode = smua.NV_BUFFER_FILL_CONTINUOUS")
smu.write(":smua.nvbuffer1.triggercount = 1")
smu.write(":smua.nvbuffer1.pretriggercount = 0")
smu.write(":smua.trigger.start(smua.nvbuffer1, 1)")
# 开始输出 SMU-A 的电流和电压,并采集数据到 NV Buffer 中
smu.write(":smua.source.output = smua.OUTPUT_ON")
for i in range(10):
time.sleep(1)
iv = smu.query(":smua.measure.iv()")
current, voltage = iv.split(',')
print("Voltage: {} V, Current: {} A".format(voltage.strip(), current.strip()))
# 停止输出和采集数据
smu.write(":smua.source.output = smua.OUTPUT_OFF")
smu.write(":smua.abort()")
# 读取 NV Buffer 1 中的第一个采样点并输出结果
reading = smu.query(":smua.nvbuffer1.readings.getreading(1)")
print("Reading: {}".format(reading))
smu.close()
rm.close()