NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

オシロスコープを使って一定時間ごとにデータをパソコンへ保存する方法が分かりません

解決済み
解決策を見る
オシロスコープ初心者の学生です。

オシロスコープで電圧値を測定し、一定時間ごとにその電圧値をオシロスコープからパソコンに転送し保存する方法を教えてほしいです。

オシロスコープはLecroyのwaveJet314を使用しており、パソコンはWindows7です。(オシロスコープはそれしかありませんでした)

オシロスコープはRS232でパソコンと接続しています。

10秒から1分程度の間隔でデータを保存したいです。

必要なデータは測定した時の時間と電圧値です。

Excelで管理したいので、バイナリ形式以外で保存したいです。

ネットを使ってしっかりと調べ、先生にも聞きましたが、(専門の先生がいないため)誰も分かりませんでした。

測定項目、測定時間ともに手動では時間的に不可能な量です。

初心者にも分かりやすいように教えてください!

よろしくお願いします。
0 件の賞賛
メッセージ1/6
8,142件の閲覧回数

 

プログラミング言語は何をお使いでしょうか。

 

 

 

0 件の賞賛
メッセージ2/6
8,134件の閲覧回数
解決策
トピック作成者akiraichiが受理

オシロスコープで電圧値を測定し、一定時間ごとにその電圧値をオシロスコープからパソコンに転送し保存する方法」

って、やりたいことまるっと全部ですよね・・・

 

学生さんとのことですが、問題点をもう少し整理、というか、分解された方が良いかと思います。

ネットでしっかり調べたとのことですが、今回やりたいことを全部やっているようなものを探してたりすると

確かに見つからないかも知れませんが、「部分的な工程」は、山ほどヒットするはずなのですが。

 

とりあえずLabVIEWであるとして、USB経由のRS-232Cシリアルポートを使っているとして、

 

●オシロとPCの通信は出来ているか

  USB-シリアルのポート番号は、コンピュータの「デバイスマネージャー」のCOMポートで確認してあるか。

  RS-232Cの通信設定の合わせ方(ボーレート、パリティとか)(リモートコントロールマニュアルに必ず書いてある)

  MAXなりで「*IDN?」コマンドをオシロに送って機種名が返ってくるまで設定試行錯誤(これが通らないことには通信できない)

  LabVIEWでは例えばVISAを使う。VISAでシリアル通信する方法も世の中には沢山あるかと・・・

  (サンプルにもなかったでしたっけ・・。実行するしないでなく、どう書いたらいいのかが分かります)

  VISAの場合は、VISAオープン、シリアル設定、VISA書き込みとVISA読み込みを繰り返し、最後にVISAクローズ、です。

  (VISA書き込みがオシロへコマンドを送ること、VISA読み込みがオシロの応答を受け取ることです)

 

●オシロの使い方は分かっているか

  手動では不可能な計測のようですが、時間とかは抜きにして、やりたいことを測るにはどうすればよいか(マニュアル読むなり)

  それを実現するコマンドは何を送れば良いか(リモートコントロールマニュアル読むなり)

  基本的にはLeCroyのマニュアルを読めば良いですが(LeCroyのサイトからダウンロードできます。

  普通の使い方と、コマンドを送ってコントロールするリモートコントロールマニュアルの2つあるようです)、

  分からない場合はLeCroyの技術者に聞くのが一番早いです。

  そもそもオシロそのものを手で使えるようになっていないと、PCからやるにしても何をしたらいいか分からないでしょう。

  PCからやるときも、人間がやるような操作をコマンドで送るわけですので。

 

●計測データの整形

  オシロの返答は、全部文字列になっているはずです。

  1点データではなく、データ群がまとまって返ってくる場合、一度、その長い文字列から数値データに

  直さないといけないことが多いです。

  文字列と数詞と配列関連の関数を、駆使して書くことになります。慣れないと難しいかも知れません。

  このへんは、純粋にLabVIEWのプログラミングの世界なので、この部分だけ抜き出して

  「こういう文字列をスタートにして、こういう数値データにするよう書いたが思ったようにデータが整形できない」

  と再度ここで質問すると、疑問が明確なので色々コメントもらえるかと・・

 

●計測の時刻の取得

  LabVIEWの関数(時間関連)の中に、現在時刻(ミリ秒単位)を得たり、日時文字列に変換したりする関数が備わっています。

  時間関連の関数の「ヘルプ」を片っぱしから読んでみましょう。

  日時文字列は、Excelで読んだときExcelでも日時文字列として認識してくれるよう変換します。

  関数をダイアグラムに適当に置いて、右クリックからヘルプを開けば関数の使い方が読めます。

  うまくいくか分からない場合は、試しに色々日時文字列に変換してみて、文字列をファイルに書き出して、

  それをExcelに読ませて思ったように読んでるか確認しましょう。

 

●ファイルへの書き出し

  Excelで扱うならcsvで書き出すのが一番簡単です。

  LabVIEWからデータ(数値または数値を文字列に整形したもの)をcsvで書き出す方法は、世の中に山ほど紹介されているはずです。

  元が数値だけの配列なら、関数一発でcsv化できます。

  今回は、A列が日時文字列になるのでしょうから、一旦データも含めて「文字列の2次元配列」にしてから

  「スプレッドシート文字列」に変換し、ファイルに書き出し、になると思います。

  ここも平易なLabVIEWのプログラミングの世界の話ですが、うまくいかない場合はそこだけ抜き出して質問してみましょう。

 

本当はもっと揃わないと組み上がりませんが・・・少なくともこのくらいに分解してみると、

全くカテゴリーの違うことを組み合わせないといけないことは分かるかと思います。

そのそれぞれを、調べてみて下さい。

メッセージ3/6
8,104件の閲覧回数
詳細な説明ありがとうございました。
言われた通り、問題点を部分ごとに分解して解決していくと上手くいきそうです。また、プログラミング以前に確認すべきことなど、大変勉強になりました。ありがとうございました。
0 件の賞賛
メッセージ4/6
8,059件の閲覧回数
返信ありがとうございました。Labviewで頑張っていこうと思います
0 件の賞賛
メッセージ5/6
8,022件の閲覧回数

手元にLabVIEWがないため、使い古しですが、

参考プログラムを添付します。

マルチメーターに電圧は?という文字列を送って、

返ってきた値を読んでいます。

「Write」のプログラムで、測定器に文字列を送って、

「Read」のプログラムで返ってきた値を表示させます。

LabVIEW-測定器のプログラムは、つまるところ、こういうことをしています。

 

マルチメーター、オシロに送る文字列(この場合は電圧は?という文字列)は、

説明書にあります。

 

・Lecroyなら、HP上にLecroy用のプログラムファイルがあったと思います。

 チェックしてみてください。ダウンロードしたファイルを解凍してistr だっけ、そんなようなフォルダに入れれば、

 LabVIEW上でプログラムを使うことができます。

・excelに保存、一定時間などの設定 は、本を一冊買ってやってみましょう。

 LabVIEWデータ集録プログラミング(小澤哲也、森北出版)なら、4章をやれば、上記のプログラムはできるようになります。

 集中すれば1日で読めなくもありません。

・RS232変換ケーブルをやめて、USBでつなぎましょう。

 USBのタイプA(PC側)⇔タイプB(Lecroy側)でつなげば、簡単につながります。

 RS232って、添付ファイルみたいに機器名表示されるかな?USBの方が、何かといい気がします。

 古いオシロならUSBがないかもしれません。

・本当にわかりましたか、分かってなかったらわかるまで質問してください。

 答えてあげます。

 周りにLabVIEW使える人がいない中で勉強するのは、大したことだと思います。

 ぜひ極めてください。

メッセージ6/6
7,976件の閲覧回数