デジタル出力処理には、ソフトウェアタイミング生成とハードウェアタイミング生成のいずれかを使用できます。

ソフトウェアタイミングによる生成

ソフトウェアタイミングによる生成では、ソフトウェアによってデータを生成する速度を制御します。ソフトウェアは、各デジタル生成を開始するためにそれぞれ独立したコマンドをハードウェアに送ります。NI-DAQmxでは、ソフトウェアタイミングによるデータ生成はオンデマンドタイミングと呼ばれています。ソフトウェアタイミングによる生成は、即時処理またはスタティック処理とも呼ばれます。通常は、単一値を書き込むために使用されます。

ソフトウェアタイミングによる生成では、シリアルデジタルモジュールのDOチャンネルのいずれかがハードウェアタイミングタスクに使用されている場合、そのモジュールの他のチャンネルをソフトウェアタイミングタスクに使用することはできません。

ハードウェアタイミングによる生成

ハードウェアタイミングによる生成では、ハードウェアのデジタル信号によってデータ生成速度を制御します。このデジタル信号は、コントローラ内部で生成するか、外部から供給します。

ハードウェアタイミングは、ソフトウェアタイミングと比較していくつかの利点があります。

  • サンプリングの間隔を大幅に短く設定可能
  • サンプリングの間隔が確定的
  • ハードウェアタイミング集録ではハードウェアトリガを使用可能

ハードウェアタイミングシングルポイント (HWTSP) モード

HWTSPモードでは、サンプルはハードウェアタイミングによってバッファなしで継続的に集録または生成されます。この場合、タイミングタイプとしてサンプルクロックまたは変化検出を選択します。その他のタイミングタイプはサポートされていません。

ループが特定の時間内に実行されるかどうかを確認する必要がある場合 (制御アプリケーションなど) は、HWTSPモードを使用します。HWTSPモードではバッファが使用されないため、読み取りまたは書き込み操作がハードウェアタイミングに間に合う速度で実行されるように設定してください。読み取りまたは書き込み操作がハードウェアタイミングに間に合わなかった場合は、警告が返されます。

バッファ型デジタル出力

バッファとは、生成されたサンプルをコンピュータ内に一時的に保持する場所です。バッファ型生成では、データはCシリーズモジュールに書き込まれる前に、ホストバッファからCompactRIOコントローラのオンボードFIFOに転送されます。

バッファ型I/O操作のプロパティの1つに、サンプリングモードがあります。サンプルモードは有限または連続から選択できます。

  • 有限—有限サンプルモード生成では、特定のデータサンプルが指定した数だけ生成されます。指定された数のサンプルが書き込まれた後に、サンプル生成は停止します。
  • 連続—連続生成では、サンプルの数は指定されません。このモードでは、指定した数のデータサンプルを生成した後に停止するのではなく、ユーザが処理を停止するまで連続生成が継続します。データの書き込み方法を制御する、3つの異なる連続生成モードがあります。これらのモードは、再生成モード、オンボード再生成モード、非再生成モードです。
    • 再生成モードでは、ホストメモリのバッファを定義する必要があります。データはバッファから連続的にFIFOにダウンロードされ、書き込まれます。これにより、出力処理に干渉することなくホストバッファに随時新しいデータを書き込めます。
    • オンボード再生成モードでは、バッファ全体がFIFOにダウンロードされ、そこから再生成されます。データのダウンロードが完了すると、それ以降はFIFOに新しいデータを書き込めません。オンボード再生成モードでは、バッファ全体がFIFOサイズ以下である必要があります。オンボード再生成モードの利点は、一度操作を開始するとメインホストメモリとやり取りする必要がなくなるため、過剰なバストラフィックやオペレーティングシステムの待ち時間による問題が発生しなくなることです。
      メモ アクセス可能なFIFOサイズを最大化するには、パラレルDOモジュールをスロット1~4に設置します。スロット5~8にモジュールを設置すると、アクセス可能なFIFOサイズが小さくなります。
    • 非再生成モードでは、古いデータは再利用されません。新しいデータを次々とバッファに書き込む必要があります。プログラムが新しいデータを書き込む速度よりもサンプルが生成される速度の方が速い場合、バッファでアンダーフローが発生し、エラーの原因となります。