09-12-2019 04:01 AM
初投稿になります。よろしくお願いします。
USB-6343から2組の線形位置データを取得しようとしています。
DAQアシスタントを使ってデータ取り出しを行ってみたのですが、得られたデータのサンプリングが250Hz程で、これをより高速化したいのですが、どのような方法が考えられるでしょうか。
添付の手法以外に、最初に配列を用意しておくのも試してみましたが、速くはなりませんでした。
ご助言よろしくお願いします。
解決済! 解決策の投稿を見る。
09-12-2019 05:54 PM
平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。
DAQアシスタントの集録モードで1サンプル(オンデマンド)モードが設定されていますので、ソフトウェアタイミングによる収集となっております。これ以上速く収集するには、連続サンプルモードなどハードウェアタイミングによる収集が必要です。
ただし、カウンタ入力をハードウェアタイミングでおこなうには、外部のサンプルクロックが必要となります。DAQアシスタントでは上級タイミングタブで設定が必要となります。この場合は、指定したPFIピンにサンプルクロックとなるTTLレベルのパルス列信号を入力してください。
DAQアシスタントExpress VIではなく、DAQmx APIを使用すればより柔軟な経路設定が可能となります。その例として、下記のサンプルはアナログ入力のサンプルクロックをサンプルクロックソースとして指定しています。
09-12-2019 08:18 PM
上野様
ご返信ありがとうございます。
返信内容に関連して、いくつか分からないことがあり、教えてください。
DAQアシスタントの集録モードのNサンプルだと、指定したレートでサンプル数だけ取込むというのをループ内で繰返すという動きになるのだろうと想像がつくのですが、連続サンプルの場合はどうなるのでしょうか。
例えば100万個のデータを等間隔に得ようと思えば、Nサンプルだと、サンプル数を100万に指定するしかないのだろうと思うのですが、連続サンプルでも同様なのでしょうか。
それと、上級タイミングで入力するクロックソースと収集のレートの関係なのですが、レートを10kHzとしたいときに、入力するクロックは10kHzを入れなければいけないのでしょうか。それともその整数倍の周波数であればよいとかなのでしょうか。
また、レートやサンプル数の上限を教えて頂けないでしょうか。
よろしくお願いします。
09-12-2019 10:15 PM
Nサンプルは、おっしゃるとおり収集したいすべての点数を指定します。この設定にしてWhileループ内に配置すると、1ループで収集構成処理とデータ読み取り処理、終了処理がおこなわれるため、構成と終了時は収集が途切れます。
連続サンプルは、実行の最初と最後にだけ構成処理と終了処理が行われます。サンプル数の指定の意味合いも変わり、1ループでのサンプル数を指定するパラメータとなります。たとえば全体で100万点を収集したい場合、連続サンプルモードでサンプル数を1万点に設定すると100ループさせて停止することで100万点となります。
サンプルクロックソースと収集レートの関係ですが、収集レートと同じ周波数のパルスを入力します。
これに関しては、カウンタ出力を経路設定したサンプルが分かりやすいかと思います。
USB-6343におけるレート仕様ですが、外部クロック周波数は最大25 MHzですのでレートも同様となります。サンプル数はFIFOバッファ(メモリ)に関連し、このデバイスはカウンタチャンネルごとに127サンプル分のFIFOを搭載しておりますが、レートやサンプルモードによって状況が異なります。
仕様外となる場合は上書きエラーやオーバーフローエラーとなりますので、下記を参照して回避いただければと思います。
09-12-2019 10:44 PM
疑問点について理解できました。
どうもありがとうございました。