IoTで使うPython入門 Step5-Python3 VISA①DMM Keithley 2000 準備
2020年4月でPython2.7の新規リリースが終了しました。ここでは、Python3.8を利用します。プラットホームはWindows10です。
KeysightのIOライブラリ・スイート(Keysight Connection Expert 2020)をダウンロードし、インストールします。VISAを利用するときに役立つツール類がインストールされます。
●Keithley 2000の接続
GPIB-USB変換ケーブルを1台のKeithley 2000につなぎ、GPIBケーブルでもう1台のKeithley 2000につなぎます。PCとはGPIB-USB変換ケーブル(Agilentの82357B)でUSB2.0 のコネクタにつなぎます。
●GPIBの機能を有効にする
Keithley 2000のパネルの操作で、GPIB機能をONにします。
Shiftキーを押し、次にGPIBボタンを押すと、画面にGPIB OFF が表示されます。GPIBがブリンクしているので、右矢印キーを押すとOFFがブリンクします。上もしくは下矢印キーでONとOFFがトグルに切り替わります。ONの表示が出ている状態で、Enterキーを押します。
ADDR:06のアドレス設定表示になるので、Enterキーを押すと次はLANG SCPIの表示が出ます。Enterキーを押すと設定画面を抜けます。次に電源を入れても、この設定は維持されています。
もう1台はADDR:18でした。
通信を行うと、Keithley 2000のパネルにTALKの表示が出ます。
●Keysight Connection Expert 2020
Keysight Connection Expert 2020を起動します。なぜかたくさん見つけてきます。
VISAのアドレスが、GPIB0::6::INSTR と GPIB0::18::INSTRが該当しています。
●VISAライブラリ
PCのコマンドプロンプトで実行します。
pip3 install pyvisa
でVISAのライブラリをインストールします。過去何回かpyvisaを利用したときは、ほかにライブラリを必要としましたが、現時点では、このpyVISAだけで動作するようです。VISAの規約に対応している測定機器はたくさんあります。また、VISAが動作するインターフェースは、非同期シリアル、USB、GPIB、LAN(TCP/IP)などがあります。
IoTで使うPython入門 Step4-Python3ソケット①DMM 34461A測定器のIDを取得
で紹介したSCPIコマンドのなかで、どこでも実装している*IDN?を使います。
ライブラリをインポートします。
import visa
測定器には固有のアドレスがあり、次のように記述します。
Keithley2000_1_Addr = "GPIB0::6"
Keithley2000_2_Addr = "GPIB0::18"
そしてインスタンスを得ます。
r = visa.ResourceManager()
keithley2000_1 = r.open_resource(Keithley2000_1_Addr)
keithley2000_2 = r.open_resource(Keithley2000_2_Addr)
測定器のIDを取得します。
keithley2000_1.write('*IDN?')
keithley2000_2.write('*IDN?')
読み出します。
print(keithley2000_1.read())
print(keithley2000_2.read())
プログラムです。テキスト・エディタで編集し、Keithley0.pyのファイル名で保存しました。
import visa Keithley2000_1_Addr = "GPIB0::6" Keithley2000_2_Addr = "GPIB0::18" r = visa.ResourceManager() keithley2000_1 = r.open_resource(Keithley2000_1_Addr) keithley2000_2 = r.open_resource(Keithley2000_2_Addr) keithley2000_1.write('*IDN?') keithley2000_2.write('*IDN?') print(keithley2000_1.read()) print(keithley2000_2.read())
Keithley0.pyが保存されているディレクトリに移動し、Python3の別名pyで実行します。
C:\Users\ユーザ名\Desktop\works>py Keithley0.py KEITHLEY INSTRUMENTS INC.,MODEL 2000,0801917,A13 /A02 KEITHLEY INSTRUMENTS INC.,MODEL 2000,0638990,A06 /A02 |