• 要件—アナログ入力タスクをハードウェアタイミングで制御する必要があります。出力タスクは、サンプリングクロックエッジでハードウェア同期を行う必要がありません。
  • 解決法—DAQmxのリアルタイム見過ごしたサンプルを報告属性/プロパティを使用して、読み取り操作における前の反復のサンプル変換が完了する前に新しいサンプルが準備完了状態になると、エラーが発生するようにします。

    利点

    • 入力サンプルは、ハードウェアタイミングに基づきます。
    • 読み取り、処理、書き込みの各操作は、後続の読み取り操作で次の入力サンプルのセットを完了するだけの十分な時間があれば、次のサンプル周期にオーバーフローすることができます。マルチプレクスデバイス (EシリーズやMシリーズなど) の複数のチャンネルからデータを集録するアプリケーションでは、デバイスが読み取り操作が返す入力サンプルの変換を完了するまで待機する必要があります。処理と書き込みの操作を次のサンプル周期にオーバーフローさせることで、アイドル時間を有効に活用できます。これにより、アプリケーションの制御ループの速度が高速になります。

    制約事項

    出力の更新はハードウェアタイミングに基づいていないため、ソフトウェアジッタの影響を受けます。

  • サンプルアプリケーション: ハードウェアタイミングによる入力とソフトウェアタイミングによる出力

    この種類のアプリケーションの例には、特定の数のマルチプレクスアナログ入力チャンネルからサンプルを読み取り、制御アルゴリズム (PIDなど) でデータを処理し、ソフトウェアタイミングタスクによって新しい値をアナログ出力チャンネルに書き込むアナログ制御ループが挙げられます。

    タイミングダイアグラム



    LabVIEWの例: ハードウェアタイミングによる入力とソフトウェアタイミングによる出力

    メモ このサンプルはLabVIEWユーザ向けに書かれていますが、基本的な概念はLabWindows/CVIなどの他のアプリケーション開発環境にも共通します。
    • アナログ入力操作の見過ごしたサンプルを報告プロパティをTRUEに設定します。
    • 読み取り操作の一環である前の反復からのサンプル変換が、新しいサンプルが到着する前に完了しないと、エラーが返されます。

    サンプルブロックダイアグラム



    メモ
    • アナログ入力読み取りのオーバーフローエラーが発生した場合に、エラーではなく警告が発信されるようにするには、遅延エラーを警告に変換プロパティをTRUEに設定します。
    • 1つのLabVIEWループ内で「DAQmx次のサンプリングクロックまで待機」VIと見過ごしたサンプルを報告プロパティを使用しないでください。
    • 見過ごしたサンプルを報告プロパティは、ハードウェアタイミングによるシングルポイントアナログ入力タスクによってのみサポートされます。
    • アナログ出力タスクはソフトウェアタイミングを使用するため、書き込み関数の呼び出しが開始されるとすぐに値の書き込みが開始されます。したがって、ハードウェアクロックによるデータ出力を待機しません。