开发系统与部署系统:有何不同
典型的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部署创建安装程序,必须完成几个步骤。这些步骤在下面简要列出,并在随后的部分中进行详细说明。
- 配置适配器设置:在要部署的开发系统上配置适配器设置
- 包括测试序列,配置,代码模块和相关性:创建一个工作区,其中包含要部署的测试序列,TestStand配置和代码模块及其相关性
- 维护文件层次结构:您可以选择配置工作空间中的文件以维护文件层次结构
- 包括其他安装程序:在部署中包括其他安装程序,例如TestStand Engine和LabVIEW Run-Time Engine
注意:本节描述了这些步骤,这些步骤专门用于作为TestStand部署的一部分部署LabVIEW代码模块。有关创建TestStand部署的一般介绍,请参阅NI TestStand帮助中的部署TestStand系统。
配置适配器设置
TestStand将其适配器设置存储为TestStand配置文件TestExec.ini的一部分。部署系统时,建议将TestExec.ini部署为部署的一部分,因为它包含各种其他设置,例如站选项和搜索目录。
如果部署系统没有LabVIEW开发环境,则必须配置TestStand以在部署系统上使用LabVIEW运行引擎。您可以通过以下三种方式进行操作:
- 在部署之前,将开发系统配置为使用LabVIEW运行引擎(推荐):
- 打开TestStand序列编辑器
开始»程序»National Instruments»TestStand xx»序列编辑器 - 单击配置菜单,然后选择适配器
- 在适配器配置对话框中,选择LabVIEW,然后单击配置按钮。
- 从选择或键入要使用的LabVIEW服务器中选择 LabVIEW运行引擎单选按钮。
- 选择您要使用的运行引擎的版本,或从下拉列表中选择使用VI版本自动检测 。
- 选择左下角的帮助按钮,以获取有关正确配置LabVIEW适配器的更多信息。
- 单击确定。这会将配置保存到TestExec.ini。现在,当您创建部署时,在工作区中包含TestExec.ini,部署系统将配置为使用LabVIEW运行引擎。
注意:将开发系统配置为使用LabVIEW运行引擎后,值得花时间使用TestStand Deployment Utility构建部署映像,并从该映像执行测试序列,以确保代码模块正确执行。在将测试系统部署到部署系统之前,请先使用LabVIEW运行引擎。
- 直接在部署系统上配置适配器配置:
这要求您手动更新每个部署系统,因此不建议这样做。但是,如果您已经有一个部署系统并且不想重新部署,那么这是一种可行的方法。 - 使用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包含在部署安装程序中。
- 在Deployment Utility中,切换到Installer Options选项卡。
- 选中安装TestStand Engine复选框
- 单击驱动程序和组件…以配置要包含在TestStand Engine中的可选功能。 (注意:在TestStand 2014及更高版本中,单击引擎选项按钮)
部署系统需要LabVIEW开发环境或正确版本的LabVIEW运行引擎,才能执行LabVIEW代码模块。如果部署系统尚不具备以上任何一种,则可以将LabVIEW运行引擎作为部署安装程序的一部分:
- 在Deployment Utility中,切换到Installer Options选项卡。
- 单击驱动程序和组件…按钮
- 从要包含的组件列表中选择要包含在部署中的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通常在后台执行的操作是:
- 加载当前有效的LabVIEW开发环境版本
- 打开代码模块VI并将其上转换为当前的LabVIEW版本
- 如果VI的版本不是当前LabVIEW的当前版本,它将重新链接内置的VI(例如vi.lib中的VI)至当前LabVIEW版本中安装的VI。
- 提示您找不到的任何依赖项
根据代码模块中执行的VI的VI属性,TestStand现在支持自动选择适当的LabVIEW运行引擎。您可以在适配器设置中配置序列以使用适当版本的LabVIEW运行引擎(请参见第1节配置适配器设置 )。选择使用VI版本自动检测可实现此目的。
其他资源
NI TestStand Help一般都有专门的部分。导航到帮助,其中包括指向特定部署子主题的超链接。