NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

タイミングループが設定周期より早く回る

RTアプリケーションを開発していますが、タイミングループが設定どおりに回らずに困っています。

タイミングループの周期を1000msに設定し、ループの中にRT FIFO読み取りをタイムアウト900msで置くと、タイミングループはほぼ900msで回ります。ループの中の律速はRT FIFOのタイムアウトで、タイムアウトになると1000msを待たずに次のループに行ってしまいます。

これはバグでしょうか?

0 件の賞賛
メッセージ1/3
2,898件の閲覧回数

iShun さん 

 

こういうことですよね??ループレート確認すると、RT FIFO読み取り900msecなら
1000msecおきにループ回ってますけどねぇ・・・ 作成したプログラムってこんな感じですよね?
ちなみに、ハードウェアはPXI-8106RTで、ソフトはLabVIEW2010RTです。

 

 

Lonestar

 

0 件の賞賛
メッセージ2/3
2,868件の閲覧回数

Lonestarさま

 

ありがとうございます。

原因をもう少し詰めてから投稿すればよかったと反省しています。

私も同様なプログラムで確かめてみましたが、そのプログラムでは問題なく動きました。

開発しているプログラムでは、条件によって次のループの周期を変えるようになっています。

あと、「間に合わなかった周期を無視」のチェックを外しています。

条件によってRT FIFOのタイムアウトを-1に設定して、データが書き込まれたときだけ回るようにしたいからです。

つまり、ループ内部のRT FIFOのタイムアウトによって、タイミングループの周期で回すか、RT FIFOの読み取りタイミングで回すかを制御したい訳です。

他の要素もあるかもしれませんが、そのようなことをするとタイミングループが思った通りの周期で動かなくなります。もちろん、タイミングループの実際に設定されている周期とRT FIFOのタイムアウトをタイミングループの左側の出力からモニターしていますが、それらの値から想定される周期では動いていません。

ちなみに、「間に合わなかった周期を無視」のチェックを入れると、タイミングループは設定した周期で回り、設定した周期より早く回るということは起きません。

0 件の賞賛
メッセージ3/3
2,865件の閲覧回数