From Saturday, Nov 23rd 7:00 PM CST - Sunday, Nov 24th 7:45 AM CST, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Community Documents

cancel
Showing results for 
Search instead for 
Did you mean: 

RT FIFOを有効にした際のシェア変数の動作

概要

RT FIFOを有効にしたシェア変数で、配列の数と要素数の関係について解説します。

 

詳細

シェア変数ではRT FIFOを有効化して、データを確定的に共有することができます。

LabVIEWシェア変数を使用する

 

シェア変数が扱えるデータタイプはいくつかありますが、配列を使用する場合、

RT FIFOの設定は下記のようになります。

test.JPG

 

FIFOタイプは

・単一要素

・マルチ要素

と2種類あり、それぞれの違いはこちらをご覧ください。

シェア変数を使用してデータを共有する(Real-Timeモジュール)

 

今回の場合データを損失なく確定的に共有したいため、マルチ要素を指定します。

このとき、

・配列の数

・要素数

を指定する必要がありますが、実際にどういった項目に関係があるのか、

資料を見ても分かりにくいかと思います。

この設定項目を理解いただくため、サンプルプログラムを用意しました。

 

 

実行方法

添付のサンプルを開いて、「配列.vi」を実行してください。

RT FIFOの設定は上記のようになっています。

配列の数・・・3

要素数・・・・・5

 

まず「書く」ボタンを4回押してください。

4回目に、「書き込みエラー」表示器に"-2221"、バッファオーバフローのエラーが発生します。

このことから、「配列の数」はFIFOのサイズに等しいことが分かります。

 

その後「読む」ボタンを押してください。

読み取ったデータが表示器に表示されます。

表示される配列は5つしか要素がありません。

このことから「要素数」は、FIFO内部で保持する配列の最大サイズに等しいことが分かります。

 

設定を色々変更いただき、動作についてご確認ください。

 

必要なもの

ソフトウェア

LabVIEW 2012以降

 

res.png