008 PyVISAの簡単な紹介

2022/03/14

紹介/PyVISA

t f B! P L

PyVISAパッケージとは,各種測定機器を統一的にコントロールするために標準化されたコマンド群(SCPIコマンド)を使うためのライブラリ(VISA)のPython版です.

つまり,PyVISAパッケージと,測定機器と通信するためのドライバー(NI-VISAドライバ etc.,)をインストールすれば,測定機器毎に用意されたSCPIコマンドを使ったPythonスクリプトを作成することで,測定機器をコントロールできるようになります.

測定機器と通信するためのドライバは,NI-VISAドライバ以外にも,測定機器メーカが提供しているケースもありますが,NI-VISAドライバで代用が効くケースが多いらしく,NI-VISAドライバで何かしら不都合のある場合は,それら,測定機器メーカが提供しているドライバを使うようにすれば良いと思います.

PyVISAパッケージを使って測定機器をコントロールするPythonスクリプトは,通常,下記のような記述から始まります.
    import pyvisa                                   # PyVISAパッケージのインポート

    rm = pyvisa.ResourceManager()       # 接続されている測定機器の一覧を取得
    inst = rm.open_resource(機器を特定) # 測定機器を特定

ここで,instが所望の測定機器となりますので,この測定機器にSCPIコマンドを送信して返答を受信することで,コントロールします.

PyVISAパッケージは,測定機器にSCPIコマンドを送信するための関数や,測定機器からの返答を受信するための関数を各種用意していますが,送受信するSCPIコマンド自体は,測定機器毎に異なります(これは,測定機器毎に機能が異なるので,サポートするコマンドが異なるのは当然です).

測定機器毎のSCPIコマンドは,測定機器メーカの該当する測定機器のページで,技術情報やマニュアルとして,ダウンロードできるのが一般です(中には,実機のシリアル番号を使ってユーザ登録しないとダウンロードできないケースもあるかもしれません).

PyVISAパッケージを使って測定機器をコントロールする最大の難所は,この,測定機器のSCPIコマンドを調べることだと言っても過言では無いでしょう.

但し,多くの人がそうだと思いますが,測定機器の全ての機能を使うことはありえず,ほんの一部の機能を使って測定を行うことが大半でしょう.従って,コマンド全部を調べる必要は無く,一部のコマンドのみ調べれば良いです.

最初は色々うまく行かず,試行錯誤することになるでしょうが,なんとかコントロールできるようになった時,LabVIEWを使ってコントロールするよりも,ずっと感慨深いものがあると思います(人にもよりますが).

このブログを検索

自己紹介

C++やC#を使って数値解析プログラムの開発を長年行ってきました.
今は,Pythonを使った自動処理システムの開発をメインに行っています.

QooQ