Код: Выделить всё
def main():
rm = pyvisa.ResourceManager()
k = cast(MessageBasedResource, rm.open_resource(ADDR))
k.timeout = 60000
k.write_termination = "\n"
k.read_termination = "\n"
# print(f"[{datetime.now():%H:%M:%S}] Connected: {k.query('*IDN?').strip()}")
# ---- Force known idle state ----
k.write(":ABOR")
k.write("*RST")
k.write(":OUTP OFF")
# ---- Minimal configuration ----
k.write(":SOUR:FUNC VOLT")
k.write(":SOUR:VOLT:RANG 20")
k.write(":SENS:FUNC 'CURR'")
k.write(f":SENS:CURR:PROT {I_COMPLIANCE_AMPS}")
k.write(":SENS:CURR:RANG:AUTO ON")
k.write(":TRIG:SOUR IMM")
k.write(":TRIG:COUN 1")
k.write(":FORM:ELEM CURR")
k.write(":OUTP ON")
print("\npoint | t_set_v (s) | t_read (s) | current (A)")
print("-" * 50)
for v in V_POINTS:
# ---- Time voltage set ----
t0 = now()
k.write(f":SOUR:VOLT {v}")
time.sleep(0.0)
t_set = now() - t0
# ---- Time read ----
t1 = now()
resp = k.query(":MEAS:CURR?")
t_read = now() - t1
i = float(resp)
print(f"{v:4.1f} | {t_set:10.4f} | {t_read:9.4f} | {i: .3e}")
k.write(":OUTP OFF")
k.close()
rm.close()
Код: Выделить всё
point | t_set_v (s) | t_read (s) | current (A)
--------------------------------------------------
0.0 | 0.0022 | 0.1809 | -2.524e-11
0.4 | 16.7798 | 0.0776 | 2.465e-11
0.8 | 16.7799 | 0.0847 | -5.544e-11
1.2 | 16.7799 | 0.0728 | 1.100e-11
1.6 | 16.7799 | 0.0848 | 2.844e-07
2.0 | 16.7798 | 0.0694 | 1.008e-06
Код: Выделить всё
time.sleep- Задержки NPLC
- Проблемы с автоматическим диапазоном
Известны ли какие-либо проблемы с драйверами NI или PyVISA, которые могут вызвать такую задержку? Похоже, это проблема квитирования GPIB или задержка NPLC (1000 циклов включения при 60 Гц = 16,67 секунды)... но я ничего не нашел.
Раньше это была случайная проблема, например. он появлялся в 1 или 2 точках во время сканирования. Теперь это происходит при каждом измерении.
Подробнее здесь: https://stackoverflow.com/questions/798 ... thley-2401
Мобильная версия