2013/10/20

Wait (ms) 與 Wait Until Next Multiple (ms) 有何不同


圖一

大多數的 LabVIEW 使用者對於延時元件 Wait (ms) 與 Wait Until Next ms Multiple 都不陌生,但對於這兩者的差別往往說不清楚,甚至有錯誤的理解。讓我們先來看以下的例子:



圖二

在上圖的程式中,註解1標示的區域是模擬一個執行時間為 50 ms 的主程式功能,註解2標示的是延時元件,此處以Wait (ms)等待200 ms。註解3的程式則是利用 Tick Count (ms) 實測每次迴圈執行所費的時間。由於在上圖中,Wait 等待的時間為 200 ms 大於主程式的 50 ms,for 迴圈每次執行完主程式的 50 ms後,都要等待額外的150 ms,補足到 200 ms 才會執行下一次迴圈運算。因此Wait元件的功能,顧名思義就是「等待」,等到一定的時間後,才進行下一次迴圈運算。實際的運算結果如下圖所示,每次都是不多不少正好是 200 ms。