再トリガ可能かつトリガ遅延が設定された有限パルス生成を行う方法



使用ソフトウェア:
使用ソフトウェア・バージョン: 9.0.1
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: Driver Software>>NI-DAQmx

問題:
KnowledgeBase 2X8A57X8: 再トリガ可能なカウンタの出力でトリガからの遅延を設定する方法 で説明されているように再トリガ可能のパルス生成の場合、トリガに遅延を設定しても最初のパルス出力しか遅延しません。上記の記事では単一パルスを遅延させることはできていますが、有限パルス生成を再トリガ可能かつ毎回のトリガで設定した時間の遅延を反映させるためにはどうすれば良いでしょうか。

解決策:
遅延と再トリガ可能の両方が設定されている、有限パルス生成を実行するためには 2 つのカウンタを使用する必要があります。

まず、1 つ目のカウンタ(ctr 0)は連続パルストレイン、2 つ目のカウンタ(ctr 1)は単一パルスを出力する様にタスクを構成します。 ctr 0 の OUT 端子からは連続パルスが出力されますが、ctr 0 のゲートに接続されている信号の High 、Low のレベルで ctr 0 の信号出力を制御することができます。この機能を「一時停止トリガ」と言います。例えば、ゲートへ接続されている信号レベルが Low の時に一時停止トリガが設定されていると、ゲートへ接続されている信号が Low の間はカウンタからの出力は無効になります。

ctr 1 から出力される単一パルスは、ctr 0 のゲートへ接続される信号です。よって、ctr 0 からの出力パルスを制御しているのは ctr 1 から出力される単一パルスになります。この ctr 1 から出力されている単一パルスが、待機状態が Low であり、かつ外部トリガを参照した直後に出力される様、タスクを構成します。これを図で表したのが以下の図 1 になります。

 

 

図1:Ctr 0、Ctr 1から出力されるパルス ([+] 画像を拡大)


上記の図の ctr 1 からの出力パルスの青い色で表示されているのがトリガ後に出力されるパルスです。図ではパルスの Low 時間よりも High 時間の方が多く割り当てられています。ctr 0 から出力されている連続パルストレインは、ctr 1 の出力パルスをゲートで参照し、High 状態の時のみ ctr 0 から有効に出力されます。ctr 0 の連続パルストレインでグレーで表示されている部分は ctr 1 の出力パルスが Low 状態のため、ctr 0 の出力端子から出力されていない状態を表現しています。後は、連続パルスが所望の数だけ出力されるような HIGH 時間を設定すれば実装完了です。

図2は上記の内容を実装した VI です。



図2:再トリガ可能かつ、トリガに遅延が設定された有限パルストレイン生成VI ([+] 画像を拡大)

「Number of Pulses」に設定されている値は、有限で生成したいパルストレインに含まれるパルスの数です。この Number of Pulses で設定したパルスの数を 1 パルスの周期で割り算することによって、連続パルスをゲートしている 2 つ目のカウンタの HIGH 時間を割り出すことができます。

関連リンク:
KnowledgeBase 2X8A57X8: 再トリガ可能なカウンタの出力でトリガからの遅延を設定する方法

添付:
image 01.jpg
iamge 02.jpg




報告日時: 11/08/2009
最終更新日: 12/30/2009
ドキュメントID: 53746EAK