NI製品ディスカッション

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

2つのボードを使用した場合の応答の遅れについて

いつもお世話になっております。
 
私は、今、PCI-6601とPCI-6254(ドライバ:DAQmx、LabVIEW7.1)を使用しております。
PCI-6254でアナログ信号(振幅±3v)を取得し、0.5vに閾値を設け、それを超えたらPCI-6601からカウンタパルスを出力するといったことをしております。
ソフトウエア上では応答は遅れないものの、パルスの出力が出ない(出ても数sec遅れる)ということがしばしば起こりました。
このような使い方をしているから遅れるのでしょうか。それとも他に考えられる原因がありますでしょうか。
 
よろしくお願い致します。
0 件の賞賛
メッセージ1/10
5,477件の閲覧回数
平素よりNI製品をご利用頂きまして誠に有難うございます。
日本ナショナルインスツルメンツ技術サポートです。
 
PCI-6254によるアナログ入力の閾値0.5Vの立ち上がりでPCI-6601からパルスを出力とのことですが、パルス出力のタイミングはソフトウエアタイミングで宜しいのでしょうか?閾値の立ち上がりからパルス出力までの時間のずれはどれくらいが許容範囲でしょうか?具体的に教えていただければ幸いです。
 
宜しくお願い致します。
 
--
日本ナショナルインスツルメンツ株式会社
技術サポート
0 件の賞賛
メッセージ2/10
5,450件の閲覧回数
ご返信ありがとうございました。
 
確認したところソフトウェアでの遅れは無い様なのですが、ハードウェアでのところで遅れ(カウンタパルス出力の遅れ)が生じてる気がします。2つのボードを使用するから遅れるのでしょうか?
 
多少の遅れは覚悟しておりますが、立ち上がりを検知してからせいぜい1~2msec後にカウンタパルスが出力されるようにしたいと思っております。
0 件の賞賛
メッセージ3/10
5,388件の閲覧回数
いつもお世話になっております。
日本ナショナルインスツルメンツ技術部、数馬と申します。

ご返信ありがとうございます。現状としてはパルス出力までにどのくらいの時間がかかるのでしょうか?

どのようなプログラムを作成しておられますか? ブロックダイアグラムのイメージ画像などがありましたら
投稿していただけますでしょうか?

以上よろしくお願いいたします。

日本NI 数馬


0 件の賞賛
メッセージ4/10
5,355件の閲覧回数
ご返信ありがとうございました。
現状として、パルス出力まで4msec~6msecの遅れが確認できております。

入力波形(±3V サイン波)と出力パルスをオシロスコープで観察しておりますが、
周波数をあげていくとやがて追従できなくなりました。
(ちなみに、サンプル数を1とした場合は、
入力波形が5Hzまでは出力パルスの遅れは2msec
10~30Hzになると4~6Hz遅れました。)
 
 
普段はサンプリングレート:2000Hz サンプル数:4の設定で行っております。
OS:XP(CPU:1.5GHz,Memory:1.5GB)です。
①こんなにも出力の応答が遅れる要因は何なのでしょう?
②また、より遅れのない応答を実現するための改善策を教えてください。
 
作成したviを添付させていただきます。
 
よろしくお願い申し上げます。
0 件の賞賛
メッセージ5/10
5,220件の閲覧回数
いつもお世話になっております。
日本NI,数馬です。

今回の件、アナログ信号が閾値0.5Vを超えるたびにパルスを出力されたいという認識でよろしいでしょうか? 
パルス幅などを気にされないのであれば、PCI-6254単体でもこれが可能です。
(下記で説明する内容は、カウンタボードを必要としませんのでご注意ください。)

アナログトリガを使用する場合、ボード内ではアナログ信号が閾値を超えるたびにAnalog Comparison Eventという
パルス信号が発生しています。アナログ入力アーキテクチャはこれをスタート/基準トリガなどとして使用するのですが、
このイベント信号は外部にも出力させることが可能です。そのDAQmx Connect Terminals.viという関数を使い、
Analog Comparison Eventを例えば、PFI1端子などに接続することが可能です。この関数は、DAQmxタスクスタートを実行する前
(直前である必要はありません)に実行する必要があります。これでPFI1端子から入力信号が閾値を超えるたびに
パルスを確認することができるようになります。

上記につきましては、技術データベースにも公開されております。
http://digital.ni.com/public.nsf/websearchj/5F6B666EEB25BB0B86256DA300093B4B?OpenDocument

Analog Comparison Eventを選択する際の注意点が上記URLに説明されておりますので、
ご確認をお願いします。

以上ご不明な点がございましたらご連絡をお願いいたします。

このメッセージは 09-26-2006 08:09 PMに S.Kazuma が編集しています。

0 件の賞賛
メッセージ6/10
5,172件の閲覧回数
ご返信ありがとうございました。
おっしゃる通り、
「アナログ信号が閾値0.5Vを超えるたびにパルスを出力したい」のです。
教えていただきましたURLも参考にして、“DAQmx Connect Terminals.vi”
を使用してみましたがうまくいきません。
 
ソース端子:Dev2/Analog Comparison Event
デスティネーション端子:Dev2/PFI1 (端子台SCB-68の10番ピン?)
 
として、試みましたがスタートトリガ(端子台SCB-68の20番ピン)として入力
しておりますパルスをそのまま出力していました。
現在、“DAQmx Connect Terminals.vi”を一番初めに置いているのですが、
その場所がいけないのでしょうか?トリガを検出するviの後においても
うまくいきません。(それとも根本的に何か間違っているのでしょうか…)
 
私が作成したviを添付します。
サンプルのviを教えていただけたら幸いです。
よろしくお願い致します。
 
0 件の賞賛
メッセージ7/10
5,151件の閲覧回数
お世話になっております。
日本NI数馬です。

プログラムを拝見させていただきましたが、プログラム上全く問題は見当たりません。

APFI0に入力された信号はコンパレータによって閾値を超えるとパルスを生成するようになっております。
プログラム上は、そのパルスをPFI1にルーティングするということを行うため、 APFI0の信号と同じ信号が
PFI1からそのまま出力されるということは考えにくい現象です。APFI0への入力信号が非常にTTLパルスに
近いものであれば、PFI1からの出力がそれと似たものになることは考えられます。しかし、振幅やパルス幅は
異なるものになると考えられます。

試しに正弦波などをAPFI0端子に入力されても同様にPFI1から正弦波を確認できますでしょうか?

ご不便をおかけしまして申し訳ございませんが、ご確認の程よろしくお願いいたします。

日本NI
数馬


0 件の賞賛
メッセージ8/10
5,130件の閲覧回数
ご返信ありがとうございます。
 
一応、私が実現したいことを述べさせてもらいます。
①APFI0(20番ピン)にパルスを入力して、プログラムをスタートさせる
②ai0(68番ピン)から±3Vの正弦波を入力する
③Whileループの中で、「基本レベルトリガ検出vi」にて、0.5Vを超えたことを検知する
④③で検知したことを知らせるパルス信号を得る
です。
 
④において、「DAQmx Connect Terminals vi」を用いて、PFI1(10番ピン?)からパルスを取り出したいのです。
 
現段階としては、指定したPFI1(10番ピン)から「0.5Vを超えた!」という出力パルスは確認できておりません。
仮に、APFI0に連続パルスを入力すると、まったく同じ連続パルスがPFI1(10番ピン)から出てきます。
また、APFI0にサイン波を入力すると同じ周波数のパルスが出力されます。
プログラム中の「DAQmx Connect Terminals vi」で、パルスの出力先を”PFI1”に指定しているのですが、
端子台のピン番号が対応してないのでしょうか?
 
考えられる原因がありましたらお教えください。
よろしくお願い致します。
0 件の賞賛
メッセージ9/10
5,117件の閲覧回数
お世話になっております。
日本NI、数馬です。

大変失礼いたしました。
私の勘違いのようです。

私がご紹介させていただいておりましたのは、APFI0に入力している信号が0.5Vの閾値を超えるとPFI1からパルスを出力させるものであり、
408様が行われようとしているai0端子に入力している信号が0.5Vの閾値を超えるとPFI1からパルスを出力させるものと異なります。

改善策としましては、今までai0に入力している信号をAPFI0に入力していただき、DAQmxトリガのTrigger Levelに0.5Vと入力していただければ、
入力信号が0.5Vを超えるとアナログ入力タスクが開始され、且つPFI1からパルスを出力させることができます。(test_Analog Comparison Event.viを使用します。)

このようにすると本来APFI0に入力していたトリガを使用することができなくなりますのが問題であると思われますが、いかがでしょうか?

ご回答の程よろしくお願いいたします。
0 件の賞賛
メッセージ10/10
5,095件の閲覧回数