038 PyVISAを使ってASCIIデータを送受信する

2022/04/14

紹介/PyVISA

t f B! P L

PyVISAパッケージを使ってASCII形式の数列データを送受信するのは,Binaryデータの送受信に比べて非常に簡単です.
PyVISAパッケージに用意されている,下記の関数を使うだけで良いでしょう.

ASCIIデータ受信は,query_ascii_values関数を使います.
基本的な使い方は,問合せのコマンド(下記の例ではCURV?)を使って,
    vals = inst.query_ascii_values("CURV?")
とすれば,変数valsASCIIデータが(数値に変換されて)代入されます.

query_ascii_values関数の,主なキーワード引数は,container, converter, separatorがあり,それらは,下記のように使います.
    container: コンテナの型を指定(例: container=numpy.array)
    converter: 文字列のフォーマット変換を指定(例: converter='x', デフォルトは'f')
    separator: 数列データの区切り文字の指定(例: separator='$', デフォルトは',')
必要に応じて,上記のキーワード引数を使い分けて下さい.

逆に,ASCIIデータ送信は,write_ascii_values関数を使います.
query_ascii_values関数と同じく,converter, separatorキーワード引数を使うことができます.
基本的な使いかたは,
    inst.write_ascii_values("WLISt:WAVeform:DATA somename," vals)
といった感じで,送信するコマンドと,送信する数例を引数とします.

以上に紹介したように,ASCIIデータを送受信するのは,PyVISAパッケージが用意する,
    query_ascii_values関数
    write_ascii_values関数
を使えば(必要に応じて,キーワード引数も指定する),特に問題なく処理できると思います.

次の投稿で紹介するBinaryデータの送受信は,ASCIIデータの送受信と比べて,知っておくべき(調べておくべき)ことが幾つかあります.
処理時間が長くなっても問題がなければ,ASCIIデータで送受信するのも良いでしょう.


このブログを検索

アーカイブ

自己紹介

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

QooQ