構成ファイルから配列やクラスターを読み書きすると不正な値やエラーが発生する

更新しました Mar 18, 2026

使用製品

ソフトウェア

  • LabVIEW

問題

配列やクラスターなどの複雑なデータ型を非平坦化すると、一部の値が正しく表示されなかったり、コントロールが更新されない、または誤った値で更新されることがあります。
構成ファイル VIを使用して、配列やクラスターといった複雑なデータ型を正しく読み書きするにはどうすればよいですか。

解決策

ファイルI/Oパレットにある構成ファイルVIは、配列やクラスタで動作するように設計されていません。キーを読み取る関数キーを書き込む関数は多態 VI ですが、対応しているデータ型はBoolean、Double、I32、U32、String、Pathのみです。

配列やクラスターといった複雑なデータ型を読み書きするには、関数パレットのプログラミング>>文字列>>文字列を平坦化/非平坦化パレットにある「XMLに平坦化」関数を使用できます。この関数に任意のデータ型を入力すると、XML 形式の文字列へ変換できます。変換されたXML 文字列はキーを書き込む関数を使って構成ファイルに書き込みます。構成ファイルから値を読み取る場合は キーを読み取る関数を使用し、読み取った XML文字列を XMLから非平坦化関数で配列またはクラスターに戻します。 

 

追加情報

「JSONへの平坦化/非平坦化」関数もXML関数と同様に利用できます。「文字列に平坦化/文字列から非平坦化」関数も使用できますが、データ構造が人間にとって読めない形式になるため、読みやすさを考慮する場合は XML 形式または JSON形式の使用を推奨します。