LabVIEWでバイナリファイルから配列を読み取ると空の配列かエラー1が発生する

更新しました Aug 1, 2019

使用製品

Software

  • LabVIEW Full

問題

LabVIEWのバイナリファイルに書き込む関数を使用してバイナリファイルに配列を書き込んでいます。そして、プログラムの後半でバイナリファイルを開き、バイナリファイルから読み取る関数を使用してバイナリデータをLabVIEWに読み戻します。
バイナリファイルから配列を読み取りたいので、バイナリファイルから読み取る関数のデータタイプ入力端子に配列定数を配線し、データ出力端子に配列表示器を配線してデータを確認しようとしています。
 

VIを実行すると、表示器に空のデータ配列が表示されるか、エラー1(入力パラメータが無効です)が発生します。バイナリファイルからデータを読み取れないのはなぜですか?

解決策

バイナリファイルから特定のデータタイプの配列を読み取りたい場合、
 

  1. バイナリファイルから読み取る関数のデータタイプ入力端子に、配列ではない単一データタイプ(数値、文字列、クラスタなど)の定数を配線します。これにより、バイナリファイルから読み取る関数に対してバイナリファイルがどのようなデータタイプで構成されているかを伝えます。
     
  2. 読み取るファイルサイズをバイナリファイルから読み取る関数のカウント入力端子に配線します。これにより、単一要素ではなくデータ配列を読み取ることを伝えます。


メモ: バイナリファイルから2次元配列を読み取る場合でも、上記と同じ手順を行います。ただしmバイナリファイルから読み取る関数から返されるデータは1次元配列になります。 そのため、配列次元変更関数を使用して2次元配列に戻す必要があります。

追加情報

LabVIEWサンプルファインダ(ヘルプ>>サンプルを検索...)の基本機能>>ファイル入力と出力>>バイナリバイナリファイルに書き込む関数やバイナリファイルから読み取る関数を使用したサンプルコードがあります。

この記事はお役に立ちましたか?

いいえ