05-10-2023 10:00 PM
お世話になります。
LabVIEWで制御している計測システムの計測時間のことで相談させてください。
抵抗に交流を通電した際に発生する電圧波形を取得するために、
cDAQ-9174にNI9220を搭載し
LabVIEWで制御してTDMSファイルにデータを取得しております。
この際、サンプルとして用意されているvi
[Voltage - Continuous Input.vi]を改造して活用しているのですが
計測時間の設定が目論見通りになりません。
フロントパネルに用意されている「タイミング設定」内の「サンプル数」のプロパティを開き、
ドキュメントタブのヒントラベルに
『計測時間は「サンプル数/サンプリングレート」で決まります。
DAQmx読み取り (VI)のタイムアウト値が「サンプル数/サンプリングレート」と
なるように調整すること。』と記載されていました。
この為、計測時間を10秒間としたく
例えばサンプル数を10000、サンプリングレートを1000にそれぞれ設定しましたが、
実際の計測時間は20秒間程度になっております。
計測を繰り返した際、計測時間は20秒間程度で安定していますので
どこかの設定に不備があるものと考えていますが
修正すべきパラメータにたどり着くことが出来ず困っております。
当面の対策としてサンプル数を5000にすることで
実際の計測時間を10秒間程度にすることができますが、
この際計測時間が決まるパラメータを把握しておきたいので
参考となる情報をご紹介頂けますと幸いです。
よろしくお願いいたします。
05-11-2023 12:29 AM
「計測時間」とは何を指していますか?
サンプリングレートを1000、サンプル数を10000とした場合、
(1) 開始すると10秒間のデータを取得して終了する
(2) 開始するとグラフを10秒間隔で更新しながら取得し続ける
Voltage - Continuous Input.viは(2)の動作をします。
Voltage - Finite Input.viが(1)の動作をします。
今回 - Continuous input.viを使って20秒の結果となったのは、10秒前後で停止ボタンをクリックしたのではないでしょうか。そのタイミングでは次またはその次の10秒間の取得を続行するのでトータル20~30秒間のデータが保存されると思います。
やるならば、サンプル数を1000にして、読み取りループ10回で自動的に抜けるように修正します。途中で停止ボタンをクリックしても2秒以内に止められます。ただグラフの更新も1秒ごとになるので10秒分表示したい場合はちょっと工夫が必要です。
05-14-2023 09:19 PM
こんにちは、masa0816です。
ご助言、ありがとうございました。
「計測時間」はフロントパネルにて、
実行ボタン(➡)を押下してから
計測動作が停止する(=実行ボタンが押せる状態)までの時間を指しております。
現在活用している
[Voltage - Continuous Input.vi]改造viは
サンプル数を10000、サンプリングレートを1000にそれぞれ設定すると
計測時間は20秒間程度になっておりまして、
これを、サンプル数を5000、サンプリングレートを1000にそれぞれ設定すると
計測時間は10秒程度になっていました。
一方で、動作させたい内容は
実行ボタンを押下してから計測動作が停止するまでの時間を自在に設定したい
(=開始するとx秒間のデータを取得して終了させたい)ので、
改めて「Voltage - Finite Input.vi」を改造し
構築し直そうと思います。
ご助言、ありがとうございました。
今後とも、よろしくお願いいたします。
05-19-2023 12:49 PM
こんにちは、
プログラム上どこかで10秒待機するようになっているため、毎回10秒で終わるべき操作が20秒かかっていると思います。
(一度に読み取る)サンプル数:10000個、サンプリングレート:1000個/秒
の設定はDAQmx読み取りVIが10秒間サンプルを集めるために待機するので、フロントパネルでのユーザ操作が10秒間聞かなくなります。
より安全にプログラムするには以下の設定のようにDAQmx読み取りVIが0.1秒で操作が終わるようにし、この`ループを100回繰り返すようにプログラムすることをお勧めします。
(一度に読み取る)サンプル数:100個、サンプリングレート:1000個/秒
こうすることで目的の10000個のサンプルも取得できるし、ユーザ操作ができるので、デバッグしやすくなります。
>> 実行ボタンを押下してから計測動作が停止するまでの時間を自在に設定したい
今後のやりたいことを実現するためにも一度に読み取るサンプル数をサンプリングレートの1/10ぐらいに納めて、読み取りのループ実行回数を調整することを推奨します。
ヨン
05-29-2023 07:20 PM
こんにちは、masa0816です。
ご助言、ありがとうございました。
また、回答が遅くなりまして失礼いたしました。
「計測時間を10秒としたいものの、実際の計測時間が20秒となっている」ことに関して
「プログラム上どこかで10秒待機するようになっている」とのご助言、
ありがとうございました。
こちらは待機アイコンの設定場所(配置場所)を確認して
削除する若しくは短くするなどの修正をしようと思います。
また、サンプリングレートを1000としたまま
10秒間で10000のデータ取得する方法として、
「サンプル数を100、サンプリングレートを1000」を0.1秒で完了させ
「このループを100回繰り返す」設定のご提案、ありがとうございました。
ループの設定は、使い慣れていないので
希望通りに動かない等の症状がでることを懸念しますが
デバッグがしやすくなるとのご紹介を頂き、
今後のことも考えて挑戦したいと思います。
また、実行ボタンを押下してから計測動作が停止するまでの時間を自在に設定したいについても
このまま現在の設定で実施するのではなく、
まずはサンプル数を下げて読み取りループの実行回数の調整することから着手します。
ご助言、ありがとうございました。
今後とも、よろしくお願いいたします。