使用NI TestStand部署LabVIEW代码模块

更新 Nov 2, 2021

环境

软件

  • LabVIEW
  • TestStand
  • LabVIEW Runtime

在将LabVIEW代码模块作为从TestStand开发系统到Deployment(目标)系统的TestStand部署的一部分进行部署时,需要考虑一些注意事项。本文介绍了通过TestStand部署将LabVIEW代码模块从开发环境迁移到生产系统的过程中涉及的基本任务和最佳实践。

开发系统与部署系统:有何不同

典型的TestStand开发系统具有TestStand Development许可证,其中包括用于编写测试序列的TestStand Sequence Editor,以及用于开发代码模块的LabVIEW开发环境。

部署测试系统时,部署系统(要部署到的计算机)通常不会安装LabVIEW开发环境。为了在这些计算机上从TestStand运行LabVIEW VI(代码模块),您需要安装LabVIEW运行引擎。安装了LabVIEW运行引擎后,TestStand可以运行LabVIEW VI,而无需安装LabVIEW开发环境。

此外,部署系统通常具有TestStand Deployment许可证,该许可证仅包含TestStand Engine,而不包括序列编辑器。测试序列是从操作员界面执行的,该操作员界面基本上是TestStand用户界面。

TestStand附带了几种用多种语言编写的示例操作员界面。可以使用可以与.NET或ActiveX进行接口连接以便与TestStand进行通信的任何语言编写操作员接口。

LabVIEW开发环境与LabVIEW运行引擎

典型的TestStand部署系统使用LabVIEW运行引擎来执行VI,并且未安装LabVIEW开发环境。这意味着您必须配置TestStand以使用LabVIEW运行引擎而不是部署系统上的LabVIEW开发环境。有关更多详细信息,请参"见配置适配器设置:LabVIEW运行引擎"一节。

如果使用运行引擎运行VI,则应牢记一些其他注意事项。 LabVIEW开发环境允许您创建,编辑和调试VI。 LabVIEW开发环境也向后兼容,这意味着它可以打开和运行用LabVIEW以前版本编写的VI。

LabVIEW运行引擎只能执行保存在相同版本的LabVIEW开发环境中的VI。它既不向前也不向后兼容。这意味着,如果您使用多个版本的LabVIEW编写代码模块,则应在LabVIEW适配器设置中将运行时引擎选项中的代码指定为使用VI版本自动检测。然后,您应该在部署中包括TestExec.ini文件。第1节和第2节详细介绍了此操作。您应该将它们大规模编译为最新版本的LabVIEW。有关更多详细信息,请参考管理在LabVIEW的多个版本中编写的LabVIEW代码模块一节。

创建一个TestStand部署安装程序

为了为TestStand部署创建安装程序,必须完成几个步骤。这些步骤在下面简要列出,并在随后的部分中进行详细说明。

  1. 配置适配器设置:在要部署的开发系统上配置适配器设置
  2. 包括测试序列,配置,代码模块和相关性:创建一个工作区,其中包含要部署的测试序列,TestStand配置和代码模块及其相关性
  3. 维护文件层次结构:您可以选择配置工作空间中的文件以维护文件层次结构
  4. 包括其他安装程序:在部署中包括其他安装程序,例如TestStand Engine和LabVIEW Run-Time Engine

注意:本节描述了这些步骤,这些步骤专门用于作为TestStand部署的一部分部署LabVIEW代码模块。有关创建TestStand部署的一般介绍,请参阅NI TestStand帮助中的部署TestStand系统

配置适配器设置

TestStand将其适配器设置存储为TestStand配置文件TestExec.ini的一部分。部署系统时,建议将TestExec.ini部署为部署的一部分,因为它包含各种其他设置,例如站选项搜索目录

如果部署系统没有LabVIEW开发环境,则必须配置TestStand以在部署系统上使用LabVIEW运行引擎。您可以通过以下三种方式进行操作:

  1. 在部署之前,将开发系统配置为使用LabVIEW运行引擎(推荐):
    1. 打开TestStand序列编辑器
      开始»程序»National Instruments»TestStand xx»序列编辑器
    2. 单击配置菜单,然后选择适配器
    3. 适配器配置对话框中,选择LabVIEW,然后单击配置按钮。
    4. 选择或键入要使用的LabVIEW服务器中选择 LabVIEW运行引擎单选按钮。
    5. 选择您要使用的运行引擎的版本,或从下拉列表中选择使用VI版本自动检测 。
  1. 选择左下角的帮助按钮,以获取有关正确配置LabVIEW适配器的更多信息。
  2. 单击确定。这会将配置保存到TestExec.ini。现在,当您创建部署时,在工作区中包含TestExec.ini,部署系统将配置为使用LabVIEW运行引擎。

    注意:将开发系统配置为使用LabVIEW运行引擎后,值得花时间使用TestStand Deployment Utility构建部署映像,并从该映像执行测试序列,以确保代码模块正确执行。在将测试系统部署到部署系统之前,请先使用LabVIEW运行引擎。
  1. 直接在部署系统上配置适配器配置:
    这要求您手动更新每个部署系统,因此不建议这样做。但是,如果您已经有一个部署系统并且不想重新部署,那么这是一种可行的方法。
  2. 使用TestStand默认适配器设置:
    默认情况下,首次启动TestStand时,如果未安装LabVIEW开发系统且未部署TestExec.ini,则TestStand将默认其LabVIEW适配器配置以使用最新版本的运行引擎。但是,这要求您不要部署TestExec.ini,因此仅当您也不想迁移其他配置(例如跟踪选项和搜索目录)时,此选项才可行。有关TestExec.ini以及其他配置文件存储哪些设置的更多信息,请参见《NI TestStand帮助:配置文件》

包括测试序列,配置,代码模块和相关性

TestStand工作区文件构成了有关文件分发的部署基础。为了成功部署和运行包含代码模块的测试序列,您的工作空间文件应包含:

  • 测试顺序:
    在工作空间文件中包含包含要部署的测试序列的序列文件。生成部署时,序列所调用的所有LabVIEW代码模块及其子VI将自动包含在部署中。
  • TestStand配置文件:
    如果要将TestStand设置迁移到Deployment System,请包括包含相应设置的配置文件。有关配置文件及其包含内容的描述性列表,请参见NI TestStand帮助的 配置文件部分。如果要使用LabVIEW运行引擎运行LabVIEW代码模块,通常应在工作区文件中包含TestExec.ini配置文件。
  • 依存关系:
    TestStand Deployment Utility无法自动查找和部署某些类型的组件。您必须遵循特殊说明才能在TestStand部署中部署这些组件:
    • 如果要部署动态依赖项,例如动态调用的DLL和VI,则必须将它们手动包含在工作区中。
    • 诸如共享变量之类的LabVIEW Project组件必须作为LabVIEW发行版的一部分进行单独部署,或者使用LabVIEW Utility Deploy Library步骤从TestStand进行部署。
      有关更多详细信息,请参见《将LabVIEW和LabWindows / CVI与TestStand结合使用》手册中标题为通过TestStand有效使用LabVIEW部署变量的章节。

维护文件层次结构

TestStand Deployment Utility会自动将您的代码模块调用的所有子VI放在名为 SupportVI的文件夹中。您可以通过Deployment Utility的LabVIEW Options对话框修改TestStand Deployment Utility放置这些子VI的文件夹的名称。


通过TestStand Deployment Utility,您可以分别修改通过安装目标安装目标放置顶级代码模块(以及分布式文件选项卡上列出的任何其他文件,包括相关序列文件和工作区中包含的文件)的位置。分布式文件选项卡上的子目录选项。

这种粒度级别对于大多数部署而言已足够。但是,在某些情况下,您可能希望为子VI设置目录层次结构,而不是将它们全部放在一个文件夹中的统一层次结构中。

为此,必须将这些子VI添加到工作区中。然后,这将允许您在TestStand Deployment Utility的Distributed Files选项卡上为每个文件指定目标路径。

包括其他安装程序

部署系统需要TestStand引擎才能执行测试序列。请按照以下步骤操作,以将TestStand Engine包含在部署安装程序中。

  1. Deployment Utility中,切换到Installer Options选项卡。
  2. 选中安装TestStand Engine复选框
  3. 单击驱动程序和组件…以配置要包含在TestStand Engine中的可选功能。 (注意:在TestStand 2014及更高版本中,单击引擎选项按钮)

部署系统需要LabVIEW开发环境或正确版本的LabVIEW运行引擎,才能执行LabVIEW代码模块。如果部署系统尚不具备以上任何一种,则可以将LabVIEW运行引擎作为部署安装程序的一部分:

  1. Deployment Utility中,切换到Installer Options选项卡。
  2. 单击驱动程序和组件…按钮
  3. 要包含组件列表中选择要包含在部署中的LabVIEW Runtime Engine版本(注意:在TestStand 2014 SP1及更高版本中,您可以使用自动包含必需的安装程序选项来允许TestStand Deployment Utility选择所需的版本)。基于部署中VI的LabVIEW运行引擎。)

在已部署的系统上更新LabVIEW代码模块

为了反映对部署系统上的代码模块所做的任何更新或更改,必须通过创建新的TestStand部署将这些VI重新部署到部署系统中。无法简单地从开发系统复制新的VI,并在部署系统上覆盖VI。

 

管理以多种版本的LabVIEW编写的LabVIEW代码模块

通常可以使用TestStand中的用多个LabVIEW版本编写的VI和用多个LabVIEW版本编写的调用代码模块。在开发计算机上,这通常可以正常工作,因为LabVIEW开发系统是向后兼容的,并且可以运行用LabVIEW早期版本编写的VI。

当您运行一个调用此类LabVIEW代码模块的序列时,TestStand Engine通常在后台执行的操作是:

  1. 加载当前有效的LabVIEW开发环境版本
  2. 打开代码模块VI并将其上转换为当前的LabVIEW版本
  3. 如果VI的版本不是当前LabVIEW的当前版本,它将重新链接内置的VI(例如vi.lib中的VI)至当前LabVIEW版本中安装的VI。
  4. 提示您找不到的任何依赖项

根据代码模块中执行的VI的VI属性,TestStand现在支持自动选择适当的LabVIEW运行引擎。您可以在适配器设置中配置序列以使用适当版本的LabVIEW运行引擎(请参见第1节配置适配器设置 )。选择使用VI版本自动检测可实现此目的。

其他资源

NI TestStand Help一般都有专门的部分。导航到帮助,其中包括指向特定部署子主题的超链接。