請教各位高手(如圖),當我按下布林開關後,Case Structure裡面的For Loop跟While Loop可以同時啟動,但是請問要如何做才能使Case Structure裡面的For Loop跟While Loop同時停止?
是這樣嗎?
[QUOTE=EdwardHuang]
是這樣嗎?
LabVIEW 8.5以前的版本是無法做到 .8.5以後For loop會多了Conditional terminal的功能
[QUOTE=mjking][QUOTE=EdwardHuang]
是這樣嗎?
[/QUOTE]感謝大大回覆,可能我的要求沒說明清楚,此種作法似乎限定while loop跑的圈數根for loop一樣,但是我的for loop內的程式比較多,跑的時間跟while loop不一樣,所以無法達到同步停止的功能,布過還是感謝你。[/QUOTE]
你好:
讀完你的程式發現你的程式邏輯有點問題(紅字部份),如果有誤煩請各位好手不吝指正。
回到正題,1.for loop執行前一定要宣告迴圈數;2.如果你目的是要兩迴圈同時停止,與兩迴圈內部程式繁簡無關,因為你最外部還有一個while loop作為程式最終開關,在for loop迴圈數大於while loop條件下,只要設定好布林一定能同步關閉。
如果你的目的是while loop停止時,for loop同時跑完,可以利用falt structure來做到,因手邊電腦沒有LabView晚些在補圖例。
希望有幫助。
simoncat39962.0955092593[QUOTE=simoncat][QUOTE=mjking][QUOTE=EdwardHuang]
是這樣嗎?
[/QUOTE]感謝大大回覆,可能我的要求沒說明清楚,此種作法似乎限定while loop跑的圈數根for loop一樣,但是我的for loop內的程式比較多,跑的時間跟while loop不一樣,所以無法達到同步停止的功能,布過還是感謝你。[/QUOTE]
你好:
讀完你的程式發現你的程式邏輯有點問題(紅字部份),如果有誤煩請各位好手不吝指正。
回到正題,1.for loop執行前一定要宣告迴圈數;2.如果你目的是要兩迴圈同時停止,與兩迴圈內部程式繁簡無關,因為你最外部還有一個while loop作為程式最終開關,在for loop迴圈數大於while loop條件下,只要設定好布林一定能同步關閉。
如果你的目的是while loop停止時,for loop同時跑完,可以利用falt structure來做到,因手邊電腦沒有LabView晚些在補圖例。
希望有幫助。
[/QUOTE]
感謝您的回覆,可能我的說明不是很清楚吧。
我的For Loop有宣告回圏數(如圖例),再來我的目的是想要當For Loop跑完時,While Loop跟著停止,而最外部的While Loop是當我轉成執行檔時,每一次執行該檔時,程式會自動run,所以基本上不會停止。
我想了一下如何用falt structure實現,可是找不到方法,可否請大大指導一下。
感謝您的賜教!!
不知道這樣是不是滿足妳的要求

這樣的邏輯好像怪怪的
但是寫了以下的程式 看看是不是符合你需求 SSloop.vi
*補充一下: 基本上有辦法可以控制For loop的停止嗎?(由使用者隨意停止) 如果可以才有辦法做到For Loop與While Loop同時停止, 可能要請其他有經驗的前輩指導
NewHandAlex39966.4155671296
善用Rendezvous
應該可以達到你想要的功能
[QUOTE=NewHandAlex]
這樣的邏輯好像怪怪的
但是寫了以下的程式 看看是不是符合你需求 SSloop.vi

*補充一下: 基本上有辦法可以控制For loop的停止嗎?(由使用者隨意停止) 如果可以才有辦法做到For Loop與While Loop同時停止, 可能要請其他有經驗的前輩指導
[/QUOTE]
感謝大大的指教,用以上方式問題已解決。
[QUOTE=wu7028]
善用Rendezvous
應該可以達到你想要的功能
[/QUOTE]
可否冒昧請教大大,您提到的Rendezvous是什麼東西?小弟是新手,對LV還不是很熟悉。
使用Rendezvous,可以讓兩個或多個loop執行次數一致,比較接近同步的功能
wu7028,
可否請問Rendezvous和Queue,Notify及Occurance之間是否用途是一樣或有差異?
[QUOTE=mjking][QUOTE=simoncat][QUOTE=mjking][QUOTE=EdwardHuang]
是這樣嗎?
[/QUOTE]感謝大大回覆,可能我的要求沒說明清楚,此種作法似乎限定while loop跑的圈數根for loop一樣,但是我的for loop內的程式比較多,跑的時間跟while loop不一樣,所以無法達到同步停止的功能,布過還是感謝你。[/QUOTE]
你好:
讀完你的程式發現你的程式邏輯有點問題(紅字部份),如果有誤煩請各位好手不吝指正。
回到正題,1.for loop執行前一定要宣告迴圈數;2.如果你目的是要兩迴圈同時停止,與兩迴圈內部程式繁簡無關,因為你最外部還有一個while loop作為程式最終開關,在for loop迴圈數大於while loop條件下,只要設定好布林一定能同步關閉。
如果你的目的是while loop停止時,for loop同時跑完,可以利用falt structure來做到,因手邊電腦沒有LabView晚些在補圖例。
希望有幫助。
[/QUOTE]
感謝您的回覆,可能我的說明不是很清楚吧。
我的For Loop有宣告回圏數(如圖例),再來我的目的是想要當For Loop跑完時,While Loop跟著停止,而最外部的While Loop是當我轉成執行檔時,每一次執行該檔時,程式會自動run,所以基本上不會停止。
我想了一下如何用falt structure實現,可是找不到方法,可否請大大指導一下。
感謝您的賜教!!
[/QUOTE]
先恭喜妳問題解決
我補上次說的圖解,當作另一參考
simoncat39968.7925115741
[QUOTE=simoncat][QUOTE=mjking][QUOTE=simoncat][QUOTE=mjking][QUOTE=EdwardHuang]
先恭喜妳問題解決
我補上次說的圖解,當作另一參考
[/QUOTE]
感謝大大熱情參與討論,不過您可能誤解的意思了唷,您上述作法是讓While Loop跟For Loop執行圈數一樣,不是2個Loop同步開始和停止唷,不過依然非常感謝您啦!!