05-09-2016 05:36 AM
解決済! 解決策の投稿を見る。
05-09-2016 11:45 AM
プログラミング言語は何をお使いでしょうか。
05-11-2016 08:27 AM
「オシロスコープで電圧値を測定し、一定時間ごとにその電圧値をオシロスコープからパソコンに転送し保存する方法」
って、やりたいことまるっと全部ですよね・・・
学生さんとのことですが、問題点をもう少し整理、というか、分解された方が良いかと思います。
ネットでしっかり調べたとのことですが、今回やりたいことを全部やっているようなものを探してたりすると
確かに見つからないかも知れませんが、「部分的な工程」は、山ほどヒットするはずなのですが。
とりあえず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のプログラミングの世界の話ですが、うまくいかない場合はそこだけ抜き出して質問してみましょう。
本当はもっと揃わないと組み上がりませんが・・・少なくともこのくらいに分解してみると、
全くカテゴリーの違うことを組み合わせないといけないことは分かるかと思います。
そのそれぞれを、調べてみて下さい。
05-12-2016 03:41 AM
05-14-2016 01:46 AM
05-16-2016 07:40 PM
手元にLabVIEWがないため、使い古しですが、
参考プログラムを添付します。
マルチメーターに電圧は?という文字列を送って、
返ってきた値を読んでいます。
「Write」のプログラムで、測定器に文字列を送って、
「Read」のプログラムで返ってきた値を表示させます。
LabVIEW-測定器のプログラムは、つまるところ、こういうことをしています。
マルチメーター、オシロに送る文字列(この場合は電圧は?という文字列)は、
説明書にあります。
・Lecroyなら、HP上にLecroy用のプログラムファイルがあったと思います。
チェックしてみてください。ダウンロードしたファイルを解凍してistr だっけ、そんなようなフォルダに入れれば、
LabVIEW上でプログラムを使うことができます。
・excelに保存、一定時間などの設定 は、本を一冊買ってやってみましょう。
LabVIEWデータ集録プログラミング(小澤哲也、森北出版)なら、4章をやれば、上記のプログラムはできるようになります。
集中すれば1日で読めなくもありません。
・RS232変換ケーブルをやめて、USBでつなぎましょう。
USBのタイプA(PC側)⇔タイプB(Lecroy側)でつなげば、簡単につながります。
RS232って、添付ファイルみたいに機器名表示されるかな?USBの方が、何かといい気がします。
古いオシロならUSBがないかもしれません。
・本当にわかりましたか、分かってなかったらわかるまで質問してください。
答えてあげます。
周りにLabVIEW使える人がいない中で勉強するのは、大したことだと思います。
ぜひ極めてください。