將命令行參數傳遞給LabVIEW可執行檔

更新 Jan 9, 2020

產品資訊

Software

  • LabVIEW Full

問題敘述

如何將命令行參數傳遞給使用LabVIEW 建構出的的可執行檔?

解決方案

可能需要使LabVIEW可執行檔以不同的狀態或不同的輸入參數啟動。從命令行啟動LabVIEW可執行檔時,只要電腦具有適當的Run-Time Engine和必要的驅動程式,就可以將用戶定義的參數傳遞給應用程式。下面描述如何完成此操作。請注意,在不同版本的LabVIEW中,使用命令行參數調用LabVIEW可執行檔的語法不同。
當LabVIEW將參數從命令行傳遞到LabVIEW可執行檔時,可以使用Property node Application:Command Line Arguments Selection來引用block diagram上的參數 , 如圖1所示。

圖1 。參數Property Node

參數以字串陣列(array of strings)的形式出現。陣列中的第一個元素始終是應用程式的名稱。
  • LabVIEW 8.0及更高版本
隨著LabVIEW 8.0中專案的引入,您首先需要在應用程式的build specification中啟用命令行參數的傳遞。為此,請按照下列步驟操作:
  1. 在已完成專案Project Explorer 中,右鍵點擊 Build Specifications
  2. 選擇new  ,然後選擇 Application (EXE)
  3. 選到Advanced 類別
  4. 勾選將 Pass all command line arguments to application 方框

圖2 。高級類別複選框

要將命令行參數傳遞給應用程式並在您的程式碼中存取它們,請從命令提示字元(Command Prompt運行可執行檔,並添加由空格分隔的輸入參數 。例如,如果將test.vi內置到可執行檔中,則可以通過以下命令呼叫它,其中1000和正弦都是命令行參數:
"<build directory>\test.exe" 1000 sine
如果在build specification中未選擇 pass all command line arguments to application 的選項,則應用程式仍可以使用LabVIEW 7.x的語法接收命令行參數。

相關資訊

  • LabVIEW 7.x
用戶定義的參數以兩個連字符號(hyphen) (– –)  開頭,並在命令行中用空格包圍。例如,使用與上述相同的LabVIEW可執行檔; test.exe,可以通過以下方式呼叫:

"<build directory>\test.exe" –– 1000 sine
  • LabVIEW 6.1或更早版本
Windows:使用Windows API GetCommandLine()函式讀取啟動當前應用程式的命令行。解析從函式回傳的字串,以從命令行獲取參數。

UNIX: LabVIEW無法在UNIX系統上直接讀取命令行參數,但可以讀取環境變數。在設置了您希望傳遞的參數的環境變數的情況下運行LabVIEW。例如,在bash中執行以下行:LVARGS =“ arg1 arg2 arg3” labview&。在System Exec VI中,將echo $ LVARGS用作命令行字串,並在應用程式中使用回傳的字串。 bash中的同一行也可透過將上一行中的Labview更改為可執行檔的名稱來用於LabVIEW可執行檔。

有關在LabVIEW中使用命令行參數的更多資訊,請參考下面的相關連結,或在LabVIEW Help中搜尋"command line"。