[Labview資料] labview事件結構學習

 


編程的主要目的是爲了實現用戶的某種功能,用戶經過用鼠標、鍵盤、程序內部等觸發某種程序動做,從而達到某種結果,這些操做都被稱做爲事件,LabVIEW中相應這些事件最經常使用的結構就是「事件結構」。事件結構內容豐富,基本上大的程序結構都須要用到事件結構,下面將詳細介紹事件結構。
    事件結構在程序不可以單獨響應各類事件,必須與循環結構一同使用,以下圖
      <ignore_js_op> 
    事件添加方式很簡單,鼠標右鍵事件框彈出菜單如上圖,有添加、刪除、複製、編輯事件等選項,按照操做便可。以下圖,爲事件結構添加Stop事件,布爾控件觸發事件的方式有多種,鼠標按下、通過、離開、進入等,這裏咱們選擇「值改變」。肯定後,stop事件就被添加進去了,以下圖,當咱們運行程序後,點擊前面板的stop按鈕,觸發事件使while循環中止然後程序也中止。 
    <ignore_js_op> 
    同一事件分支只能添加一種事件嗎?固然不是!有的時候有不少不一樣操做卻會執行相同代碼,怎麼編程纔不會讓代碼冗餘呢?看個例子,以下圖2個按鈕stop1,stop2點擊後均可以讓程序中止,咱們怎麼爲其添加事件呢?
       <ignore_js_op> 
    咱們先添加一個事件stop1的,方法上面已經描述了。因爲stop2的執行代碼和stop1同樣,咱們在事件stop1上右鍵->彈出菜單->編輯本事件分支(Edit Event Handled by This Case)會彈出已添加事件stop1的編輯框,這是左側有2個按鈕以下截圖
       <ignore_js_op> 
    咱們點擊Add Event左側事件列表會出現以下變化 

       <ignore_js_op> 
    選中這個後,右側列表選中stop2的Value Change事件後,點擊肯定在看該事件分支以下,2個事件就添加在同一個分支當中了,運行程序後,點擊stop1或stop2都可讓程序中止。
    <ignore_js_op> 

    超時


    超時是事件結構特有的,看名字就知道是怎麼回事,即超過必定時間沒有觸發事件則執行超時事件。若是超時時間設置<=-1,則永遠也不執行超時事件,循環處於空閒等待狀態。以下圖,若是設置超時時間爲100,則超過100ms無任何事件觸發,則執行超時事件。
    <ignore_js_op> 
    因此若是程序事件功能很少,又須要定時執行一段代碼,能夠考慮用此方式來完成;若是程序操做頻繁,則不建議用此事件來定時執行代碼。 
    添加事件方法學會了,有的人在編程時發現點擊按鈕下去後,發現前面沒法響應其餘事件了,彷佛前面被鎖住了同樣,這是爲何呢?咱們知道添加事件是會有個事件編輯框,上面已經截圖了,那你有沒有注意在框體下邊有個
選項呢
    <ignore_js_op> 
這個選項的意思是:若是本事件框沒有執行完畢前鎖定前面板。看到這你就應該明白上述問題所在了吧,因此有的時候咱們果斷去掉這個選項。OK,問題解決了。
相關文章
相關標籤/搜索