剛學labVIEW搞不太懂Timing VIs

不好意思

剛接觸labVIEW

對於Timing Pallete裡面的一些VIs快搞混了,

可以請問一下關於"Wait Until Next ms Multiple", "Wait (ms)", "Time Delay", "Elapsed Time"這四個functions

好像都是在延遲時間的,到底他們之間有什麼差別,什麼時候該用什麼呢?

謝謝大家,請多指教

 

 

Wait Until Next ms Multiple:控制程式執行一次與下一次的間隔
    每次程式執行完,會等所輸入的時間到了再繼續執行!
 
Wait (ms):使你的程式在等待輸入的秒數後才會執行~
    以後所執行的時間就是程式執行完就繼續執行,沒有上述之間還有等待的時間!

下面兩個是Express VI

Time Delay:覺的跟Wait很像~都是可用來做程式執行延遲~

Elapsed Time:可以顯示出程式延遲(流逝)的時間,且超過輸入的時間後,會重新執行!

建議你可以在你的程式裡面,放入不同的Time來實際跑跑看~!

因為我自己在弄的過程中~覺得差異性不大~但是在儀器量測上面,若時間的精確度要求到ms等級,影響就蠻有差別的!我就比較常用 Wait Until Next ms Multiple

再看看有沒有其他人的見解囉!
Express VI 我比較不熟!!@@!!

[QUOTE=tony7238]Wait Until Next ms Multiple:控制程式執行一次與下一次的間隔
    每次程式執行完,會等所輸入的時間到了再繼續執行!
 
Wait (ms):使你的程式在等待輸入的秒數後才會執行~
    以後所執行的時間就是程式執行完就繼續執行,沒有上述之間還有等待的時間!
[/QUOTE]

不好意思,婐用兩張圖片來補充說明Wait Until Next ms Multiple跟Wait (ms)的不同。

 

謝謝 tony與站長的圖片說明,現在觀念很清楚了!

如果wait until next ms multiple所設定的秒數小於執行Pre-code + Loop-code或Loop-code所需的秒數,那labVIEW會怎麼發生什麼事?會怎麼處理?

 

[QUOTE=NicolasCage]如果wait until next ms multiple所設定的秒數小於執行Pre-code + Loop-code或Loop-code所需的秒數,那labVIEW會怎麼發生什麼事?會怎麼處理?[/QUOTE]

假設wait until next ms multiple設定為10ms,一個while loop所需的執行時間是50ms。那麼迴圈會耗時50ms

假設wait設定為10ms,一個while loop所需的執行時間是50ms。那麼迴圈會耗時60ms (50+10=60)

補充Time Delay Express VI說明:和Wait(ms)類似,只是加入了內建錯誤叢集(error cluster),以下則是error cluster說明

![](upload://epwW1UuosfZmNMn4rsV5du4qd91.jpeg)

 

感謝大家回答,現在觀念真的清楚很多

謝謝大家^^

請問一下各位Labview的高手大大 , Labview如何做到像PLC的Timer一樣的的功能呢 ??

例如: 一個按鈕按下去 , 就開始計時,時間未到就放開 => T1 OFF ;  計時到時仍未放開=>T1 ON

 

煩請指教 ,謝謝~

可能要使用Event Structure,建立此Button的Value Change事件

如果沒記錯,Button False與Button True轉換之間都觸發此事件
你可以根據事件結構左下端的New Value,另外加設判斷條件
讓False -> Ture 觸發開始計時(歸零)
True -> False觸發此計時目前elasped time是否大於指定時間,如果已經大於,則變更狀態機,或送特定命令入Queue

[QUOTE=daVinci]

請問一下各位Labview的高手大大 , Labview如何做到像PLC的Timer一樣的的功能呢 ??

例如: 一個按鈕按下去 , 就開始計時,時間未到就放開 => T1 OFF ;  計時到時仍未放開=>T1 ON

 

煩請指教 ,謝謝~

[/QUOTE]