如何利用TestStand Deployment Utility进行测试系统的发布



主要软件: TestStand
主要软件版本: 2012
主要软件修正版本: N/A
次要软件: N/A

问题: 如何利用TestStand Deployment Utility进行测试系统的发布?

解答:
绝大多数情况下,TestStand 编写的程序是需要部署到各个测试站运行的。由于TestStand sequence file涉及到的文件和安装程序很多,直接进行拷贝并不是一个好的选择,所以我们需要一个部署工具。我们可以选择TestStand中自带的部署工具TestStand Deployment Utility,或者使用第三方的部署工具。这篇文章,我们主要针对TestStand Deployment Utility讲解如何生成TestStand Installer。
本文中使用TestStand自带范例程序Computer Motherboard Test作为发布文件。文件位置:<TestStand Public>/Examples/Demo/LabVIEW。
生成TestStand Installer分为几个步骤:
        确定部署组件 (Identify Components to Deploy)
        选择部署机制 (Choosing a Deployment Mechanism)
        准备部署组件的源代码 (Preparing Source Components for Depolyment)
        定制部署组件 (Customizing Components You Deploy)
        创建部署程序(Creating Deployments)
        传递部署(Transferring Files)
        验证部署程序(Validating Deployments)
以上步骤可以简单的分为:文件准备,生成部署程序,验证部署程序。下面我们依次讲解:

文件准备

由于TestStand的测试系统依赖很多文件和文件类型。首先,我们必须了解各个组件的内容,选择需要的组件并将其部署到目标机器的合适位置。

TestStand的测试系统一共包含以下组件:
我们需要了解TestStand基础内容以了解每部分的作用。选择好合适的组件之后,我们需要针对部署检查一下文件的准备情况,包括:
  1.  避免重名文件。防止运行时产生内存冲突,或者TestStand Deployment Utility中加载文件出错,引起TestStand运行错误。
  2. 避免使用绝对路径。由于部署的目标计算机和开发计算机上的路径可能不同,文件的加载路径使用绝对路径会引起文件丢失的错误。
  3. 使用TestStand workspace组织文件和文件之间的依赖关系。新建workspace 和project,将所有静态和动态调用的文件都添加到workspace的project中。例如sequence file,code module,动态和静态调用的文件。如果sequence file中使用到MyType.ini文件或者StationGlobal,注意也要将相应的文件添加到workspace中。这两个文件均保存在:<TestStand Data>\Cfg。
如下图所示,Workspace包含所有Sequence file和code module的源代码,以及StationGlobals.ini文件(注:StationGlobal.ini文件范例中不会用到,只是为了说明此类文件加载方法而添加进来)。另外Project中还添加了一个User Interface作为目标程序的运行界面。此UI是TestStand自带的简单UI,保存路径:<TestStand>\UserInterfaces\Simple\LabVIEW。 
配置的workspace如下:

  生成部署程序

完成Workspace的文件加载工作,就可以打开TestStand Deployment Utility进入部署的配置工作。在工具栏Tools中可以找到Deploy TestStand System…打开部署工具。
         配置System Source
打开TestStand Deployment Utility,在System Source中选择部署文件的源文件。
如果像我们之前一样配置好workspace,可以直接勾选From TestStand Workspace File,然后浏览选择之前保存的workspace文件即可。选择workspace的优点是TestStand Deployment Utility会自动分析文件的依赖关系,找到所有静态加载的文件。需要注意的是,分析中任何动态加载的内容都无法覆盖,还是需要手工添加。
如果选择From Directory,需要选择一个存放测试程序所有内容的文件夹,可以勾选Include Subdirectories选项包含所有子文件夹中的内容。
如果选择From TestStand Public Directories,deployment utility会自动包含<TestStand Public>\Components,,<TestStand Public>\CodeTemplates和<TestStand Public>\UserInterfaces 路径下的所有文件。(如果勾选了此选项,就不用手动加载ini文件了。)
选择Deploy Files,在Location of Deployment Image中选择TestStand镜像文件的存放路径。如下图所示:

 配置 Distributed Files
配置好System Source之后,点击Distributed Files页面,查看源文件列表以及配置发布文件的属性。点击Analyze Source Files,deployment utility会分析workspace和<TestStand Public>中的文件。分析完成之后,deployment utility会自动列出所有文件的路径信息。
对于普通的sequence file或者code module,我们选择Installation Destination为Installation Directory即可。Installation Destination Subdirectory会自动根据源文件的相对路径关系创建。需要注意的是,如果项目内容放置路径的在Installation Destination列表中存在,则安装位置默认为此位置,当然此默认选项可以手动修改。

对于TestStand的UI,安装路径一般选择Program Files Directory,在Installation Destination Subdirectory中可以输入子路径。由于UI一般是作为发布程序的启动界面,所以需要作为启动项。勾选Create Program Item,并在后边填写启动文件的名称。例如如下情况,配置启动UI。
生成安装程序运行之后UI发布的路径:

开始菜单中的启动项:

对于配置文件,例如StationGlobal.ini或者MyType.ini,一般需要安装在TestStand Application Data Directory。子路径输入Cfg。如下所示:

如果涉及到系统文件,也需要发布到相应的系统文件路径,此处不再赘述。
 
配置Installer Options
 
配置好发布文件路径,点击Installer Options配置安装文件。首先勾选Create Installer,输入相应的Installation Name和Installer Directory。然后配置开始菜单的文件夹和安装的目标路径。最后选择附加的驱动或者组件。

像LabVIEW一样,如果目标机器没有安装TestStand 或者相应的驱动,运行引擎 ,就需要在安装包中包含相应的内容。使得目标机器有基本的运行环境。其中Drivers and Components中可以选择NI的驱动或者运行引擎。在Advanced Options中,可以输入安装包及发布者的信息,例如自述文件,证书,版本,发布公司等。在Custom Commands中可以添加附加命令,例如系统命令行。
至今,所有的配置工作都已经结束了。我们点击Build即可生成安装程序和镜像程序。选择Build States页面还可以查看生成状态。我们也可以保存或者加载Deployment Utility的配置文件。

验证部署程序
 
安装文件生成之后,需要先进行测试,才能最终部署。
一般先在开发机器进行镜像文件的测试。镜像文件就是所有需要的源文件的一份拷贝。对镜像文件的测试包括:运行TestStand Sequence Analyzer,分析没有丢失文件或者路径错误;执行镜像文件中的测试系统等。但是由于开发机器中所有软件都已经安装齐全,所有需要的文件也已经存在,所以有一些缺失文件无法测试出来。这就需要到其他机器测试中进行安装文件的测试,保证生成的安装包工作正常。
注意:
  1. 不要在开发机器或者已经安装了相应开发软件和驱动的计算机上进行安装文件的测试。这可能会影响机器上已安装软件未来的运行和部署。
  2.  TestStand部署是需要license的。除了我们编辑使用的TestStand Development System License 和TestStand Custom Sequence Editor License,我们还可以使用TestStand Debug Deployment Environment License 和TestStand Base Deployment Engine License。其中TestStand Base Deployment Engine License是功能最简单的license,激活之后能够运行TestStand Engine,Operator Interface,sequence file,但是没有任何编辑,调试或者使用TestStand API的功能。TestStand Debug Deployment Environment License提供TestStand部署和基于LabVIEW,LabWindows/CVI,Measurement Studio的调试功能。可以用这个版本的License修改程序小的bug,但是不能做任何开发的工作。
  3.  <TestStand>指TestStand安装路径<TestStand Data>指C:\ProgramData\National Instruments\TestStand XXXX, <TestStand Public>指C:\Users\Public\Documents\National Instruments\TestStand XXXX, (XXXX指版本号)


相关链接:

附件:





报告日期: 02/03/2013
最近更新: 02/04/2013
文档编号: 662ML5ZK