0

pyVISA を使用して GPIB 計測器に接続しようとしていますが、エラーが発生します。pyVISA Web サイトの簡単な例に従っています: http://pyvisa.readthedocs.org/en/master/

IPython コンソールに次のコードを入力します。

import visa
rm = visa.ResourceManager()
rm.list_resources()

Out[4]:
(u'USB0::0x0957::0x0D0B::MY49431510::INSTR',
 u'USB0::0x0957::0x17BC::MY52400338::INSTR',
 u'ASRL1::INSTR',
 u'ASRL2::INSTR',
 u'ASRL5::INSTR',
 u'ASRL6::INSTR',
 u'ASRL7::INSTR',
 u'ASRL8::INSTR',
 u'ASRL9::INSTR',
 u'ASRL10::INSTR')

しかし、GPIB 計測器は表示されず、シリアル ポートと USB 計測器だけが表示されます。Agilent Connection Expert (または NI MAX) を起動すると、すべての GPIB 計測器が表示され、それらと通信できます。また、Matlab と問題なく機器と通信することもできます。

したがって、ラインで楽器に接続しようとすると:

inst = rm.open_resource('GPIB0::19::INSTR')

エラーがスローされます: VisaIOError: VI_ERROR_INTF_NUM_NCONFIG (-1073807195): The interface type is valid but the specified interface number is not configured.

また、リソースを一覧表示するときに表示される USB 機器に接続しようとしましたが、このエラーは発生しません。ただし、簡単なクエリを実行しようとすると、次のようになります。

inst = rm.open_resource('USB0::0x0957::0x0D0B::MY49431510::INSTR')
inst.query("*IDN?")

何も返されず、エラーもスローされません。

Python(X,Y) 2.7.9.0 を Python バージョン 2.7.9 32 ビットで使用しています

pyVISA のバージョンは 1.6.3 NI ビット数は 32

私はPythonが初めてなので、ガイダンスをいただければ幸いです。

ありがとう

4

7 に答える 7

0

私は同じ問題を抱えていましたが、パス アドレスを「C:/Program Files/IVI Foundation/VISA/WinNT/agvisa/agbin/visa32.dll」に設定することで問題を解決できました。解決策が見つからない場合は、それがうまくいくことを願っています。

于 2015-08-19T11:25:05.870 に答える
0

コンピュータにni-visaAgilentがvisaインストールされています。ただし、pyvisa間違ったライブラリを指しているため、Agilent 82357B デバイスにアクセスできません。

このコマンドを使用して適切なライブラリを指定しましたが、うまくいきました。いくつかのメモ:

  • それぞれのビザ パケットに応じて、デバイスに適したライブラリを見つけます。これは、さまざまなインストール ディレクトリにある visa32.dll です。
  • Windows 上であっても、文字の区切りにはスラッシュを使用します。
  • コマンドでビザ パケットを指定します。rm = visa.ResourceManager('c:/....')
于 2016-05-03T22:16:29.467 に答える
0

おそらく、次のようにリソース マネージャーを起動する必要があります。

rm = ResourceManager('Path to library')

ここで、ライブラリへのパスは NI Vista ライブラリの場所です。

また試してください:

python -m visa info

実行している python バージョンと同じワード長でインストールされていることを確認します。

于 2015-02-22T21:36:46.023 に答える
0

私はまったく同じ問題を抱えていました.USBリソースは表示されましたが、GPIBリソースは表示されませんでした. 私はあなたがしたのとまったく同じようにリソースを開こうとしましたinst = rm.open_resource('GPIB0::22::INSTR')(GPIB アドレスを私の計測器のアドレスに変更しました) が、まったく同じ結果になりました。いくつかのインスピレーションを得たランダムな推測が私を導きました

inst = rm.open_resource('GPIB1::22::INSTR')

これは完璧に機能しました!計測器を開くと、予想どおり、リソースのリストに表示されます。インターフェイスが GPIB1 として表示される理由がわかりません。

Keysight/Agilent/HP IO ライブラリ スイートを VISA ライブラリとして使用しており (NI ライブラリはインストールされていません)、Agilent 82357B USB to GPIB インターフェイスを使用しています。これを機能させるために、pyVisa のインストールをカスタマイズする必要はありませんでしたいいですね。

お役に立てれば!

于 2015-11-08T12:28:04.387 に答える
-1

Keysight の Visa ライブラリを搭載した PC で実行すると、同じエラー レポートが表示されます。National Instruments の Visa DLL に置き換えると、問題は解決しました。

于 2016-12-28T09:28:12.147 に答える