使用網路發佈的共享變數在系統之間進行通訊

更新 Aug 12, 2025

環境

硬件

  • CompactRIO Controller

軟體

  • LabVIEW

LabVIEW 可以使用網路共享變數在系統之間傳遞資訊。按照本文的步驟,您將能夠建立一個網路共享變數並部署它,以便在主機與客戶端之間傳遞資訊。

請參閱 Using the LabVIEW Shared Variable 文章,以更好地理解 LabVIEW 共享變數的概念以及其背後的結構。

建立 LabVIEW 網路共享變數

在此設定中,您可以使用兩台電腦互相傳送資料,或使用一台電腦與控制器(如 CompactRIO (cRIO))配合使用。您需要選擇其中一台作為伺服器並承載變數,另一台作為客戶端。然後按照以下步驟設定伺服器與客戶端機器。

注意:如果使用 cRIO,它可以根據您的應用需求作為承載變數的伺服器或作為客戶端。

在伺服器端機器上:

  1. 建立一個 LabVIEW 專案,並透過在 My Computer 上按右鍵選擇 New » Variable 來新增變數。確保將 Variable Type 設定為 Network Published

  1. 建立一個新的 VI,並像平常一樣讀寫網路發佈的共享變數,如 Using the LabVIEW Shared Variable 中所述。伺服器專案應如下圖所示。

在用戶端機器上:
建立一個新的 LabVIEW 專案,新增一個 VI,並使用 Shared Variable API 的功能與遠端伺服器上承載的共享變數進行通訊。Shared Variable API 可以在 Functions Palette 的 Data Communication 下找到。

  1. 使用 Open Variable Connection 函數並搭配字串(String)或 Shared Variable Refnum 常數或控制項來指定網路發佈的共享變數 URL,其格式為:
    ni.var.psp://<machine_name_or_IP_address>/<library>/<variable>
    您可以透過在任何 Shared Variable API 函數的輸入端點上按右鍵,選擇 Create » Constant/Control 來建立 Shared Variable Refnum 常數或控制項。

  2. 按需求使用 Write VariableRead Variable 函數來寫入或讀取變數。

  3. 使用 Close Variable Connection 函數關閉對網路發佈的共享變數的引用。程式碼看起來應類似下圖所示。

附加資訊

自 LabVIEW 2009 起提供的 Shared Variable API 是在 Windows 系統間進行通訊的建議方法。然而,也有另一種方法是將網路發佈的共享變數繫結(binding)到前面板物件,這樣一來,當綁定的變數有任何變化時,控制項或指示器會自動更新。
不過,不建議使用資料繫結(data binding)方法,因為它會模糊前面板物件的功能;由於控制項或指示器並不是從資料線取得數值,這會降低程式碼的可讀性。

如需更多資訊,請參考「相關連結」中的文件以及 Shared Variable.lvproj 的隨附範例。若要找到該範例,可啟動 LabVIEW 並點擊 Help » Find Examples.. 以開啟 Example Finder,載入後選擇 Browse(依任務分類),然後展開 Networking » Shared Variable

如果您在用戶端機器上使用上述方法讀取網路共享變數,請確保只開啟一次引用(reference)。若將開啟 VI 的動作放在迴圈中,則每次執行迴圈都會開啟新的實例,這將導致 LabVIEW 當機或因引用未關閉而掛起。