While Loop架構問題

請教各位高手

小弟目前進行有關影像&運動的測試

程式架構為Loop1:影像擷取 and Motion狀態的monitor

Loop2:擷取鍵盤按鍵 & 控制Motion & I/O控制

遭遇問題是:當我在Loop2加上I/O控制相關VI後, Loop1的SubVI就不動作了

縱使在Loop2加上Delay也沒有改善,若修改各SubVI的priority情形有改善,不過仍然不順暢. 倘若我把I/O的部分在獨立出來成為另一各Loop3, 狀況就可以順利的執行, 想請問各位高手這該如何去架構程式,又該如何避免類似情形,謝謝

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

建議你在每個While Loop裡加入Wait Until Next ms Multiple,如下圖:

![](upload://3FPiJgsJbrdcPMjQ1zx802DpbD2.png)

這樣的做法是釋放資源給其他執行的程式.

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

請問:這個等待是否也會釋放資源給其他執行的程式.

2 個差異在那?

謝謝![](upload://aeTYlqEc1qXvs9Jv3ju6pnq9wZt.gif)

http://labview.com.tw/forum/forum_posts.asp?TID=1013

這一篇裡面有討論,請善用搜尋喔

Wait Until Next ms Multiple 元件第一次執行非常不準,元件使用說明有講到"However, it is possible that the first loop period might be short."

不過,為什麼Wait Until Next ms Multiple元件要這樣設計?還是不懂?![](upload://qPCmzfq2KigUaPncn6Um67RUCob.gif)

2 者都會釋放資源給其他程式使用!![](upload://bYCGLVQ2xYCkY6TSDzv2PwwNXoA.gif)

就我之前的習慣用法都會在每個Loop中加入Wait Until Next ms Multiple,因為這樣系統每Run完一次迴圈就會等候一小段時間,這時候如果還有其他Loop的話才有機會取得系統資源,不然可能需要等到Loop執行完,程式可能會不順。