Генерация квадратных волн с помощью Keithley 2400 с использованием PyVisa - PullRequest
0 голосов
/ 11 марта 2019

Я бы хотел использовать Keithley 2400 SourceMeter для генерации прямоугольных волн. Я знаю, что 2400 не имеет импульсного режима, но я нашел в сети несколько примеров, которые реализуют измерения кривой I-V. Я использую pyVisa для связи с инструментом и написал следующий скрипт, который генерирует прямоугольные волны до 6-7 Гц. Сможет ли инструмент генерировать более высокие частоты? Если так, как я могу это сделать?

import visa
import numpy as np
import time
rm = visa.ResourceManager()
rm.list_resources()
SrcMeter = rm.open_resource('GPIB0::25::INSTR')
no_of_pulses = 100
pulse_delay = 0.008
SrcMeter.timeout = 50000
volt_hi = 4
volt_low = -4
SrcMeter.write(':SENS:FUNC:CONC OFF')
SrcMeter.write(':SOUR:FUNC VOLT')
SrcMeter.write(':SOUR:VOLT:START %s' %str(volt_low))
SrcMeter.write(':SOUR:VOLT:STOP %s' %str(volt_hi))
SrcMeter.write(':SOUR:VOLT:STEP 8')
SrcMeter.write(':SOUR:VOLT:MODE SWE')
SrcMeter.write(':SOUR:SWE:RANG AUTO')
SrcMeter.write(':SOUR:SWE:SPAC LIN')
SrcMeter.write(':TRIG:COUN %s' %str(no_of_pulses))
SrcMeter.write(':SOUR:DEL %s' %str(pulse_delay))

SrcMeter.write(':OUTP ON')
time_0 = time.time()
values = np.array(SrcMeter.query_ascii_values(':READ?'))
time_1 = time.time()
SrcMeter.write(':OUTP OFF')

print('Pulse duration %s' %str(time_1-time_0))
...