シェア変数を作成すると、シェア変数ノードを使用してVIからシェア変数データにアクセスできます。シェア変数ノードは、プロジェクトエクスプローラウィンドウのシェア変数を参照するブロックダイアグラムオブジェクトです。シェア変数ノードを使用して、シェア変数への値の読み書きを行います。シェア変数ノードを作成するには、プロジェクトエクスプローラウィンドウのシェア変数をVIのブロックダイアグラムへドラッグします。

また、データ通信パレットのシェア変数ノードをブロックダイアグラムに配置することもできます。ブロックダイアグラムに配置したシェア変数ノードをアクティブなプロジェクトのシェア変数にバインドするには、シェア変数ノードを右クリックしてショートカットメニューから変数を選択→参照を選択し、変数を参照ダイアログボックスを開きます。ツリー表示からシェア変数を選択して、OKボタンをクリックします。

デフォルトでは、シェア変数ノードは読み取りに設定されています。ブロックダイアグラム上のシェア変数ノードに書き込むように変更するには、シェア変数ノードを右クリックしてショートカットメニューから書き込みに変更を選択します。

RTターゲットでデータをローカル共有する

1つのブロックダイアグラム内のワイヤで接続できない2か所、またRTターゲットで実行される2つのVIの間でデータを共有するには、Real-Time FIFOを有効にした単一プロセスシェア変数を使用します。シェア変数のReal-Time FIFOを有効にすると、ブロックダイアグラムまたはRTのVIの確定的なセクションからのデータを、確定性を損なうことなく共有できます。

以下のブロックダイアグラムは、2つのタイミングループによって波形データを集録してデータをファイルにログするRTターゲットVIです。このVIでは、Real-Time FIFOを有効にした単一プロセスシェア変数RT_Single-Processによって、「確定的集録ループ」という確定的タイミングループと「データロギングループ」という優先度が低いタイミングループの間でデータを共有しています。シェア変数のReal-Time FIFOを有効にすると、「確定的集録ループ」はデータ収集の確定性を損なうことなく「データロギングループ」とデータを共有できます。

リモートターゲットとデータを共有する

異なるターゲットのVI間でデータを共有するには、Real-Time FIFOを有効にしたネットワーク共有シェア変数を使用します。シェア変数のReal-Time FIFOを有効にすると、確定的VIのデータを、VIの確定性を損なうことなくネットワークで共有できます。

以下のブロックダイアグラムは、RTターゲットのVIを停止するためにブール値をパブリッシュする、ホストコンピュータVIです。ホストVIは、Real-Time FIFOが有効なネットワーク共有シェア変数RT_Network-Publishedにブール値を書き込みます。

シェア変数のReal-Time FIFOを有効にすることで、以下のブロックダイアグラムの「確定的集録ループ」はデータ収集の確定性を損なうことなく、ネットワークからデータを受信することができます。また、Real-Time FIFOが有効なネットワーク共有シェア変数を使用して「確定的集録ループ」のデータを共有することもできます。