如何将命令行参数传递给LabVIEW可执行文件

更新 Oct 12, 2023

环境

软件

  • LabVIEW

操作系统

  • Windows

如何将命令行参数传递给LabVIEW内置的可执行文件?

       可能需要让LabVIEW可执行文件以不同的状态或不同的输入参数启动。从命令行启动LabVIEW可执行文件时,只要电脑上具有相应的运行引擎和必要的驱动程序,就可以将用户定义的参数传递给应用程序。以下讲解了如何实现。请注意,使用命令行参数调用LabVIEW可执行文件的语法因LabVIEW版本而异。
       当LabVIEW将参数从命令行传递给LabVIEW可执行文件时,您可以使用属性节点的应用程序:命令行参数属性选项 来引用程序框图中的参数 , 如图1所示。

图1. 参数属性节点
       参数以字符串数组形式出现。数组中的第一个元素始终是应用程序的名称。
  • LabVIEW 8.0及更高版本
       随着LabVIEW 8.0中项目的引入,您首先需要在应用程序的构建规范中启用命令行参数的传递。为此,请按照以下步骤操作:
  1. 右键单击已完成项目的项目浏览器(Project Explorer)中的生成规范(Build Specifications)
  2. 选择新建 ,然后选择应用程序(EXE)
  3. 导航到“ 高级”类别
  4. 检查将所有命令行参数传递给应用程序(Pass all command line arguments to application)复选框

图2. 高级类别复选框
       要将命令行参数传递给应用程序并在代码中访问它们,请从命令提示符(Command Prompt)运行可执行文件,并添加以空格分隔的输入参数 。例如,如果test.vi内置于可执行文件中,则可以通过以下方法调用它,其中1000和sin都是命令行参数:=
“<build directory> \ test.exe” 1000 sin
如果未在构建规范中选择将所有命令行参数传递至应用程序(Pass all command line arguments to application)的选项,则应用程序仍可以使用LabVIEW 7.x的语法接收命令行参数。

Additional Information

  • LabVIEW 7.x.
  • 用户定义的参数是在命令行中的空格包围的两个连字符( - - )之后开始。例如,使用与上述相同的LabVIEW exectuable; test.exe,可以通过以下方式调用:

    “<build directory> \ test.exe” - - 1000 sin
  • 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帮助中搜索“命令行”。