NI-DAQmxでは、「サンプリングタイミングタイプ」というコンセプトが採用されています。各サンプリングタイミングタイプは、サンプル生成アクションのトリガとなるさまざまな刺激信号です。タイミング関数/VIを選択する際に、サンプリングタイミングタイプも選択する必要があります。また、以下のサンプリングタイミングタイプを設定するための属性/プロパティがあります。

  • サンプリングクロック—各サンプルは、デジタルエッジによって生成されます。ほとんどのデバイスには、これらのエッジを周期的に生成するためだけに使用されるオンボードクロックがあります。エッジが周期的ではない場合でも、クロックソースが専用オンボードクロック以外の場合には周期的になる可能性があるため、サンプリングクロックタイミングを使用します。サンプリングクロックタイミングは、ハードウェアタイミングの1つです。
  • オンデマンド—読み取り/書き込み関数/VIが実行されるたびに、デバイスは指定されたサンプルをできる限り早く生成します。このモードでは、サンプリング量属性/プロパティが無視されます。オンデマンドタイミングは、ソフトウェアタイミングの1つです。
  • 変化検出—NI-DAQmxが1つ以上のデジタルラインまたはポートでの変化 (立ち上がりエッジや立ち下がりエッジ) を検出すると、変化検出タイミングによってデジタル物理チャンネルからサンプルがキャプチャされます。変化検出タイミングによって、アプリケーションが処理するべきデジタルデータが低減されます。変化検出を使用する際は、いくつかのデバイスではオーバーフローが発生する可能性があることに注意する必要があります。オーバーフローは、NI-DAQmxが次の検出イベントの前にサンプルを読み取れなかった場合に発生します。この場合、1つまたは複数のサンプルが失われる可能性があります。

    プログラム的には、変化検出タイミング関数/VIで立ち上がり/立ち下がりエッジ変化を検出する物理チャンネルを指定します。タスク開始後にアプリケーションのオーバーフロー属性/プロパティを使用してオーバーフローをクエリすることができます。

  • ハンドシェイク—ハンドシェイクサンプリングタイミングタイプは、8255プロトコルのデジタルデータを集録/生成するために使用されます。多くのデバイスは8255チップを持ち、それ以外のデバイスはデフォルトで8255プロトコルをハンドシェイクタイミングタイプでエミュレートします。
  • バーストハンドシェイク—バーストハンドシェイクタイミングは、データラインのデジタルラインをクロックプロトコルで集録/生成します。このタイミングタイプでは、サンプリングクロック、一時停止トリガ、転送準備完了イベントという3つの制御信号が使用されます。周辺デバイスが一時停止トリガをアサート停止すると、データがアクティブな各サンプリングクロックエッジで転送され、DAQデバイスが転送準備完了イベントをアサートします。

    サンプリングクロックをインポートする場合とエクスポートする場合では、それぞれ異なるバーストハンドシェイクタイミング関数/VIが使用されます。クロックを2つのデバイスで共有する場合、セットアップ/待ち時間などタイミングに関する制限事項が発生するため、適切な関数/VIを選択する必要があります。

  • 指定なし—指定なしサンプリングタイミングタイプは、カウンタを使用する周期/周波数サンプルを集録するために使用します。また、パルス生成にも使用されます。このタイミングタイプは、測定する信号そのものがタイミング信号であるか、タイミングが生成されたパルス列のレートにおいて特に指定されないため、「指定なし」と呼ばれます。