VIをRTターゲットにデプロイして実行する
- 更新日2025-02-20
- 9分で読める
デプロイとは、VIとその依存ファイルをRTターゲットにダウンロードすることを意味します。ターゲットの下にあるVIを実行すると、VI、VIの実行に必要なすべての項目、およびターゲット設定がRTターゲットにデプロイされます。
プロジェクトエクスプローラウィンドウからVIをデプロイする
プロジェクトエクスプローラウィンドウでは、RTターゲットの下にVIや依存ファイルを追加できます。RTターゲットに特定の項目とそのサポートファイルをデプロイするには、プロジェクトエクスプローラウィンドウでターゲットを右クリックし、ショートカットメニューからデプロイを選択します。
RTターゲットでのデプロイ先場所
RTターゲットで、ディスクにダウンロードされる項目とメモリにダウンロードされる項目を以下の表に示します。
| 項目 | ダウンロード先 |
|---|---|
| プロパティ、設定、ビルドアプリケーション | ディスク |
| VI、ライブラリ、共有ライブラリ | メモリ |
LabVIEWクラスを使用する、またはメンバーVIを呼び出すVIをデプロイする
LabVIEWクラスを使用するVIまたはメンバーVIを呼び出すVIをデプロイすると、アプリケーションで参照されたVIおよびクラスのみがターゲットにデプロイされます。デプロイされたVIがダイナミックディスパッチメンバーVIを参照する場合、派生クラスのダイナミックディスパッチメンバーVIをオーバーライドするすべてのVIもデプロイされます。
自動変数デプロイメントを無効にする
デフォルトでは、VIを実行すると、そのVIが参照するI/O変数を含むすべてのシェア変数が自動的にデプロイされます。状況によっては、この自動変数デプロイメント機能を無効にしたほうが便利な場合もあります。自動変数デプロイメントを有効にする場合と無効にする場合の例を以下の表に示します。
| 自動変数デプロイメント | 使用例 | 利点 |
|---|---|---|
| 有効 | VIを開発している場合。 | VIが参照する変数を別にデプロイしたりデプロイし直すことなく、実行ボタンを押すことでVIを実行できます。 |
| 無効 | スタートアップVIを実行しているRTターゲットでホストされている変数を参照するホストVIを実行する場合。 | デプロイの競合を招くことなく、ホストVIを実行できます。 |
ホストコンピュータまたはRTターゲットの自動変数デプロイメントを無効にするには、プロジェクトエクスプローラウィンドウでホストコンピュータまたはRTターゲットを選択し、ショートカットメニューから変数の自動デプロイを無効化を選択します。
コンパイルオブジェクトキャッシュ
LabVIEWはデプロイされたVI用にコンパイルされたコードをコンパイルされたオブジェクトキャッシュ内に保存します。VIを編集して再度デプロイした場合、LabVIEWはコンパイルされたオブジェクトキャッシュを更新します。
RTターゲットVIのフロントパネルにアクセスする
RTターゲットにデプロイされたVIのフロントパネルには、そのRTターゲットに接続するとアクセスできます。
接続する―ターゲットとフロントパネル接続を確立するには、プロジェクトエクスプローラウィンドウでRTターゲットを右クリックし、ショートカットメニューから接続を選択します。RTターゲットのメモリにあるVIのフロントパネルが開きます。フロントパネルを閉じると、ターゲットのメモリからVIが削除されます。
接続を解除する―プロジェクトエクスプローラウィンドウでRTターゲットを右クリックして、ショートカットメニューから接続解除を選択すると、ターゲットとの接続は解除されますが、VIはターゲットで実行を継続するか、メモリに残ります。
CompactRIOターゲットの設定をデプロイする
I/Oシャーシに接続されたCompactRIOターゲットへの設定のデプロイメントには、3つの領域が関連します。
- プロジェクト―LabVIEWプロジェクトで構成されたターゲット設定。
- ターゲット―ターゲットにデプロイされているターゲット設定。
- シャーシ―シャーシに接続された物理I/Oモジュール。
プロジェクト、ターゲット、シャーシ構成間の同期を維持する
シャーシスロットのモジュールを追加、削除、変更すると、プロジェクト、ターゲット、シャーシ間の構成の同期が失われる可能性があります。
- I/Oモジュールを追加する―空きシャーシスロットにモジュールを追加する場合、同期を維持するためには、プロジェクトに新しいモジュールを追加し、その新規プロジェクト項目をターゲットにデプロイする必要があります。プロジェクトエクスプローラウィンドウでシャーシ項目を右クリックして新規→Cシリーズモジュールを選択すると、ターゲットとデバイスを追加ダイアログボックスが開き、新しく接続されたモジュールを検出してプロジェクトに追加することができます。プロジェクトに新しく追加したモジュールを右クリックしてデプロイを選択すると、新しい構成でターゲットと同期します。プロジェクトに複数のモジュールを追加した場合は、シャーシ項目を右クリックしてデプロイすることですべてのモジュールを一度にターゲットにデプロイできます。
- I/Oモジュールを削除する―シャーシスロットからモジュールを削除する場合、同期を維持するためには、プロジェクトエクスプローラウィンドウでモジュールを右クリックし、デプロイ解除を選択してターゲットからモジュール設定を削除します。さらに、プロジェクトからモジュールを削除します。
- I/Oモジュールのタイプを変更する―プロジェクト内のモジュールのシャーシスロットが、実際のCompactRIOシャーシのスロットと異なる場合、プロジェクトエクスプローラウィンドウのモジュール項目を右クリックして、ショートカットメニューからデプロイ解除を選択します。続いて、プロジェクトエクスプローラウィンドウでシャーシを右クリックし、ショートカットメニューから新規→Cシリーズモジュールを選択してターゲットとデバイスを追加ダイアログボックスを開きます。ターゲットとデバイスを追加ダイアログボックスで、新しく接続されたモジュールを検出してプロジェクトに追加します。
NIスキャンエンジンデプロイメントのトラブルシューティング手順
NIスキャンエンジンに依存する機能のデプロイメント中に問題が発生した場合は、以下の手順でトラブルシューティングすることができます。
- NIスキャンエンジンをインストールして初期化する―NIスキャンエンジンを使用する項目または設定をデプロイするためには、そのRTターゲットにNIスキャンエンジンをインストールする必要があります。NIスキャンエンジンがインストールされたターゲットを起動または再起動した直後は、NIスキャンエンジンの初期化が終了するまで待機し、その後デプロイメントを開始する必要があります。
- デプロイメントを強制する―ターゲットとの通信を最低限に抑えるために、前回のデプロイ時と設定が異なるI/OモジュールとI/O変数だけがデプロイされます。したがって、ターゲットに情報が送信されず、同期していないにも関わらず、デプロイメント操作が正常に実行されたように見えたり、「デプロイするものがありません」というメッセージが表示される場合があります。ターゲット、プロジェクト、シャーシの同期について問題が繰り返し発生する場合は、強制デプロイメントを行ってください (I/O項目をデプロイ解除し、再度デプロイする)。
- NIスキャンエンジンの設定を消去する―強制デプロイメントでも問題が解決しない場合は、デプロイ済みのNIスキャンエンジンの設定をターゲットから消去する必要がある可能性があります。NIスキャンエンジンの設定を消去するには、ターゲットへのFTP接続を確立して、ターゲットのni-rt/config/ディレクトリからすべてのファイルを削除します。(NI Linux Real-Time) ターゲットへのSSH接続を確立して、/var/local/natinst/deployfwk/config/ディレクトリからすべてのファイルを削除します。適切なディレクトリが空の状態でターゲットを再起動し、プロジェクトエクスプローラウィンドウでターゲットを右クリックしてショートカットメニューから接続を選択して、ターゲット設定を再デプロイします。
- ターゲットを再フォーマットする―上記の手順で問題が解決しない場合は、ターゲットを再フォーマットしてソフトウェアを再インストールする必要があります。ターゲットへのソフトウェアの再インストール完了後は、ターゲットへの再デプロイメントを問題なく実行できるはずです。