Tektronixのオシロからpythonでデータをとる

やりたいこと

テクトロニクスのオシロスコープに表示されているデータを,PCにpythonで読み込みたい.

解決法

pyvisaで読み込めばよい

環境

手順

前提として,オシロスコープのドライバを入れて,PCからサンプルソフトでデータを読み込めることを確認しておく.

jp.tek.com

このソフトを使えばGUIでデータの計測や画面のキャプチャができるのだが,自分で作ったアプリケーションにオシロスコープのデータを入力したいときなんかに困る.そこで,今回はPythonからオシロスコープのデータを取得する.

まず,PyVISAをいれる.

https://pyvisa.readthedocs.io/en/stable/

Anacondaにはデフォルトで入っているようなので,今回はパス.

次に,読み込めているかどうかをチェック

https://pyvisa.readthedocs.io/en/stable/getting.html

に書いてある通りに

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

してみると,いくつか見つかる.OpenChoiceを開いたときに表示されるデバイスと同じデバイスが表示されることを確認する.

早速,データを取得してみる.TDS 2024Bは,バイナリでデータを送ってくれるようなので,下記を参考にデータを読み込んでみる. Reading and Writing values — PyVISA 1.9.1 documentation

>>> my_instrument = rm.open_resource(rm.list_resources()[0])
>>> values = my_instrument.query_binary_values('CURV?', datatype='d', is_big_endian=True)
>>> print(values)

読み込めているようだ!