我正在尝试使用 PyVisa 和 Keithley 6430 进行电流 - 电压扫描,执行从零到正值和负值的完整电压循环:从 0 到 +5,回到 0 和从 0 到 -5 再回到又是 0。
为此,我基本上使用了 4 个不同的范围和 4 个不同的 for循环,如下所示:
#Voltage values
low = -5
middle = 0
high = 5
step = 1
voltage_range1 = np.arange(middle,high,step)
voltage_range2 = np.arange(high,middle,-step)
voltage_range3 = np.arange(middle,low,-step)
voltage_range4 = np.arange(low,middle+1,step)
data = []
for voltage in voltage_range1:
keithley.write('source:voltage:level {}'.format(voltage))
data.append(keithley.query_ascii_values('read?'))
for voltage in voltage_range2:
keithley.write('source:voltage:level {}'.format(voltage))
data.append(keithley.query_ascii_values('read?'))
for voltage in voltage_range3:
keithley.write('source:voltage:level {}'.format(voltage))
data.append(keithley.query_ascii_values('read?'))
for voltage in voltage_range4:
keithley.write('source:voltage:level {}'.format(voltage))
data.append(keithley.query_ascii_values('read?'))
该程序可以正常运行,但我找不到更实用的方法来执行此操作,例如将整个过程设置在一个电压范围内并避免使用 4 个循环。你有什么想法?