NI製品ディスカッション

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

高速デジタイザのデータ転送

高速デジタイザからPCへ高速にデータを転送して、2D  I8バイナリファイルに記録するプログラムを開発しています。
LabView7.1で、MultiRecord Fetch Foreverというサンプルをもとに開発したところ、まずまず満足できるものができましたが、もう少し早くしたいという欲が出てきました。現在のとこ ろ、PCI-5112 8ビット100MB/sを使って取ったRecordを次々Fetchすることに専念していますが 平均で3,4MB/secといった転送速度です。この数字はまだ改善の余地がありそうでしょうか?

自分自身で検討している事項は
(1)PCIからPCI Expressに変更
(2) LabViewではなく、C言語のサンプルに変更。
(3)  Application Builderで実行ファイルを作成し、Windows Xpでリアルタイム処理を実行
といったところです。

経験者のアドバイスがいただければ助かります。宜しくお願いします。




0 件の賞賛
メッセージ1/4
5,270件の閲覧回数

日本ナショナルインスツルメンツ技術部の井関と申します。
現在3,4MB/secという転送速度とのことですが、現在のアプリケーションの詳細が不明なためTKinu様にあてはまるか一概には言えませんが、こちらはPCIバスの限界よりも、ハードディスクへの書き込みがネックになっているかと思います。
書き込み部分の速度は、LabVIEWのサンプルファインダにあります以下のサンプルを使用することにより、改善することができます。
niScope EX Save to File - HWS Low Level - Single Channel Stream.vi
こちらは、HWS関数とQUEUE関数を使用して保存をするサンプルです。
ご不明な点などございましたら、ご連絡下さい。

0 件の賞賛
メッセージ2/4
5,234件の閲覧回数
井関様
高速デジタイザについて質問しました絹川です。早速の情報ありがとうございました。
質問に抜けていましたが、ディスクはハードディスクではなく、RAMディスクを使っています。ディスク自体の書き込みテストではかなりの数字(記憶では確か数百MB/s)が出ていたと思います。
教えていただいたサンプルで試してみます。また何かありましたらよろしくお願いします。
 
 
0 件の賞賛
メッセージ3/4
5,220件の閲覧回数
>PCI-5112 8ビット100MB/s
これは瞬間最大ですよ。
5112の中にメモリが搭載されており、一時的に保存されます。それと同時に、そのデータがPCIバスを経由して、使っているパソコン上に保存されます。
ですが、これは瞬間最大です。
バッとデータをとったら、少し休み時間!そして、バッとデータをとる。この繰り返しです。
 
連続でデータを取れるのは、サンプリングレートが遅いけど頭が6から始まるデバイスです。
サンプリングレートが速いけど連続でデータを取れないものは、頭が5から始まるデバイスです。つまり5112などが該当。
だから形式の番号が違うし、NIでの取り扱い分野も異なるのです。
 
 
0 件の賞賛
メッセージ4/4
5,158件の閲覧回数