サンプルコードとドキュメント

RTターゲット上シェア変数の自動更新

コードとドキュメント

添付

概要

RTターゲット上にデプロイ済みのシェア変数について、ホスト側からデプロイを行うことで自動更新をさせます。

詳細

例えば初期のシェア変数構成が下記のように3種類あったとします。

First_Conf.png

シェア変数は

- New_One

- VariA

- VariB

の3種類です。分散システムマネージャからは下記のように見えています。

First_Dist.png

既知の3つのシェア変数が見えているので、特に問題はないですね。

ここでNew_Oneのシェア変数を削除して、ターゲットに接続、リアルタイムアプリケーションを再度スタートアップとして実行してみます。

Second_Conf.png

このとき分散システムマネージャは下記のように、以前のNew_Oneシェア変数が残った状態になります。

Second_Dist.png

新しくシェア変数を追加した、または削除した場合はライブラリのデプロイが必要です。

プロジェクトエクスプローラ上でライブラリをデプロイする方法が最も簡単ではありますが、

このサンプルではホスト側からプログラム的にライブラリのアンデプロイ・デプロイを行い、シェア変数を自動更新させます。

手動、プログラム的なデプロイの詳細についてはこちらの資料をご覧ください。

Programmatically Deploying a Shared Variable on a Real-Time Target

ただ手元の確認では プログラム的なデプロイだけでは削除されたシェア変数がターゲット上にまだ残った状態でした。

そのため下記のサンプルでは、一度ライブラリをアンデプロイすることで、削除済みのシェア変数をターゲット上から削除します。

下記ではNew_Oneの削除と、新しくAddという名前のシェア変数を追加しています。

New_Conf.png

ホストからターゲットのIPを指定してサンプルVIを実行すると、分散システムマネージャでは下記のように、

新しいライブラリ内のシェア変数のみが表示された状態となります。

New_Dist.png

※※ プロジェクトエクスプローラ上のライブラリを変更した場合、ライブラリを上書き保存することを忘れないでください

Sample.png

実装・実行方法

サンプルをダウンロードして、お使いのアプリケーションに適用して下さい

必ずご使用の前には、ご自身での動作確認をお願いします。

必要なもの

ソフトウェア

LabVIEW 2013以降

ハードウェア

Real-Timeターゲット

NIコミュニティのサンプルコード交換のサンプルコードは、MIT Licenseによりライセンス供与されています。

寄稿者