※注: この例では、 VI パッケージ マネージャを使用してダウンロードできるOpenG ライブラリのVIを使用します。
VIの以前の実行からフロントパネルデータをプログラムでロードするには、2つのコードを実装する必要があります。ここで詳しく説明する最初の部分では、VIの実行の最後にフロントパネルデータを構成ファイルに書き込みます。 2 番目の部分は、VIの実行の開始時にその構成ファイルから値をロードします。
フロントパネルの値を設定ファイルに書き込む:

- パスをストリップ関数とパスを作成関数を現在のVIのパスと組み合わせて使用し、書き込みまたは作成する構成ファイルへのリファレンスを取得し、 構成データを開くVIを使用してそのリファレンスを開きます。
- プロパティ ノードを使用して、フロントパネルコントロールへの参照を取得します。まず、 VI サーバー リファレンスとプロパティ ノードを使用してフロント パネルへの参照を取得し、次に追加のプロパティ ノードを使用してフロント パネル コントロール(制御器[])への参照の配列を取得します。
- For ループを通じてこの参照配列にインデックスを付けます。各コ制御器について、プロパティノードを使用してその名前と値を抽出します。 「タイプ情報を取得」VIを使用して、制御器のデータタイプをプログラム的に取得します。
- データ型をケース構造のケースセレクターとして使用します。いずれの場合も、 「バリアントからデータに変換」関数を使用してデータを適切にフォーマットし、「 キーを書き込む」VIを使用してデータを構成ファイルに書き込みます。
- Forループの後、 「構成データを閉じる」VIを使用して構成ファイルへの参照を閉じます。
- プログラムの実行中に発生したエラーを管理するために、何らかの種類のエラー処理を組み込むことも推奨されます。この例では、 「シンプルエラー処理」VIを使用します。
記録された値がVIの実行終了時にフロントパネルに表示される値であることを確認するために、このコードがプログラムの最後で実行されるようにする必要があります。
構成ファイルからのフロントパネル値のロード

フロントパネルの値を構成ファイルからVIにロードするためにコードに加えることができる小さな変更が2つあります。
- For ループのそれぞれのケースで、「キーを書き込み」VI を「キーを読み取り」VI に変更します。この VI は多態性であるため、VIに選択されたデータタイプがケースのデータタイプと一致していることを確認してください。
- Forループの各ケースに追加のプロパティノードを追加します。制御器参照をこの新しいプロパティノードの参照入力に配線します。それを右クリックし、 「書き込みに変更」を選択します。 「キーを読み取り」VIのデータ出力を「Value」(値)プロパティの入力に配線します。
他のコードが実行される前に値が確実にロードされるように、このコードがプログラムの最初で実行されるようにする必要があります。
追加情報
関数>>プログラミング>>ファイルI/O>>構成ファイルVIにある構成VIを使用して、制御器と表示器の値を構成ファイルに書き込むことができます。これらのファイルはセクションのセットとして編成され、セクションヘッダーで指定され、それぞれに独自のキーと値のペアが関連付けられています。LabVIEWサンプルファインダには、読み取り構成設定ファイルと書き込み構成設定ファイルという2つのサンプルがあり、次の目的で使用できます。構成ファイル VI の使用方法については、こちらを参照してください。 LabVIEWサンプルファインダは、LabVIEWでヘルプ>>サンプルの検索...を選択すると表示されます。
VI から構成データを保存する代替手段もあります。たとえば、取得タスク用の複数のパラメータを含むクラスタを保存し、それらのパラメータの異なるセットを保持したい場合は、.ini ではなくXMLファイルを使用することに価値がある可能性があります。その他の構成ファイル オプションには次のものがあります。
- JSON (JavaScript オブジェクト記法)
- CSV (カンマ区切り値)
- バイナリ (ディスクにストリーミングされる生データ)
LabVIEWの組み込み関数を使用して、上記のいずれかのファイルタイプで構成データストレージを実装できます。