From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI製品ディスカッション

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

サンプリング周波数のデータ取り込みに関して

解決済み
解決策を見る

初歩的なことで恐縮ですが、DAQからの計測データをサンプリング周波数1khzに設定しているのですが、エクセルファイルには100個程度しかデータが取り込めていないのですが、何が原因なのか、プログラムの組み方を教えて頂けないでしょうか?

0 件の賞賛
メッセージ1/26
2,521件の閲覧回数
解決策
トピック作成者igaguriが受理

平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。

 

データ収集をおこなう際に、DAQアシスタントExpress VIもしくはDAQmxタイミングVIを用いてサンプルレートを1 kHzに設定されているかと思いますが、サンプル数/チャンネルを100に設定していると、100点しかデータを収集しません。

 

サンプルレートはデータを収集する速さを指定し、サンプル数は収集する量を指定する設定ですので、両方の設定をご希望の値に設定してみてください。

 

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

御返信ありがとうございます。

初心者である為、とても分かりやすく理解できました。

これで設定すれば、DAQからのデータを1kHzで1000点のデータ集録できるという理解で宜しいでしょうか?

ファイル保存はエクセルへに出力へ設定しており、計測ファイル書き込むまでの配線でダイナミックデータへ変換としているのですが、合っていますか?

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

1kHzで1000点のデータ集録は、設定すれば可能です。

 

Excelファイル形式(.xlsx)の保存でしたら、計測ファイルに書き込むExpress VIで可能ですが、入力がダイナミックデータタイプとなりますので、その変換は必要となります。コードは拝見しておりませんが、おそらく問題ないかと思います。

0 件の賞賛
メッセージ4/26
2,437件の閲覧回数

御返信ありがとうございます。

一応、色々参考にしながら勉強して組んでみましたが、これでよいかアドバイス頂けると幸いです。

形としては、EMGからの信号をDAQに入力し、エクセル保存まで考えています。保存する際に配列で時間軸も1列目に欲しかったので、計測ファイル書き込みの方で設定を行いました。不必要なところ、このようなブロックダイアグラムの組み方であるとより詳しいなどあればご教示頂けたら幸いです。

0 件の賞賛
メッセージ5/26
2,416件の閲覧回数

Whileループを使用して連続収集するのでしたら、計測ファイル書き込むExpress VIの使用はお勧めしません。

理由は、このVI内でファイルを開く処理と閉じる処理が含まれており、Whileループ内で毎回処理がおこなわれるためです。短期間では感じませんが、長期間実行し続けると―バーヘッド(処理時間)が長くなっていき、データ収集に影響を及ぼします。

 

下記のようにループの外側でファイルを開く処理と閉じる処理を行うほうが効率がよくなり、データ収集に影響しなくなります。

 

次に時間列を追加したいとのことですが、下記のページに添付されているZIPファイルの中にWaveform Array to 2D Array with Timestamp.viがあり、そのサブVIを用いると簡単に追加可能です。

 

 

上記の方法を実装した例は以下のとおりです。同じVIを添付致します。

SS1.png

すべてをダウンロード
0 件の賞賛
メッセージ6/26
2,405件の閲覧回数

御返信頂き有難うございます。

大変恐縮ですが、私のLabviewがVer.2013である為、添付して頂いたファイルが見れない状況です。

お手数ですが、もう一度送って頂けると幸いです。

0 件の賞賛
メッセージ7/26
2,398件の閲覧回数

LabVIEW 2013用に保存し直したVIを添付致しますのでご確認ください。

すべてをダウンロード
0 件の賞賛
メッセージ8/26
2,392件の閲覧回数

添付して頂き有難うございます。

一応、自分で作成しながら解釈しながら実施し、理解が深まりました。

実行してみたのですが、最初に保存先の指定が表示されてから実行されるような形になっていますが、これはデータの無い初回でも、保存先を先に決めてファイル書き込みを行うということで合っていますでしょうか?

あと、簡単で宜しいので、タイプスタンプのダイアグラムの概要を説明頂けると幸いです。

 

下記に修正後のブロックダイアグラムを添付しています。

0 件の賞賛
メッセージ9/26
2,377件の閲覧回数

> 保存先を先に決めてファイル書き込みを行うということで合っていますでしょうか?

 

はい、そのとおりです。

前回添付したのは、配列からスプレッドシート文字列に変換関数でデリミタ設定としてカンマを指定して、カンマ区切り形式(CSV形式)にしていますので、拡張子を自動で付けて後で開けるようにしていました。

ファイルパス制御器を用いて直接ファイルパスとファイル名を指定しても構いません。

 

 

次に波形データタイプから時間列を含むデータ配列を作成するサブVIですが、波形データタイプには、dt(デルタt)としてデータポイントの時間間隔が含まれており、その時間間隔を収集したデータ分加算して相対時間の配列を作成し、データ配列と連結して2次元配列にしています。

0 件の賞賛
メッセージ10/26
2,370件の閲覧回数