OS | PC | PC側インターフェース | NI VISA | python |
Windows 11 2023/9最新版 | Surface Book 2 | USB2.0 | ni-488.2_23.5_online.exe | 3.11.5 |
Windows 11 2023/9最新版 | Surface Laptop Studio | USB-C DockでUSB-CからUSB2.0に変換 | ni-488.2_23.5_online.exe | 3.11.5 |
OS | PC | PC側インターフェース | NI VISA | python | 問題 |
Windows 7 Service Pack 1 32bit版 | FMV ESPRIMO D5290 | USB2.0 | NIVISA1600full.zip | 3.6 32bit版 (3.8はSP1+updateが必要) | python, NI VIAS, pyvisaのインストールはOK。 デバイスリストが取得できない |
参考URL:
基本的なプログラム:
import pyvisa
rm = pyvisa.ResourceManager() #
リソースマネージャを作成
dev_list = rm.list_resources() #
接続されている装置のリストを取得
keithley = open_device(dev_list[0]) #
最初に見つかった装置へのハンドルを取得
# Keithley 2450の初期設定
keithley.write("*RST")
# Keithleyをリセット
keithley.write(":SOUR:FUNC VOLT") # 電圧源モードに設定
keithley.write(":SENS:FUNC 'CURR'") # 電流測定モードに設定
keithley.write(":SENS:CURR:RANG:AUTO ON") # 電流範囲を自動に設定
# keithley.write(":SENS:CURR:RANG 1.05e-6") # 電流範囲を1μAに設定
keithley.write(":SENS:VOLT:NPLC 1")
# 測定の積分時間を設定
keithley.write(":OUTP ON")
# 出力をONにする
# トリガーモデルを設定: 手持ちの2450では受け付けないのでコメントアウト
# keithley.write(":TRIG:CLE")
# トリガーカウンタをクリア
# keithley.write(":TRIG:COUN 1") # トリガーカウンタを1に設定
# keithley.write(":TRIG:SOUR IMM") # イミディエイトトリガーを設定
# keithley.write(":TRIG:DIR SOUR") # トリガーソースを指定
# 測定を開始
keithley.write(":INIT")
# 測定データを取得
Vlist = []
Ilist = []
for V in np.arange(-1.0, 1.001, 0.1):
keithley.write(f":SOUR:VOLT {V:10.4g}")
time.sleep(0.1) # 安定化待ち時間
ret = keithley.query(":READ? 'defbuffer1', SOUR, READ") #
測定された電圧・電流値を取得
V, I = ret.split(',')
V = float(V)
I = float(I)
Vlist.append(V)
Ilist.append(I)
print(f" set V={V:10.4g} measured V={V:14.6g} I={I:14.6g}")
keithley.write(":OUTP OFF")
# Keithley 2450をクローズ
keithley.close()
GPIB / NI-488.2
SCPI
Keithley2000
Keithley 2400
Keithley 2450
Keithley 6517
その他