NI-DAQmx使用任务状态模型以增强可用性和提高驱动程序的运行速度。

任务状态模型包括5个状态-未验证、已验证、已保留、已就绪或运行。调用开始任务、停止任务和控制任务函数/VI将任务从一个状态切换至另一个状态。任务状态模型具有非常高的灵活性。可根据应用程序需求,与任务状态模型进行或多或少的交互。



如显式调用已发生的状态转换,则不会重复也不会返回错误。例如,任务已预留了资源且资源因此处于保留状态,则调用动作参数设置为“已保留”的控制任务函数/VI不会再次预留资源。

有时,调用函数/VI可能需要多个状态转换,例如在“已验证”状态下调用“开始任务”函数/VI。在这些情况下,任务将在每个所需状态之间隐式转换以达到最终所需状态,如以下结构框图所示。

除了请求的显式转换之外,“任务状态模型”中的后向转换将撤消任何隐式前向转换。继续上面的范例,从“已验证“状态隐式转换到“运行”状态之后调用“停止任务”函数/VI将导致任务返回到“已验证”状态,如以下结构框图所示。