• 要求—I/O任务不支持硬件定时操作。
  • 解决方案—在LabVIEW中使用定时循环或在LabWindows/CVI中使用异步计时器,实现软件定时。将NI-DAQmx任务配置为按需定时。

    优点

    • 可使用非硬件定时的操作进行I/O控制循环。
    • 读取、处理和写入操作仅限于定时循环或其他异步时钟规定的软件定时周期内。

    限制

    I/O采样可能受软件的误差影响。

  • 应用范例-软件定时I/O

    数字I/O控制循环。应用程序监测若干离散输入的状态并根据控制算法选择输出的值。NI-DAQmx中的单点数字I/O无法使用硬件定时。

    时序示意图



    LabVIEW范例-软件定时I/O

    备注 该范例针对LabVIEW用户而写,但是编程思想适用于其他ADE,例如,LabWindows/CVI。
    • 与系统事件源(毫秒或微秒量级)不相关的定时循环完成该任务。配置定时循环的速率。
    • 将所有任务配置为软件定时(按需)。
    • 定时循环向应用程序提供上个循环是否按时完成的反馈。通过"Finished Late [i-1]"节点传递反馈。

    范例的程序框图



    备注
    • 定时循环使应用程序可从循环内调节其周期,达到控制的动态定时算法。
    • 当定时循环等待下一次执行时,可执行低优先级的进程。
    • 其他软件定时方法包括使用等待和等待下一个整数倍毫秒(毫秒和微秒量级)。当应用程序延迟时,这些方法不会产生任何反馈。