12-10-2007 07:20 AM
12-17-2007 12:13 AM
Medphys_ST様、
返事が遅くなり大変申し訳ございません。
日本ナショナルインスツルメンツ技術部の神谷です。
添付して頂いたVIを参考に作成したサンプルのVIを作成しましたので、ご参考にして頂きたいと思います。今回はキューをしない方法を用いましたが、希望がございましたらキューを使用するバージョンも用意致しますのでご連絡下さい。
サンプルにもありますように、配列を用いますとプログラムがすっきりします。実際に実行した結果、かなり試行を繰り返さないと目的のデータがとれないようです。目的の動作と異なる場合もお知らせ下さい。
日本ナショナルインスツルメンツ株式会社
技術部 神谷
12-17-2007 09:26 AM
12-18-2007 04:21 AM
日本ナショナルインスツルメンツの神谷です。
キューを用いたバージョンを添付しましたので動作のご確認をお願い致します。不明な点がございましたらお問い合せ下さい。
12-18-2007 07:56 AM
日本ナショナルインスツルメンツ株式会社
神谷 様
サンプルVIを添付していただき、ありがとうございます。
動作確認をしましたところ、添付いたしましたテキストのように、データが重複して保存されている傾向が見られます。これはファイルに保存するループの速度が他の2つのループの速度よりも早いために起こるものなのでしょうか。また、キューの要素が0から変化しない原因についても教えていただけたら幸いです。
また、別のVIで生成されたデータを、キューを用いたVIでデータの抜き出し及び保存を行う場合にも、添付していただいたVIにあるように「data」という取得するキューの名前を入力しなければならないのでしょうか。
添付していただいたVIの左上のデータを生成するループを、別のVIからデータの抜き出しを行うループに変える場合にでも、そのVIの構成は同じでしょうか。
別のVIからのデータの抜き出しは、前回添付いたしました「frontpanel image.jpg」の左上のデータ生成部分単独のVIからのデータの抜き出しを意味しています。
よろしくお願いいたします。
12-19-2007 04:43 AM
日本ナショナルインスツルメンツの神谷です。
データが重複してしまうのは、下のループが100ミリ秒ごとに実行されており、データが生成されたかにかかわらず毎回 Last Element Inserted にある値を書き込んでしまうからです。キューが空の時はデータを書き込まないようにする処理が必要になります。
独立して実行されている別VIのキューにあるデータはそのままでは取り出せません。サブVIとしてキューがワイヤで繋がっている必要があります。
左上のループの内容をMedphys様が作成されたものに置き換える場合、データタイプが違っているので残念ながらそのままでは置き換えできません。私の作成したVIで使用しているデータタイプはI16型の1次元配列になっています。
宜しくお願い致します。