PyVISAパッケージで,Binaryデータの受信は,query_binary_values関数を使います.
基本的な使い方は,送信するコマンドが"CURV?"の時,datatypeキーワード引数を使って受信するBinaryデータの型を指定し,is_big_endianキーワード引数を使ってエンディアンの指定を行います.
vals = inst.query_binary_values("CURV?", datatype='h', is_big_endian=True)
ASCIIデータの受信関数query_ascii_value関数と同様に,
containarキーワード引数
も使えます.
Binaryデータの型に関しては,こちらをご覧下さい.
測定機器からBinaryデータを送受信する際によく用いられるのは,
'h': short (2 bytes)
'H': unsgined short (2 bytes)
'i': int (4 bytes)
'I': unsigned int (4 bytes)
でしょうか.
逆に,Binaryデータの送信は,write_binary_values関数を使います.
基本的な使い方は,受信のケースと同じく,
inst.write_binary_values("WLIST:WAVeform:DATA somename,", vals, datatype='h', is_big_endian=True)
となります.
ここで,送信するBinaryデータが,バイト列の場合は,エンディアンは関係なく,また,datatypeキーワード引数には's'を設定すれば良いです.
inst.write_binary_values("WLIST:WAVeform:DATA somename,", byte_array, datatype='s')
以上で,PyVISAパッケージのBinaryデータの送受信に関する関数の紹介は終わりです.
しかしながら,PyVISAパッケージを使ってBinaryデータを送受信する紹介は,まだ続きます.
なぜなら,PyVISAパッケージの技術資料の中で,
「The methods described above work fine for 99% of the cases but there is always a particular device that ...」
と紹介してあるように,世の中には,一連の数列データを,read_binary_valuesおよびwrite_binary_values関数に,そのまま適用できないケースがあります.次の投稿では,それらのケースに,どうやって対処していくかを紹介します.
このブログを検索
アーカイブ
-
►
2022
(55)
-
►
4月 2022
(18)
- 025 PyVISAでコマンドを送受信した後でlast_statusの値をチェックする
- 026 PyVISAとExcelファイルで測定機器をコントロールする
- 027 Excelファイルから測定機器をコントロールするデータを読み込む
- 028 Excelファイルから測定機器をコントロールするデータを読み込む(その2)
- 029 Excelファイルから測定機器をコントロールするデータを読み込む(その3)
- 030 測定機器から得たデータをExcelファイルとして保存する
- 031 測定機器から得たデータをExcelファイルとして保存する(その2)
- 032 測定機器から得たデータをExcelファイルとして保存する(その3)
- 033 測定機器をコントロールするためのExcelファイルの読み書き時間
- 034 PyVISAとxlwingsのパッケージを使ってExcelから測定機器をコントロールする
- 035 ExcelからPythonスクリプトを実行する
- 036 ExcelからPythonスクリプトを実行する(その2)
- 037 PyVISAを使ってASCIIデータとBinaryデータを送受信する
- 038 PyVISAを使ってASCIIデータを送受信する
- 039 PyVISAを使ってBinaryデータを送受信する
- 040 PyVISAを使ってBinaryデータを送受信する(その2)
- 041 PyVISAを使ってBinaryデータを送受信する(その3)
- 042 PyVISAを使ってBinaryデータを送受信する(その4)
-
►
4月 2022
(18)
分類
- その他/雑談 (7)
- 環境構築/Python (5)
- 実機/オシロ (6)
- 実機/ファンクションジェネレータ (5)
- 紹介/Python (5)
- 紹介/PyVISA (12)
- 紹介/オブジェクト指向 (5)
- 紹介/スクリプト (10)
自己紹介
- メジャーメントラボ
- C++やC#を使って数値解析プログラムの開発を長年行ってきました.
今は,Pythonを使った自動処理システムの開発をメインに行っています.
0 件のコメント:
コメントを投稿