2017-04-24 128 views
2

私はpyVISAを使ってGPIBネットワークのいくつかの機器を制御しています。リソースマネージャを作成すると、GPIBネットワーク内のすべての計測器がリモートモードになり、フロントパネルの表示がロックされ、更新されません。リソースマネージャを閉じると、計測器はリモートモードのままです。pyVISA:機器をローカルモードに戻す

import visa 

rm = visa.ResourceManager() 

#Connect to a specific instrument 
MyInstrument = rm.open_resource('GPIB0::10::INSTR') 

#Do stuff 
print(MyInstrument.query("*IDN?")) 

#close resource manager 
rm.close() 

この特定のケースでは、ネットワーク内の1つの計測器を制御したいだけですが、電源を入れてフロントパネルの表示を有効にする必要があります。

"余分な"計測器をリソースマネージャからプログラムで除外する方法はありますか(GPIBケーブルを切断したり、GPIB通信を手動でオフにしたくない場合など)、または「ローカルに移動」コマンドネットワーク全体または特定の計測器に送ることができるので、必要に応じて計測器を設定したら、フロントパネルが稼働しますか?

UPDATE:

いくつかの実験をさらに読書の後、私は、次のローカルモードに自分の楽器を返すが見つかりました:

#Return single instrument to local with 
#GTL command (VI_GPIB_REN_ADDRESS_GTL = 6) 
MyInstrument.control_ren(6) 

#Return all instruments in network to local by 
#deasserting remote enable line (VI_GPIB_REN_DEASSERT = 0) 
MyInstrument.control_ren(0) 

値0と6はpyVISA(http://pyvisa.readthedocs.io/en/stable/_modules/pyvisa/constants.html)に設定された定数である はそう定数の代わりにここに変数名を指定できるはずですので、明らかに私が理解していない何かがありますが、少なくとも今私は実用的な解決策を持っています。

私を正しい軌道に乗せていただきありがとうございます。

答えて

2

デバイスのリモート/ローカル状態を制御するコールがあります。

GPIBInstrument.control_ren(mode) 

リモート(REN)インターフェイスラインをイネーブルにし、デバイスのローカル/リモート状態を任意GPIBの状態を制御します。

VISAライブラリのviGpibControlREN関数に相当します。

Source

2

ほとんどの計測器には、リモートコマンドとローカルコマンドがあります。 Visaは独自のset localコマンドも持っています。このコマンドはviGpibControlREN(handle, VI_GPIB_REN_ADDRESS_GTL)のようになります。機器のマニュアルを読む必要がありますが、個々のビザのコマンドは通常「SYST:LOC」のようなものです

関連する問題