From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



在頂層 VI 察覺 Sub VI 中發生的事件



主要軟體:
主要軟體版本: 7.0
主要軟體修正版本:
次要軟體: N/A

問題: 我在一個 Sub VI 有一個事件結構(Event Structure),並且想要在頂層 VI 能察覺到這個事件,請問可行嗎?

解答:

在 LabVIEW 7.0 版本中,是可以察覺到從 Sub VI 發生在人機介面上的事件。而每個 VIs 之間的連結,便是在人機介面中會觸發事件的物件之參考點。要在一個頂層 VI 中察覺發生在 Sub VI 中的事件,必須做以下動作:

在 Sub VI 中

    1.  在人機介面上放置 control reference 來進行對事件的監控。
    2.  在程式區放置 Register For Events 這個函式。
    3.  將每一個 control reference 與 Register For Events 這個函式連接起來,並且選擇欲監控的事件類型(例如:在圖1 中的 Value Change),以註記這些要控制的事件。

圖1:在Sub VI 中的事件註記

    4.  在 Event Structure 中按右鍵至選單選取 Show Dynamic Event Terminals ,並啟動之。
 

圖2:Show Dynamic Event Terminals

    5.  將 Register For  Events 這個函式與 Dynamic Event Terminal 連接起來,編輯要監控的事件類型。在 dynamic source 底下選擇 control 和 event 。

圖3:Edit Events 對話視窗

.在 event structure 之後放置 Unregister For Events 這個函式,並且將 dynamic event terminal 的輸出連接到 Unregister For Events

圖4:Sub VI 架構

在頂層 VI

    1.  在人機介面上建立一個 control reference 。在 control 上按右鍵並選擇:Create»Reference
    2.  將 Sub VI 放進這個頂層 VI 中。
    3.  將這個 reference 從頂層 VI 中傳至 Sub VI 。把這個 control referene 連接至在 Sub VI 中相對應之 control reference 。

圖5:含有 control reference 之頂層 VI

注意:不適用於 LV 7.0 以前之版本,因為在 LV 7.0 方引進 dynamic event registration 。

範例請參考以下連結。

如需更多資訊, LabVIEW 8.0 或之後的版本,請在 LabVIEW Help (連結如下)參考 Using Events in LabVIEW 。而 LabVIEW 7.1 或更先前的版本,請參考 LabVIEW User Manual (連結如下)。



相關連結:

附加檔案:


Example.zip - Example.zip


報告日期: 12/31/2003
最後更新: 11/06/2008
文件偏號: 34UBL0RF