NI-DAQmxでカウンタタスクの重複カウント防止機能を使用する

Contents

NI-DAQmxシリーズ入門では、NI-DAQmxを使用したプログラミングの基本について解説します。Measurement & Automation Explorer(MAX)を使ったデバイス操作の確認や、LabVIEWを使用したデータ集録アプリケーションのプログラミングなどの方法を説明したビデオやテキストによるチュートリアルをご覧いただけます。DAQアシスタントを使用したことのないビギナーからNI-DAQmxの高度な機能に関心を持つ上級ユーザまで、あらゆるレベルのユーザを対象としています。

概要

カウンタアプリケーションではバッファ型集録を使用する場合があります。このバッファは、カウンタレジスタ値をラッチする前の特定周期に対するカウンタ測定を実行するように構成されています。バッファ型カウンタ測定では、測定対象の信号をカウンタのGate入力に接続し、既知の周波数を持つ信号はカウンタのSource入力に接続します。Source入力(既知の周波数がある信号)には、通常、デバイスの内部タイムベースのうちの1つを使用します。

ただし、測定対象信号の周波数もしくは周期を決定する基準に外部ソース入力を使用する場合、アクティブソースエッジのないゲート期間による不正確な測定やカウントが行われる可能性があります。この状況は重複カウントとも呼ばれています。

重複カウントがないカウンタアプリケーション

図1に示すとおり、既知周波数の外部ソース入力を使用したバッファ型周期測定と未知の周波数があるGate入力を考えてみます。



図1.高確度ソースエッジカウント


ゲートの最初の立ち上がりエッジで、現在のカウントである"7"が保存されます。Gateの次の立ち上がりエッジで、カウンタは"2"を保存します。これはGateが前回の立ち上がりエッジの後にSourceでパルスが2回発生したためです。

カウンタはSource信号を使用してGate信号をサンプリングします。このため、カウンタは次のSourceパルスまで、Gateで立ち上がりエッジを検出しません。カウンタは、Gateの立ち上がりエッジ後に発生する最初のSourceの立ち上がりエッジでバッファに値を保存することもできます。

重複カウントがあるカウンタアプリケーション

図2に示すとおり、低速または非周期的な外部ソース入力がある別のバッファ型周期測定を考えてみます。Gateの最初の立ち上がりエッジ後に発生する外部ソース入力でアクティブエッジがないゲート期間があることに注目してください。これにより、次のGateの立ち上がりエッジのメモリで現在のレジスタカウントをラッチするカウンタレジスタが発生します。結果として、ゼロの代わりに値(7)の前回のカウントレジスタを返す判定誤差が生じます。



図2.重複カウント

重複カウント防止機能

重複カウント防止機能(または同期カウントモードとも呼ばれます)を使用すると、低速または非周期的な外部ソースを使用するアプリケーションで、カウンタから正しいデータを得ることができます。重複カウント防止は、周波数や周期を測定するバッファ型カウンタアプリケーションにのみ適用できます。バッファ型アプリケーションでは、カウンタはGate信号の立ち上がりエッジ間で発生する外部ソースのパルス回数を保存する必要があります。

重複カウント防止機能を有効にすると、カウンタはSourceとGateの両方の信号を最大内部タイムベース(80 MHz)に同期します。タイムベースに同期化することにより、ソースにパルスが発生しなくてもカウンタがゲートのエッジを検出できるようになります。これにより、バッファに正しい現在のカウンタが保存されます。

図3で重複カウント防止機能をしようした場合を考えてみます。通常、カウンタ値はSource信号に同期して変化します。重複カウント防止機能では、カウンタ値は最大内部タイムベースに同期して変化します。つまり、内部タイムベースがソースになります。



図3.重複カウント防止機能

さらに、Sourceパルスが長い場合でも各外部ソースエッジが検出される場合には、カウンタタイムベースの最初のエッジのみがカウントレジスタの増分に使用されます。外部ソース入力がHIGHの間に発生するその他すべてのタイムベースエッジは無視されます。図3に示すとおり、2つのゲートエッジ間でソースエッジが検出されない場合、重複カウント防止機能では、内部タイムベースでカウントレジスタを増分できるようするために外部ソースは論理HIGHでなければならないため、パルス測定がゼロを返すことを確認します。これは、ご使用の最大ソース周波数をNI-STC IIとNI-TIOボードの元の最大タイムベース(80MHz)の25%に低減します。したがって、重複カウント防止機能はSource信号の周波数が20 MHz以下の場合にのみ使用してください。

重複カウント防止機能は以下の状況でのみ使用してください。

  • カウンタ測定
  • カウンタSourceが(PFI xなどの)外部信号を使用している
  • 外部ソースの周波数が20 MHz以下である

 

NI-DAQmxで重複カウント防止機能を有効にする

NI-DAQmxで重複カウント防止機能を有効にするには、チャンネルプロパティノードにある重複カウンタ防止(Duplicate Count Prevention)を使用してTureに設定します。Mシリーズデバイスでは、重複カウント防止機能を必要とするカウンタ測定を実行している場合、デフォルトで重複カウント防止が有効になります。このプロパティを指定(またはプロパティが有効/無効を確認)する場合、図4に示すとおり、DAQmxチャンネルプロパティノードを配置し、カウンタ入力 » 一般プロパティ » オプション » 上級 » 重複カウンタ防止を選択します。




図4.重複カウント防止プロパティノード

図5は重複カウント防止が有効になる条件を満たしたバッファ型カウンタ測定の例を示します。完成したアプリケーションプログラムは以下のとおりです。

図5.重複カウント防止機能を使用した例

Was this information helpful?

Yes

No