LabVIEWアドオンを開発する場合は、アドオンをLVAddonsを使用するように構成します。LVAddonsを使用すると、LabVIEWアプリケーションとアドオンを互いに独立してLabVIEWにアップグレードできます。

全体として、LVAddonsを使用するには、次の作業が必要です。

  1. 適切な構造のアドオンフォルダをLVAddonsに追加します。
  2. アドオンのJSONデスクリプタファイルを作成します。
  3. その他の要件および推奨事項に従います。

LabVIEWは、JSONデスクリプタファイルを使用して次のことを実行します。

  • アドオンを識別する
  • アドオンがサポートするLabVIEWの最小バージョンを定義する

LVAddonsで動作するようにアドオンを構成するには、次の手順を実行します。

手順13: アドオンのフォルダを構成します。
  1. LVAddons内に一意な名前のアドオンフォルダを作成します。
    推奨方法:
    • 長いパスで問題が発生するのを回避するため、短いフォルダ名を使用してください。
    • 名前の衝突を回避するには、会社のプレフィックスを使用してください。
    • 32ビットまたは64ビット専用のアドオンの場合は、それぞれ32または64を追加します。
  2. 作成したアドオンフォルダ内に、数値名のバージョンフォルダを追加します。
    たとえば、これらのフォルダには12などの名前を付けます。
    LabVIEWは、そのバージョンのLabVIEWをサポートするアドオンの中で最も新しいバージョンを使用します。
  3. アドオンファイルはこのバージョンフォルダに保存します。
    バージョンフォルダに以下のフォルダを含めることができます。
    • ヘルプ
    • instr.lib
    • manuals
    • メニュー
    • プロジェクト
    • ProjectTemplates
    • resource (resource\dialog\QuickDrop\pluginsはLabVIEW 2025 Q1以降でサポート)
    • Targets\NI\RT
    • Targets\win (LabVIEW 2023 Q3以降でサポート)
    • Targets\win32 (LabVIEW 2023 Q3以降でサポート)
    • Targets\win64 (LabVIEW 2023 Q3以降でサポート)
    • Targets\linux (LabVIEW 2023 Q3以降でサポート)
    • テンプレート
    • vi.lib
    • vi.lib\_probes

    これらのフォルダはLabVIEWフォルダ内のフォルダに対応します。

手順45: アドオンの互換性を定義するためにJSONデスクリプタファイルを作成します。
  1. 作成したバージョンフォルダ内にlvaddoninfo.jsonという新しいファイルを追加し、3つの必須属性を定義します。
    • AddonName: アドオンフォルダの名前と一致する必要があります。
    • ApiVersion: NIでは、vn (nはバージョンフォルダの番号) の使用を推奨します。
    • MinimumSupportedLVVersion: たとえば、24.0
      メモ NIでは、VIが旧バージョンのLabVIEWと互換性がある場合でも、この値を22.3以上に設定することを推奨します。LabVIEW 2022 Q3以前は、LVAddonsはLabVIEWでサポートされていませんでした。
    たとえば、これはLabVIEW VI Analyzer Toolkit用のlvaddoninfo.jsonファイルです。
    { "AddonName": "viawin", "ApiVersion": "v1", "MinimumSupportedLVVersion": "24.0"}
    LabVIEWは常に、特定のアドオンの中で互換性のある最新バージョンを使用します。
  2. オプション: lvaddoninfo.jsonでオプション属性を定義します。
    • SupportedBitness: 存在する場合、32または64に設定する必要があります。アドオンが32ビットと64ビットの両方をサポートする場合、この属性を省略してください。
      ヒント LabVIEW 2023 Q3以降では、SupportedBitness属性の代わりにTargetsフォルダを使用できます。
手順610: 他の要件や推奨事項に従ってください。
  1. シンボリックパスの解決済みパスの一覧を表示するには、関数「vi.lib\Utility\Symbolic Paths\Build and Resolve Symbolic Path.vi」を使用します。

    アドオンを開発している場合、システムに複数のアドオンのコピーが存在することがあります。LabVIEWがシンボリックパスをどのように解決するかを理解することで、どのアドオンのインスタンスが実行されているか理解できます。

    LVAddonsをサポートするLabVIEWバージョンでは、シンボリックパスの解決に次の優先順位が使われます。

    1. LabVIEWフォルダ
    2. LibraryPaths: トークン内の最初のパスが優先されます。
    3. アクティブLVAddons: 「シンボリックパスの作成と解決」を使ってシンボリックパスID<libdir>に設定し、実行します。すべての解決されたパスの出力リストの中で特定のアドオンの最初のインスタンスが優先されます。

    アクティブLVAddonsを選択する場合、LabVIEWは通常、現在のLabVIEWバージョンとビット数をサポートする最新バージョンのフォルダを使用します。同じアドオンバージョンが複数のLVAddonsに存在する場合、最後のアドオンが優先されます。

  2. LabVIEWファイル (VI、ライブラリ、クラス) の要件に従ってください。
    • LVAddons内のLabVIEWファイルでは、コンパイルコードをソースファイルから分離してください。
    • LabVIEWファイルの保存バージョンが、アドオンでサポートされる最小バージョンよりも前でないことを確認してください。
      ヒント LabVIEW 2024 Q3以降では、VI、ライブラリ、クラスを旧バージョンで簡単に保存できます。
  3. パックライブラリビルド (.lvlibp) の場合、LabVIEWの今後のバージョンでこのパックライブラリをロードできるようにするを有効にします。
    1. パックライブラリプロパティダイアログボックスを開きます。
      • ビルド仕様の下のパックライブラリ仕様名を右クリックし、プロパティ » 上級を選択します。
      • パックライブラリ仕様の名前をダブルクリックし、表示されるダイアログボックスで上級ページを選択します。
    2. 今後のLabVIEWバージョンでこのパックライブラリのロードを許可するを選択します。
  4. パックライブラリの場合、NIでは32ビットビルドと64ビットビルドをそれぞれTargetsフォルダに入れることを推奨します。
    メモ これらのTargetsフォルダは、LabVIEW 2023 Q3以降でサポートされます。
  5. LVAddonsの開発については、次のエディタの推奨事項に従ってください。
    • 構成トークンを使って、LVAddonsの代替や追加の場所を定義します。たとえば、この機能を使ってソース管理下にある場所でファイルを開発できます。
    • コマンドラインで構成ファイル (labview.exe -pref <構成ファイルへのパス>) を指定することで、プロジェクトごとに異なる構成を利用できます。
    • プロジェクトの構成ファイルをソース管理に格納してください。