为什么当Teststand调用我用labview编写的vi时,这个vi的并行运行模块是顺序执行的?



主要软件:
主要软件版本: 3.0
主要软件修正版本: N/A
次要软件: LabVIEW Development Systems

问题:

我编写了一个拥有并行运行模块的labview vi。当我直接运行此vi或者令其他vi调用此vi时,它的并行模块可以正常运行。然而,当我用Teststand调用此vi时,它的并行模块是顺序执行的。为什么会这样,我应该怎样恢复它的功能?



解答:

为了解决这个问题,你需要将你labview vi的Execution System调整为Other 1 或者Other 2. 这个调整将会令你labview vi的并行结构像预想的一样运行。具体的操作为在你的labview vi中,点击 File»VI Properties. 接着选择Execution 类别. 然后设置Preferred Execution SystemOther 1或者Other 2.

你需要对所有被Teststand调用且拥有并行结构的labview vi执行上述操作。


警告: 如果你vi的数据流不正常,上述的操作将会影响你vi的功能。有关数据流的更多信息,请查询LabVIEW帮助主题Block Diagram Data Flow

详细说明:
如果你labview vi的execution system设置为Same as caller (当你建立一个新的labview vi的默认设置), 它将在调用它的TestStand的运行线程中执行. 如果你labview vi的execution system设置为Other 1或者Other 2,这个vi将用labview自己的执行系统进行运行,这样的话这个vi将会以多线程的形式进行运行.

注意:
从TestStand 2010开始,这个功能将无需通过改变VI的属性来实现。在Adapter Configuration 菜单的LabVIEW adapter通过检测Execute 'Same as Caller' VIs Using Multiple Threads 选项可以自动的对多线程形式进行配置。 想要了解关于LabVIEW Adapter的设置信息,可以点击TestStand 2010 Help: LabVIEW Adapter Configuration Dialog Box. 需要注意的是,这个功能会根据所使用的LabVIEW版本的不同而有所差别。更多信息详见TestStand 2010 Help: SMP in VIs Executed From TestStand.

 



相关链接: LabVIEW 8.6 Help: Block Diagram Data Flow
TestStand 2010 Help: SMP in VIs Executed From TestStand
KnowledgeBase 1L7DFESR: When I Run Parallel TestStand Executions That Call the Same VI, Why Don't the VIs Run in Parallel?

附件:





报告日期: 01/19/2004
最近更新: 09/23/2015
文档编号: 35IFJRO6