NI-DAQmxはタスク状態モデルを使用して、ドライバの操作を簡素化し、ドライバのパフォーマンスを高速化します。

タスク状態モデルは、未確認、確認済み、予約済み、コミット、実行中の5つの状態から構成されます。「DAQmxタスクを開始」関数/VI、「DAQmxタスクを停止」関数/VI、「DAQmxタスクを制御」関数/VIを呼び出すと、タスクをある状態から別の状態に移行します。タスク状態モデルは、柔軟性に優れています。アプリケーションの必要性に応じて、タスク状態モデルを操作する頻度を自在に選択することができます。



既に発生された状態遷移を明示的に呼び出した場合、遷移状態は繰り返されず、エラーは返されません。たとえば、タスクがリソースを既に予約した場合、つまり、タスクが予約状態にある場合、動作パラメータが予約済みに設定された「DAQmxタスクを制御」関数またはVIを呼び出しても、リソースは予約されません。

確認済み状態のときに「タスクを開始」関数/VIを呼び出す場合など、関数/VIを呼び出すことで複数の状態遷移が必要になる場合があります。このような場合、次の図に示すように、タスクは各必要な状態を暗示的に遷移して最終的な状態に移行します。

タスク状態モデルで逆方向へ移行すると、要求された明示的な遷移に加えて、暗示的な順方向への遷移も取り消されます。上記の例を継続して、確認済み状態から実行中状態に暗示的に移行した後で「タスクを停止」関数/VIを呼び出すと、以下の図に示すようにタスクは確認済み状態に戻ります。