觀於您的問題我參考前輩的做法,做了一個類似的,您可以參考看看!!!
1.前者有提到邊緣觸發的問題,這是正確的,但是與邊緣觸發相關的vi在lv中好像是 屬於DAQ相關的VI函式才有這樣的設定,在本例中並不是用在DAQ方面!!
2.雖然我們都知道關鍵在於邊緣觸發才能讓程式僅執行一次,但是LV中並無相對應的VI可以使用,所以並須自行創造一個,我的程式做法如下:

這個程式的關鍵就在於下方WHILE LOOP中的Shift Register,互斥或gate,與and gate!!
例如
(a)當開關保持在"false"狀態時,由於shift register初值設定為false的關係,互斥或gate輸出為"false",基於and gate的特性,會有一個"false"的訊號送至case loop,而使得case loop中的程式不動作(只有true才動作).
(b)當開關向上扳(true)時,互斥或gate輸出為"true",另一方面,由於and gate的另一個輸入接腳接至shift register的第一個輸入(true),因此依據and gate的定義,會輸出一個"true"的訊號,使case loop中的動作執行.
(c)由於接上shift register關係,shift register的兩輸入隨即經由互斥或gate,使得輸出為"false",使得case loop中的動作只動作1次!!
(d)當開關又向下扳(false),雖然互斥或的訊號輸出為"true",但是因為shift register的第一個輸入接在and gate,因此case loop將保持在"false"之狀態,不會重複動作!!!
程式: 2004-10-04_134146_single_action.vi
Sincerely
==================
Writing by 麟仔
LabVIEW 7.0
Windows XP
==================