在使用TestStand Deployment Utility创建部署之后,为什么我的VI被破坏?



主要软件:
主要软件版本: 4.0.1f1
主要软件修正版本: 4.2
次要软件: N/A

问题:

我正使用TestStand 4.1.1(或更早版本)和LabVIEW 2010,当我使用TestStand Deployment Utility创建一个部署,当创建完成之后,我得到以下错误:

Aborted
***************************************
Error: The following VIs are broken:
<VI Path> while Processing VIs...
++++++++++++++++++++++++++++++++++++++

中止:

***************************************

错误: 以下VIs被破坏:

<VI 路径> while Processing VIs...
++++++++++++++++++++++++++++++++++++++

我注意到当我在LabVIEW中打开该错误中所提到的部署的VI时,它确实被破坏了,但是当我在LabVIEW中打开原始的VI是没有被破坏的。这些VI为什么在部署过程中会被破坏?



解答:

该问题是由在 LabVIEW 2010中添加的内联子VI特性的兼容问题造成的。该选项能够用来减少内存开销和提高性能。为了将内联子VI链接到调用它的VI,您必须在 VI Properties Execution(VI属性>>执行)页面中,取消选择 “允许调试”“允许自动错误处理”两个选项,然后选择“重入执行”选项,否则子VI会被破坏。

在创建部署时,TestStand Deployment Utility 使用内部组件来对VI打包,该内部组件在TestStand 4.1.1和前期版本中错误地设定每一个将被打包的多态VI和子VI的 VI Properties Execution(VI属性>>执行)页面中“允许调试”选项,导致任何有Inline subVI into calling VIs(内联子VI到调用VI)选项的多态VI和子VI都会被破坏。

NI-DAQmx 9.2.3驱动为某些驱动VI(例如DAQmx Read and DAQmx Write VI即DAQmx读取VI和DAQmx写入VI)勾选了Inline subVI into calling VIs (内联子VI到调用VI)选项,因此,如果您在TestStand 4.1.1和前期版本中TestStand Deployment Utility来发布调用了DAQmx读取或者DAQmx写入的LabVIEW 2010 VIs ,也会遇到这样的问题。

您可以通过取消每一个子VI的Inline subVI into calling VIs (内联子VI到调用VI)选项来解决该问题。如果您无法使用工作区的选项,请联系National Instruments Support.(美国国家仪器技术支持)

 

注意:由于对TestStand Deployment Utility内部组件的升级,这个问题在TestStand 4.2和更新的版本中已经不存在了。



相关链接: LabVIEW 2010 Help: Execution Speed: SubVI Overhead
KnowledgeBase 3VME8NYV: What Do the Various Warnings Given by the TestStand Deployment Utility Mean?
KnowledgeBase 4JDB8NT3: TestStand Deployment Utility Generates Internal Error When Locking VIs in Project Libraries or Global VIs

附件:





报告日期: 01/20/2011
最近更新: 06/13/2011
文档编号: 5HJGA6GI