請問while loop或是其他loop,structure…等,要如何能夠同時執行?
其實只要在背後程式放兩個while loop就可以了。

原來是我將STOP連在一起所以才無法同時執行loop,將loop各給ㄧ個STOP即可,但是下面還是有一個疑問,2個loop的圖是OK的且執行無誤,但是我將loop縮減為1個後程式就會ㄧ直停留在Event structure,這是爲什麼呢??有方法可以解決嗎?


Sorry!!我是用KKMAN貼圖的再整理一次


一個while的版本,因為當按下stop之後,loop會執行完這次才會跳出,
所以當按下stop後,執行到event structure後,你還要再按一下010或111隨便一個按鈕,才會跳出
如果我沒猜錯你的需求,應該在event structure再加上一個stop的event即可,
檔案如請參考1while_loop_fixed.vi
此外小弟想順便問各位一個問題(已經加入在上面那個檔案了)
主要需求是按stop後,再按stop2才會結束,問題來了:
1. 按下stop之前,若不小心先按下stop2,則程式就掛著動不了了(按stop無反應了),我試著將stop2先變成disabled+gray(即按了無法改變其布林值),但仍然無法解決。
2. 按下stop之後,若不小心按下010或111,則不影響程式(可繼續按stop2),但若不小心按下Clear all LED,則按stop2就無反應,程式又掛點了。
小弟之前有遇到需要類似功能之架構(有前後流程性的 --- 兩段式等待操作者按按鈕),但這個問題一直困擾著我
因為當程式操作者不是程式撰寫者本人時,不照流程不小心按錯按鈕的機會一定會發生說~
不知各位大大有無解決之道,或者以不同寫法能達到相同目的 感謝回答
event structure好用,但要注意之處也不少阿...
最簡單的方法可以在stop 2及clean all led 裡加一個true false判斷式~判斷stop是否按下~若沒有不執行任何程式!!
就是在我圈起來的地方加入囉!!對不起因為我沒有7.1版的labview~所以只能用這方法告知


看不見附加檔??
to yankess:
檔案我下載成功,應該沒問題~
to sunshine:
感謝你的解答,但你修改的程式功能
是stop與stop2無論前後順序,只要都有按下就會結束
而小弟的目的(如之前小弟的附檔)是希望能先按stop,表示結束第一部份的程式內容~
然後stop2再用以決定第二個部分的程式內容是否結束~
請問有寫過類似功能的前輩,用event structure是否並非一個好選擇呢?
[QUOTE=chansam]
檔案如請參考1while_loop_fixed.vi
此外小弟想順便問各位一個問題(已經加入在上面那個檔案了)
主要需求是按stop後,再按stop2才會結束,問題來了:
1. 按下stop之前,若不小心先按下stop2,則程式就掛著動不了了(按stop無反應了),我試著將stop2先變成disabled+gray(即按了無法改變其布林值),但仍然無法解決。
2. 按下stop之後,若不小心按下010或111,則不影響程式(可繼續按stop2),但若不小心按下Clear all LED,則按stop2就無反應,程式又掛點了。
小弟之前有遇到需要類似功能之架構(有前後流程性的 --- 兩段式等待操作者按按鈕),但這個問題一直困擾著我
因為當程式操作者不是程式撰寫者本人時,不照流程不小心按錯按鈕的機會一定會發生說~
不知各位大大有無解決之道,或者以不同寫法能達到相同目的 感謝回答
event structure好用,但要注意之處也不少阿...
[/QUOTE]
剛剛回味了一下這個vi,小弟終於解決了自己的鳥問題了~
Ans 1:在sequence structure之frame 2內的event structure處, 將觸發條件stop2按鈕設為"value change",不可設為"mouce up",因為在按下stop之前,即使stop2為disabled+grayed out的狀態 ,雖然怎麼按它都不會value change,但仍會感應mouce up。所以會在frame 1 時造成事件混亂,程式掛在那邊動不了。
Ans 2:按下stop之後,也順便將010,111,clear all這三個按鈕變為disabled (或+grayed out),此外他們在frame 1之觸發條件設定方式與Ans 1相同,就ok了。
我想如果用state machine之寫法,或許就不會發生上述問題了,
event structure好用,但要注意之處也不少阿...
