NI製品ディスカッション

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

LabVIEW2018でExcelファイルのデータを解析する方法について

解決済み
解決策を見る

ExcelファイルのデータをLabVIEWで解析したいのですが、データの解析がうまくいきません。

一番上のデータしか遅れていないようです。

 

解決方法がわかる方、よろしくお願いいたします。

0 件の賞賛
メッセージ1/7
994件の閲覧回数

「計測ファイルから読み取る」Express VIで読んでいるのはlvmファイルですね。「Excelファイル」という場合はxlsやxlsx、csvやタブ切りtxtなどを思い浮かべます。

 

lvmファイルで合っているという前提で話を進めると・・・

「配列次元変更」関数でサイズが1では先頭のデータ1個だけしか取り出せません。「指標配列」関数と間違えていませんか?

それだけで解決しなければ、サンプルのlvmファイルを添付してください。

メッセージ2/7
979件の閲覧回数

回答して頂き、ありがとうございます。

 

プログラムの変更をしてみたのですが、うまくいきません。

 

lvmファイルの添付が「ファイル拡張子に一致しないため」という理由で添付できない状態です。申し訳ありません。

 

重ねて質問させていただきたいのですが、先ほどのプログラムでテキストファイルの解析をするためには、どこを変更すればよいのでしょうか?

 

上のループで「sd」、下のループで「rd」の解析を目的としています。

 

よろしくお願いいたします。

すべてをダウンロード
0 件の賞賛
メッセージ3/7
963件の閲覧回数

sd.txtとrd.txtは16ビットバイナリ表現のデータが並んでいると考えていいですね。

Whileループの意図や、Forループで文字列として連結している意味がわからないのですが・・・プログラムの目的は、データを1行ずつデコードして1ファイル分のグラフを描く、ということでいいですか?

 

lvmファイルはzipにまとめたら添付できませんか?

0 件の賞賛
メッセージ4/7
959件の閲覧回数

COMSという小型電気自動車から測定したデータを解析するためのプログラムをwhileループで作成しています。

ForループはCOMSで測定したデータ1とデータ2を一つにまとめるために作成しました。

 

説明が分かりにくくてすみません。

zipファイルでlvmファイルとプログラムの簡単なフローチャートを添付します。

 

プログラムの目的はWatsonさんのおっしゃる通りです。

0 件の賞賛
メッセージ5/7
957件の閲覧回数
解決策
受理者 yoshilab

lvmファイルを見てわかりました。2列の8ビットデータを16ビットにまとめようとしたのですね。

VIの問題点はいくつかありますが・・・

・「計測ファイルから読み取る」Express VIは16進表記の文字列を正しく読めません。

・ 2D配列の扱いがうまく理解できていないように見えます。

・ Whileループで同じデータを延々繰り返すだけになっていて、各行の処理になりません。

・ 停止ボタンの扱いがまずいため、SD側が停止ボタンで止まった後に、RD側が1回だけ実行されます。

・ バイナリデータは整数としてビット演算を使うと簡潔にできます。

 

文章で説明すると時間がかかるので、私が予想できる範囲でVIを作りました。結果が正しいかどうかは判断できませんが、何かの参考にはなると思います。

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

VIまで作成していただき、ありがとうございます。こちらのVIを参考にし、理解できるようにします。

 

ご迷惑をおかけしました。

 

何か不明な点が出てきましたら、またよろしくお願いいたします。

0 件の賞賛
メッセージ7/7
930件の閲覧回数