010 PyVISAを使った測定機器へのコマンド送受信

2022/03/16

紹介/PyVISA

t f B! P L

PyVISAパッケージは,測定機器にコマンドを送受信するために,幾つか関数が用意されています.
よく使われるのは,write関数query関数でしょう.

write関数とquery関数の違いは,query関数は,測定機器にコマンドを送信することで,何かしら返答を得るケースに使います.
一方,write関数は,測定機器にコマンドを送信しますが,返答は無いケースに使います.

実は,read関数というのもあり,これは,測定機器から返答を受信するための関数ですが,あまり使うケースは無いと思います.逆に,query関数は,write関数で測定機器にコマンドを送信し,続けてread関数で測定機器から返答を受信しているのと同じと考えることもできます.

ここで覚えておいた方が良いことがあります.

query
関数はwrite関数とread関数を連続して実行しているのと同じと説明しましたが,場合によっては,write関数で測定機器にコマンドを送信した後,実際に測定機器から返答が戻ってくるまで,僅かな時間を要するケースがあります(測定器内部で,返答データを準備するのに時間がかかるケースなど).

このように,測定機器からの返答に僅かな時間を要するケースで,query関数が上手く処理できないことがあります.
このような場合は,query関数に,delayキーワード引数を使って,測定機器からのコマンドの受信を遅らせることで,query関数が上手く処理できるようになります.

調べた測定機器のSCPIコマンドに電圧などの数値を追加した文字列を,write関数やquery関数の引数として送信します.文字列の生成方法は,こちらの投稿で紹介しています.

PyVISAパッケージでは,上で紹介した,write関数,query関数の他に,状況に適した幾つかのコマンド送受信関数群を用意しています(例えば,一連の数列データをASCIIデータBinaryデータとして送受信するための関数など).
興味のある方は,コマンドを送受信する関数群の紹介をご覧下さい.

このブログを検索

自己紹介

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

QooQ