今回は,横河社製オシロで取り込んだ波形データをPCに転送できるようになった対処法を紹介します.
試行錯誤した結果,波形データの取り込みを一旦停止した状態だと,オシロから波形データを転送できることが分かりました.波形データを取り込み中の状態だと,波形データをPCに転送できなかったのです.
残念ながら,(サンプルプログラムも含めて)技術資料には,そのような記述を読んだ記憶がありません(どこかに記述してあるのかもしれません)し,別の対処法があるのかもしれません.
しかしながら考えてみれば,(リアルタイムに変化がある)波形データを取り込み中に,その波形データをPCに同時に転送するには無理があります.従って,波形データを転送するには,一旦,波形データの取り込みを中止するのは当然なのかもしれません.
ただ言い訳になりますが,そうであれば,あのエラーメッセージは,どうにかしてほしいと思います.
「応答の送信が中断されました云々」
では,別の原因があると推測しても,おかしくないです(という言い訳です).
気を取り直して,オシロの波形データの取り込みを停止するSCPIコマンドを追加ました(転送した波形データの値を確認した訳ではありません.Binaryデータで転送したので,実際の値ではなく,2バイトの整数値に正規化された値となっており,後で,エヌエフ回路設計社のファンクション・ジェネレータで出力した波形データに一致しているかどうか,詳しく判定する必要があります.ここでは,何かしら波形データとみなされるデータが転送できたことが確認できたレベルです).
さらなる検討項目として,PCに転送する波形データのサイズ(データ数)を大きくして,その動作確認を行っていきます.
勘の良い人は気づくと思いますが,転送する波形データのサイズを大きくしてゆくと,色々対処しなくては行けない問題点が出てきます.
実は,エヌエフ回路設計社のファンクション・ジェネレータで任意波形データの設定を行うケースでも,対処内容は異なりますが,やはり,任意波形データのサイズを大きくしていくと,対処しなくてはならないことが出てきました.
今は対処済みで,ファンクション・ジェネレータで取り扱うことのできる最大データ数の1048576個のデータまで設定できることを確認しています.
今回は,オシロで取り組んだ波形データをPCに転送するという,ファンクション・ジェネレータに任意波形データを設定するケースよりも,より多くの人が行うであろうシチュエーションのため,少しばかり詳細に紹介します(但し,あくまで横河社製の特定のオシロに対してです).
次の投稿では,PyVISAパッケージを使ったPythonスクリプトの紹介の前に,横河社が提供しているDLLライブラリを使った波形データの転送方法について,簡単に紹介します.
(DLLライブラリの関数を呼び出すのですが,PyVISAパッケージが提供するBinaryデータの転送関数を使うよりも,波形データを処理する手間が多くなる反面,処理内容を把握するためには適しています)
0 件のコメント:
コメントを投稿