|
現在RTプロジェクトを開発しているのですが、RTターゲットでVIを実行させる際に、プロジェクトを開き、ターゲット内のVIをデプロイさせる動作が自動で行われるようにしたいと思っています。
このデプロイの動作をプログラム的に行うことは可能でしょうか。
RTプロジェクトのターゲットに対してプログラム的にデプロイを行う動作は、制御器パレット内にあるインボークノードとプロパティノードを組み合わせて使うことで可能です。
まず、ブロックダイヤグラム上にパレットからインボークノードを配置します。この時、クラスが「アプリケーション」になるようにします。クラスを変更するにはインボークノードを右クリックし、「クラスを選択」から選択します。インボークノードのメソッドは、プロジェクト→開くを選択します。
開かれたプロジェクトのリファレンスをプロパティノードに渡します。プロパティにはターゲットを選択します。これによりプロジェクト内に含まれるターゲットのリファレンスが配列として出力されます。
指標配列関数によって、該当するターゲットのリファレンスを取り出し、それをさらに別なプロパティノードに与えます。このプロパティとして名前を選ぶことで、選択したリファレンスが該当するターゲットのものであるかを確認することができます。さらにプロパティとして子[]を選択します。これによりターゲット内に含まれるファイルなどのリファレンスが配列として返されます。
再度、指標配列関数を用い、ターゲットに含まれる子の中から該当のVIのリファレンスを指定します。こちらも選択したリファレンスをプロパティノードに与え、名前を確認することができます。さらにプロパティとしてVIリファレンスを選択し、その出力をインボークノードに渡します。メソッドとしてVIを実行を選択することで、プロジェクトを開き、ターゲット内のVIを選択して実行し、デプロイされるという動作がプログラム的に行われます。
添付のサンプルはLabVIEW8.6にて作成されています。
|