NI製品ディスカッション

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

複数のデータを時系列順に一つのファイルに出力

質問は題名の通りなんですが、DAQmxにより得られた複数のデータを分割し、リアルタイムで1つのファイルに出力するプログラムを作成しております。
プログラムはWhileループにより繰り返しているのですが、リアルタイムにファイルに出力する方法が分かりません。
 
また、複数の信号を1つのファイルに出力したい為、以下のように配列形式で保存したいのですが可能でしょうか?
環境は以下の通りです。
WindowsXP SP2
LabView8.0
PCI-6221
よろしくお願いします。
 
|時間|信号1|信号2|信号3|・・・・・|
| t  |  x   |  x  |  x  |・・・・・|
| t  |  x   |  x  |  x  |・・・・・|
| t  |  x   |  x  |  x  |・・・・・|
| t  |  x   |  x  |  x  |・・・・・|
| t  |  x   |  x  |  x  |・・・・・|
| t  |  x   |  x  |  x  |・・・・・|
 
 
 
0 件の賞賛
メッセージ1/6
4,510件の閲覧回数
hsysngw様、

平素より弊社製品をご使用いただきまして誠にありがとうございます。
日本ナショナルインスツルメンツ技術部の荒瀬と申します。
お問い合わせいただきました件につきまして以下のようにお答えさせていただきます。

DAQmx関数を使用し、複数チャネルの信号を集録しながらファイルに出力する方法についてでよろしいでしょうか。
一つの方法としましては、Whileループ内で「テキストファイルに書き込み」の関数を使用して
ファイルに書き込んでいただく方法がございます。

ご参考までに簡単なサンプルプログラムを作成し、添付致しましたのでよろしければご参照下さい。

ご不明な点などございましたらご連絡いただきますようお願い致します。

今後ともよろしくお願い致します。

日本NI技術部
荒瀬
0 件の賞賛
メッセージ2/6
4,475件の閲覧回数
荒瀬様
 
ご返信ありがとうございました。またサンプルプログラムまでご丁寧にありがとうございました。
 
内容についてなんですが、こちらの記述不足で申し訳ありませんが、プログラムはExpress関数のDAQアシスタントにて信号を取得しております。そのためサンプルプログラムとは信号の型が違うため適用することが出来ませんでした。(ダイナミックデータの扱い、変換等が出来てないのですが…)当方の勉強不足であることだとは思うのですが、何かヒント程度のことでも頂けたらと思います。度々申し訳ありませんがよろしくお願い致します。
0 件の賞賛
メッセージ3/6
4,460件の閲覧回数
hsysngw様、

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

DAQアシスタントをご使用の場合、おっしゃるとおりダイナミックデータというデータタイプが使われております。今回作成させていただきましたサンプルでは配列を使っているため、ダイナミックデータを変換する必要がございます。添付致しましたサンプルをご覧いただけますでしょうか。DAQアシスタントからのダイナミックデータを「ダイナミックデータから変換」の関数で1次元配列に変換しております。

このサンプルプログラムの仕組みと致しましては、ループ毎に複数チャネルから1サンプルずつ取得するものとなっております。従いましてDAQアシスタント内の設定では複数チャネルを選択し、タイミングはオンデマンドにしております。

他にご不明な点がございましたらお気軽にご連絡下さい。

よろしくお願い致します。

日本NI技術部
荒瀬
0 件の賞賛
メッセージ4/6
4,407件の閲覧回数

荒瀬様

返信ありがとうございます。お陰様で無事、問題解決できました。分かりやすいサンプルプログラムまで本当にありがとうございました。

0 件の賞賛
メッセージ5/6
4,372件の閲覧回数
hsysngw様、

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

ご質問いただきました件が解決されまして嬉しく思います。

今後ともよろしくお願い致します。

日本NI技術部
荒瀬
0 件の賞賛
メッセージ6/6
4,369件の閲覧回数