在早期的單元裡有介紹Queue 和 Producer and Consumer 的應用: LabVIEW_多重迴路架構-Producer & Consumer架構教學範例LabVIEW_Queue的教學_用法和範例 ,但在實務上這兩種用法可能又太簡單了,實際應用上,往往步驟複雜且多元,所以這篇用LabVIEW的template-Producer/Consumer Design Pattern (Events)作範例修改成以個彈性較大的模板。

程式碼可在這邊下載 如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

image

這個範例,有兩種模式分別的功能如下:

  • Start All : 打開 燈1、燈2、燈3
  • Start 3+1 : 打開 燈3、 燈1

可以看出這兩種模式有相同的功能: 燈1、燈3,但是順序不同,在第2種模式(Start 3+1)時必須先開燈3再開燈1,這樣子重複性高、順序跳躍的形式,使用State Machine並不適合,因為要使用太多的Case去區隔不同的模式。

這個範例使用Script(劇本)的概念來運作,將每個"功能"都當作劇本中的一個小章節,不同的模式則選用不同的章節來完成:

  • Script 1 : 打開燈1、打開燈2、打開燈3
  • Script 2 : 打開燈3、 打開燈1

實際上的程式:

當Start 3+1 的按鈕被啟動後。會觸發 Producer Loop(上 Loop) 的"Start 3+1 Script",而Consumer Loop(下 Loop) 會接收到做"Start 3+1 Script"劇本,並發出指令集"Off All"、"Light 3"、"Light 2"。

image

Function: Off All、Light 1、Light 2、Light 3、Stop

image

程式碼可在這邊下載 如果覺得文章有幫助,請不要吝嗇按下側邊的廣告唷~ 謝謝~

學習相關LabVIEW文章:

進階程式學習

基礎程式學習

專題學習_LVOOP

專題學習_動態載入

程式分享相關LabVIEW文章:

基礎程式分享

進階程式分享

股票程式分享

考取LabVIEW證照相關:

CLAD

CLD

CLA準備CLA考題分析

 

arrow
arrow

    安伯伯 發表在 痞客邦 留言(0) 人氣()