LabView での CSV 出力
LabView で積算したデータ(1次元配列)を何本かまとめて CSV 出力するお話。
ラボ内で共有するために説明用 VI 作ったのでそれ貼り付けて終わりにする。
ブロックダイアグラム
途中で「スプレッドシートに書き込む」VI によって出力ファイル先をよこせと出てくる。
いちいちバンドル化しているのは測定用 VI を意識しているためです。
この VI 自体にはわざわざバンドル化する必要性は一切ありません。
▲ ただ単にデータを用意してるだけ。
▲ 配列長をある大きさにして増やした分は NaN で初期化したいがわざわざ for 使わんと無理かな…。*1配列用の制御器でどうにかならんものか。
※ max_len のローカル変数の使い方はあまり適切ではありません。ここは普通に配線を使うかシーケンスなどで順番を明示しないと場合によっては変な動作する可能性があります。 (追記 2014-12-06) 修正しました。
▲ 「配列からスプレッドシート文字列に変換」関数を用いたほうが簡単に文字列でも取り出せるし俺好みかな。まあこれ自体は完全に好みと要求する仕様の問題か。
なお、転置させないと各行がそれぞれの物理量と対応する。
偉そうに「f.close() 入れろ」って書きましたが本当に要るかは知りません。C とかやってると必須なのでそのノリで書きました。
フロントパネル
File Path はスクリーンショット取る前に消しました。
▲ お目当ての形式が得られた。
*1:配列次元変更関数は 0 で初期化する。これでは測定データか否かがわからない。この VI では一度配列次元変更関数で大きさをいじって増やした要素を NaN で置換している。