NI製品ディスカッション

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

読み取るサンプル数とレートについて

解決済み
解決策を見る
いつもお世話になっております.
Labview7.1,PCI-6251,SC2345,SCC-ACC01を使用しております.
 
アナログ入力で,DAQアシスタントにてレートとサンプル数設定し,
入力値に対し,一定時間間隔で電圧変化拾ってを数値(文字)化し,ファイルに書き出しております.
上記時間間隔の確認及び設定は,波形チャートと,数値制御機を用いております.
 
1)レートを1000Hz,サンプル数を10,時間間隔を10ms
2)レートを1000Hz,サンプル数を10,時間間隔を5ms
 
1)の場合,波形チャート上の時間軸に表示される経過時間は,実際の時間に近いのですが,
2)の場合,上記経過時間が大幅に遅れます.
 
条件1)でサンプル数を増やした場合も上記経過時間が遅れます.
 
サンプル数を増やし,かつ時間間隔を小さくしたいのですが,上手くいきません.
上記のように経過時間が遅れる原因の解明と解決をしたく,よろしくお願いします.
 
ちなみに,作成のviはTemperature Analysis.viを元にしております.
 
0 件の賞賛
メッセージ1/3
6,549件の閲覧回数
解決策
トピック作成者EX250が受理
EX250 様
 
平素よりNI製品をご利用いただきまして誠にありがとうございます。
日本ナショナルインスツルメンツ 技術部の河野と申します。
 
波形チャート上の時間軸に表示される経過時間は、ループの一回実行するのにかかる時間を表しています。
ループ内に待機関数を置かない場合、ループの実行する速さは 読み取るサンプル数 / レート
により決定します。例えば読み取るサンプル数が10、レートが1000の場合
 
読み取るサンプル数 / レート = 10 / 1000 = 0.01 sec = 10ms
となります。
しかし、ループ内に待機関数を入れると次のことが起こります。
a)指定した待機時間が上記で計算した値よりも長い場合
ループはループ内での処理がすべて終わっても、ループ待機関数で指定した時間が経過するまで実行を待機します。
b)待機関数で指定した値が上記の計算より短い場合
ループはループ内での処理がすべて終ってから実行するので、待機関数で指定した値は無効になります。
待機関数についての詳細はLabVIEWヘルプよりご参照いただけます。
 
2)でレートを1000Hz、サンプル数を10、時間間隔を5msに設定した場合、
これは上記のb)のケースにあたりますので、チャートに表示される経過時間は待機関数で指定した時間の5ms
ではなく実際にループが実行するのにかかった時間になります。
また、1)でサンプル数を増やした場合も経過時間が大幅に遅れる内容につきましても上記の計算をご参照ください。
サンプル数を増やしかつ時間間隔を小さくするには、サンプル数と共にレートを増やしてください。
 
以上の点につきまして一度ご確認いただき、お手数ですが再度ご連絡いただけますようよろしくお願い申し上げます。

-----------------------------------------------------------
日本ナショナルインスツルメンツ株式会社
技術部 河野 結花
TEL: 0120-527196
弊社のサポートに関する情報は以下のサイトをご覧ください。
http://www.ni.com/support/ja/
-----------------------------------------------------------
メッセージ2/3
6,495件の閲覧回数
河野様
その節は、お世話になりました。再びLabViewを扱うことになり、当時の自分の投稿と、ご回答を見た次第です。今後とも宜しくお願いします。
0 件の賞賛
メッセージ3/3
4,805件の閲覧回数