回覆列表
  • 1 # 使用者7424076759961

    在開始介面的New欄裡選More...,彈出對話方塊裡會有很多模板可以選擇,因為是從8.2開始用的。對於我們常用的來說,還是Frameworks-Design Patterns裡的幾個模板值得好好研究一下。下面簡單介紹下幾種簡易的框架:

    Master/Slave Deisgn Pattern(主從設計模式)

    如上圖模板用於建立主/從模式的應用程式。主迴圈始終保持執行狀態,並向一到多個從迴圈傳送通知,使其執行程式碼。從迴圈收到通知後,將連續執行迴圈內部的程式碼直到完成任務,然後等待下一個通知。與改模式相比,生產者/消費者模式僅當佇列中仍有資料時,消費者迴圈才會執行。

    在這種模式下,Master迴圈透過Notifier(通知器)來控制Slave迴圈的工作。這種模式有什麼用呢?如果是傳統的單迴圈結構,當程式處理程式碼耗時過長的話,很有可能會造成控制指令響應的滯後。而在主從模式下,Master迴圈可以用來接收控制指令,Slave迴圈用來執行相應的程式碼,從響應上來說,就能夠避免長時間不響應的情況出現。

    Producer/Consumer Design Pattern (Events)(響應事件的生產者/消費者模式)

    如上圖該模板用於生產者/消費者模式的應用程式,以事件驅動的方式,生成佇列中的項。如需要響應事件實現程式碼的非同步執行,同時不影響使用者介面的響應速度,可考慮用該模式替代“使用者介面事件處理器”模式。

    這種模式的結構很類似於主從模式,這裡的兩個迴圈變成了Producer迴圈和Consumer迴圈。在主迴圈裡,用一個Event Structure響應使用者的介面操作,每一步操作透過Queue送到Consumer迴圈裡執行。這樣,實現了介面和事物程式碼的分離,有助於程式碼的模組化設計。

    Producer/Consumer Design Pattern (Data)(處理資料的生產者/消費者模式)

    該模板用於建立生產者/消費者模式的應用程式。該模板可用於執行諸如資料分析的資料處理,或者在以不均勻速率產生資料的資料來源中(如觸發採集),當資料可用時對資料進行分析。

    跟前面一種模式基本一樣。這種模式一個很典型的應用環境就是高速資料採集和儲存。因為高速數採對資料讀取速度要求很高,而對磁碟的操作是一件很花時間的事情,用這種模式把兩者分開,可以保證資料讀取的速度。實際上,這裡的Queue也就是起到了一個Buffer的作用,把資料先暫存在記憶體裡,然後一點一點交給硬碟寫入。

    Queued Message Handler(訊息佇列處理器)

    這是一個非常有意思的結構,以這種結構為基礎,可以做出非常好的程式結構,可讀性和緊湊性都非常好。

    Standard State Machine(標準狀態機)

    這也是一種非常好的結構,跟Queued Message Handler配合,用在前面說的三種模式裡,搭建的程式框架,已經是我LabVIEW程式開發的標準框架了。

    User Interface Event Handler(使用者事件處理器)

    其實就是一個Event Structure,沒有什麼特別之處。

  • 2 # 使用者7424076759961

    在開始介面的New欄裡選More...,彈出對話方塊裡會有很多模板可以選擇,因為是從8.2開始用的。對於我們常用的來說,還是Frameworks-Design Patterns裡的幾個模板值得好好研究一下。下面簡單介紹下幾種簡易的框架:

    Master/Slave Deisgn Pattern(主從設計模式)

    如上圖模板用於建立主/從模式的應用程式。主迴圈始終保持執行狀態,並向一到多個從迴圈傳送通知,使其執行程式碼。從迴圈收到通知後,將連續執行迴圈內部的程式碼直到完成任務,然後等待下一個通知。與改模式相比,生產者/消費者模式僅當佇列中仍有資料時,消費者迴圈才會執行。

    在這種模式下,Master迴圈透過Notifier(通知器)來控制Slave迴圈的工作。這種模式有什麼用呢?如果是傳統的單迴圈結構,當程式處理程式碼耗時過長的話,很有可能會造成控制指令響應的滯後。而在主從模式下,Master迴圈可以用來接收控制指令,Slave迴圈用來執行相應的程式碼,從響應上來說,就能夠避免長時間不響應的情況出現。

    Producer/Consumer Design Pattern (Events)(響應事件的生產者/消費者模式)

    如上圖該模板用於生產者/消費者模式的應用程式,以事件驅動的方式,生成佇列中的項。如需要響應事件實現程式碼的非同步執行,同時不影響使用者介面的響應速度,可考慮用該模式替代“使用者介面事件處理器”模式。

    這種模式的結構很類似於主從模式,這裡的兩個迴圈變成了Producer迴圈和Consumer迴圈。在主迴圈裡,用一個Event Structure響應使用者的介面操作,每一步操作透過Queue送到Consumer迴圈裡執行。這樣,實現了介面和事物程式碼的分離,有助於程式碼的模組化設計。

    Producer/Consumer Design Pattern (Data)(處理資料的生產者/消費者模式)

    該模板用於建立生產者/消費者模式的應用程式。該模板可用於執行諸如資料分析的資料處理,或者在以不均勻速率產生資料的資料來源中(如觸發採集),當資料可用時對資料進行分析。

    跟前面一種模式基本一樣。這種模式一個很典型的應用環境就是高速資料採集和儲存。因為高速數採對資料讀取速度要求很高,而對磁碟的操作是一件很花時間的事情,用這種模式把兩者分開,可以保證資料讀取的速度。實際上,這裡的Queue也就是起到了一個Buffer的作用,把資料先暫存在記憶體裡,然後一點一點交給硬碟寫入。

    Queued Message Handler(訊息佇列處理器)

    這是一個非常有意思的結構,以這種結構為基礎,可以做出非常好的程式結構,可讀性和緊湊性都非常好。

    Standard State Machine(標準狀態機)

    這也是一種非常好的結構,跟Queued Message Handler配合,用在前面說的三種模式裡,搭建的程式框架,已經是我LabVIEW程式開發的標準框架了。

    User Interface Event Handler(使用者事件處理器)

    其實就是一個Event Structure,沒有什麼特別之處。

  • 中秋節和大豐收的關聯?
  • 有哪些經典電影帶有濃濃的夏日風情?