前回の投稿に引き続き,横河社製オシロをPyVISAパッケージを使ってコントロールする手順を紹介します.
オシロに値やモードを設定したり,設定されている値やモードを取得したりすることは,簡単にできました.
これは,エヌエフ回路設計社製ファンクション・ジェネレータのケースと,SCPIコマンドが異なるだけで,別段難しことはありません.
そこでいよいよ本命の,
「オシロで取り込んでいる波形データをPCに転送する」
ためのPythonスクリプトを作成し,動作検証してみたところ,上手く波形データが取得できず,波形データのデータ数が0となってしまいます.
色々やってみても同じ結果だったので,オシロ側の設定が原因かもしれないと思いました.
横河社では,オシロをコントロールするDLLライブラリとサンプルプログラム(C言語,C#, VB, VBA)を提供しているので,とりあえず,PyVISAパッケージを使ったPythonスクリプトの代わりに,横河社の提供するDLLライブラリを使って,オシロで取り込んだ波形データをPCに転送するC#プログラムを作成して,動作検証することにしました.
うまいことに,オシロで取り込んだ波形データをPCにASCIIデータとして転送するサンプルプログラムが提供されていたので,作成したC#プログラムは,このサンプルプログラムの該当する箇所を抜き出し,少しばかり変更するだけで作成することができました.
今までと同じく,ファンクション・ジェネレータから発生する波形データをオシロに取り込み,作成したC#プログラムを実行したところ,結果は同じく,波形データのデータ数が0となって,波形データは上手く取得できません.
なおかつ,オシロの画面には,
「応答の送信が中断されました云々」
というエラーメッセージが表示されるようになりました.
上記のエラーメッセージを素直に受け止めると,オシロ側から波形データを転送しようとしているにも関わらず,PC側が一方的に波形データの受け取りを終了しているように思えます.
上記のメッセージをそのまま信じて,色々試行錯誤したのですが,何ら効果を上げることができませんでした.
波形データの転送が上手くいかない問題は,諦めることなく試行錯誤を続けていくうちに解決策が見つかりました.
結論からいうと,上記のエラーメッセージは適切なものではありませんでした(かえって混乱する原因にもなりかねないものです).
長くなってきたので,原因は次の投稿で紹介します.
このブログを検索
アーカイブ
-
►
2022
(55)
-
►
6月 2022
(13)
- 043 ファンクション・ジェネレータをコントロールする
- 044 ファンクション・ジェネレータをコントロールする(その2)
- 045 ファンクション・ジェネレータをコントロールする(その3)
- 046 ファンクション・ジェネレータをコントロールする(その4)
- 047 ファンクション・ジェネレータをコントロールする(その5)
- 048 PyVISAパッケージにおけるtimeoutとdelayの違い
- 049 Etherケーブルを使った測定機器との接続
- 050 オシロをコントロールする
- 051 オシロをコントロールする(その2)
- 052 オシロをコントロールする(その3)
- 053 オシロをコントロールする(その4)
- 054 オシロをコントロールする(その5)
- 055 オシロをコントロールする(その6)
-
►
6月 2022
(13)
分類
- その他/雑談 (7)
- 環境構築/Python (5)
- 実機/オシロ (6)
- 実機/ファンクションジェネレータ (5)
- 紹介/Python (5)
- 紹介/PyVISA (12)
- 紹介/オブジェクト指向 (5)
- 紹介/スクリプト (10)
自己紹介
- メジャーメントラボ
- C++やC#を使って数値解析プログラムの開発を長年行ってきました.
今は,Pythonを使った自動処理システムの開発をメインに行っています.
0 件のコメント:
コメントを投稿