Menu:

第7章  定时(2)


定时内置函数


滴答计数(ms)
      这个内置函数经常被用来测定“部分程序”的执行时间。它无法给出准确的系统时间,但是可以实现以ms为单位的时间差的计算。


Wait(ms)
      这是一个以ms为单位的小定时器。它的作用相当于延迟Xms,在延迟时间内它并不防碍其它的vi运行。
      它适合用在单步延迟或给其它任务一定的执行时间。


Wait Until Next ms Multiple
     
这也是一个以ms为单位的小定时器。它的作用相当于延迟Xms,在延迟时间内它并不防碍其它的vi运行。但是它的第一次延时是不准确的,以后给出准确的整倍数延迟时间。
      通常,在While循环、状态机中要求放置一个该内置函数,避免循环高速执行导致CPU的使用率很高(也可以用Time While循环来代替 )。
      它适合用在非常规则的循环延迟或具有规则的定时许多并行循环。


定时器的定时时间自动匹配最大的

      如果一个环路中有两个定时回路,一定是执行定时时间最大的那个。

      在这个例子中我们看到起作用的总是Wait定时器。这是因为Wait....第一次延迟是不确定的(总是小于200 ms)。


      在这个例子中也可以清楚的看到这一点。这就意味者,尽管加入了定时,如果在程序执行时的运行时间大于定时时间,定时将不起作用,直到程序运行完的下一个定时点。也就是说无论在什么情况下定时都不会干扰程序的运行。



利用定时功能实现循环间的同步运行

      大师给出了一个利用定时器实现循环间同步的例子。而使用Wait内置函数则不会出现这样的效果。

      使用这个内置函数来实现同步的内部机理尚不清楚,我猜想可能与它的工作方式中涉及到绝对时间有关。因为它的第一次定时时间总是不准确的,而Wait函数与它不一样。


Elapsed Time
     
这是一个计算已经消耗的时间的一个快速vi。在《学习札记》中的“VI设计”栏目给出了它的具体应用实例,有兴趣者可以到那里查看,并可下载该实例。