0

私は、ケースレー 2400 ソースメータとケースレー 2182a ナノボルトメータを使用して、電気接触抵抗の取得に取り組んでいます。どちらの機器も、Keithley KUSB-488b アダプタを使用して USB 経由で Wi​​ndows コンピュータに接続されています。

Python、Pyvisa モジュール、National Instruments バックエンド (NI VISA) を使用して、必要な測定を実行できるスクリプトを作成しています。しかし、楽器との通信に問題があります。Pyvisa の開発者が提供する公式ドキュメントに基づいていくつかの簡単なスクリプトを実行しましたが、どちらの機器にも接続できません。次の簡単なコード ブロックは、私の説明に役立つかもしれません。

>>> import pyvisa
>>> rm = pyvisa.ResourceManager()
>>> rm.list_resources()
('ASRL3::INSTR', 'ASRL4::INSTR', 'ASRL8::INSTR', 'ASRL14::INSTR')
>>> inst = rm.open_resource(' # Instrument address here # ')
>>> print(inst.query("*IDN?")

4 行目の結果から、計測器のアドレスのリストが得られるはずです。しかし、これらはどれも正しくないためVI_ERROR_TMO、4 行目で提供される 4 つのアドレスを試すと、タイムアウト エラー ( ) が発生します。この単純なコード ブロックの 4 行目で期待される出力は、ドキュメンテーション。KI-488 診断ツールを使用して、両方のデバイスと通信してみました。どちらともうまく通信できました。SMU のアドレスは GPIB::24 で、ナノボルトメータは GPIB::7 です。

また、診断ツールから取得した GPIB アドレスを、より複雑なスクリプト (現在のスイープ) で渡そうとしました。しかし、これは

pyvisa.errors.VisaIOError: VI_ERROR_LIBRARY_NFOUND (-1073807202)

同様のエラーをオンラインで検索しましたが、そのほとんどは、dll がないか、ビット数が正しくないことが原因です。python -m visa infoただし、実装されたバックエンドが正しいことを単純に証明するため、これは私の場合ではありません。も渡そうとしましたresourcemanager( path )が、それも失敗しました。

さらに、Keithley I/O Layer をインストールしようとしましたが、それでもうまくいきませんでした。また、ケースレーのコミュニケータでは、両方のデバイスが実際に対応する GPIB アドレスで表示されます。この問題は、Python と適切なアドレスで動作しています。

4

1 に答える 1