LabView在長時間等待中如何停止While迴圈

更新 Oct 18, 2023

產品資訊

軟體

  • LabVIEW

問題敘述

  • 如何在使用Waitms計時器結束之前停止While Loop
  • 我的While Loop中有很長的Waitms時間延遲,當我按一下停止按鈕時無法馬上停止程式運行,而是需要等待一段時間才可以完全停止。
  • 在等待期間,如何在執行中途終止While Loop
  • 如何中斷Waitms時間函數。

解決方案

您無法在Waitms 執行時馬上停止VI程式。儘管如此,仍有一些方法可讓您停止While Loop而無需等待很長時間。
 
While Loop中使用Waitms定時VI時,這將允許處理器先執行其佇列中的其他任務,然後再次返回檢查While Loop。因此,建議提供一個低數值給Waitms定時。如果您希望代碼以較慢的速度執行,但仍然能夠馬上停止While Loop,請嘗試使用 Elapsed Time Express VI或創建自己的計時器,如FGV Timer論壇示例所示。
 
 Elapsed Time Express VI表示自指定的開始時間以來,已經用去的時間。請輸入Elapsed times)(預設值為1.000 )以指定在Time has Elapsed布林值轉換為之前必須經歷的時間。請參考使用此函數的代碼示例:

 

相關資訊

為了獲得更好的性能,請考慮使用Producer/Consumer 架構QMHDynamic Events使用這些結構的應用程式處於閒置狀態時將有效的降低處理器的工作量;同時這些結構能夠使用更有效的機制在有必要時停止運行應用程式。