11-08-2021 12:19 AM
ExcelファイルのデータをLabVIEWで解析したいのですが、データの解析がうまくいきません。
一番上のデータしか遅れていないようです。
解決方法がわかる方、よろしくお願いいたします。
解決済! 解決策の投稿を見る。
11-08-2021 03:46 AM
「計測ファイルから読み取る」Express VIで読んでいるのはlvmファイルですね。「Excelファイル」という場合はxlsやxlsx、csvやタブ切りtxtなどを思い浮かべます。
lvmファイルで合っているという前提で話を進めると・・・
「配列次元変更」関数でサイズが1では先頭のデータ1個だけしか取り出せません。「指標配列」関数と間違えていませんか?
それだけで解決しなければ、サンプルのlvmファイルを添付してください。
11-08-2021 07:53 PM
回答して頂き、ありがとうございます。
プログラムの変更をしてみたのですが、うまくいきません。
lvmファイルの添付が「ファイル拡張子に一致しないため」という理由で添付できない状態です。申し訳ありません。
重ねて質問させていただきたいのですが、先ほどのプログラムでテキストファイルの解析をするためには、どこを変更すればよいのでしょうか?
上のループで「sd」、下のループで「rd」の解析を目的としています。
よろしくお願いいたします。
11-08-2021 08:51 PM
sd.txtとrd.txtは16ビットバイナリ表現のデータが並んでいると考えていいですね。
Whileループの意図や、Forループで文字列として連結している意味がわからないのですが・・・プログラムの目的は、データを1行ずつデコードして1ファイル分のグラフを描く、ということでいいですか?
lvmファイルはzipにまとめたら添付できませんか?
11-08-2021 10:04 PM
COMSという小型電気自動車から測定したデータを解析するためのプログラムをwhileループで作成しています。
ForループはCOMSで測定したデータ1とデータ2を一つにまとめるために作成しました。
説明が分かりにくくてすみません。
zipファイルでlvmファイルとプログラムの簡単なフローチャートを添付します。
プログラムの目的はWatsonさんのおっしゃる通りです。
11-09-2021 06:49 AM
lvmファイルを見てわかりました。2列の8ビットデータを16ビットにまとめようとしたのですね。
VIの問題点はいくつかありますが・・・
・「計測ファイルから読み取る」Express VIは16進表記の文字列を正しく読めません。
・ 2D配列の扱いがうまく理解できていないように見えます。
・ Whileループで同じデータを延々繰り返すだけになっていて、各行の処理になりません。
・ 停止ボタンの扱いがまずいため、SD側が停止ボタンで止まった後に、RD側が1回だけ実行されます。
・ バイナリデータは整数としてビット演算を使うと簡潔にできます。
文章で説明すると時間がかかるので、私が予想できる範囲でVIを作りました。結果が正しいかどうかは判断できませんが、何かの参考にはなると思います。
11-09-2021 09:04 AM
VIまで作成していただき、ありがとうございます。こちらのVIを参考にし、理解できるようにします。
ご迷惑をおかけしました。
何か不明な点が出てきましたら、またよろしくお願いいたします。