數個 vi 公用 global 變數,執行檔如何製作 ?

請問 ;

  1. 在一台電腦裡, 一個 Project 下
  2. A/B/C 三個 vi , 個別獨立執行, 但都需要讀取 Global 變數
  3. D.vi 負責將資料由 Modbus 讀取後, 放入 Global 變數.vi

以上, 當製作執行檔時, 是不是 A/B/C/D 各別都要打包成一個 exe 檔 , 並且每一個都要把 Global 變數.vi include 進來 ? 執行檔才能讀到 Global 變數 ? 請教正確的打包方式應該如何處理?

Solution 答案是不行

No, global variables cannot share data between LabVIEW projects or executables. Each project or executable uses its own memory space. So global variables can only share data with subVIs within a single project or executable. However, there are other methods for communicating between projects or executables which are detailed in “Additional Information” below.

你可以開一個MAIN.VI, 主WHILE LOOP內,把ABCD四個VI各放在各自的WHILE LOOP,個別運行.或是ABCD放在Sequence structure,輪流路ABCD VI.只要把MAIN VI Build成EXE檔,這樣的情形下,global變數是可以互丟資訊的.

1個讚

感謝回覆.
因為AB/C 都很複雜,但程式一模一樣,考慮日後維護,已經將 global Variable 改成 shared Variable,實測可行.

1個讚