在 LabVIEW 中使用 TestStand API

更新 Feb 4, 2025

环境

软件

  • LabVIEW
  • TestStand

本文档概述了如何创建可以访问 TestStand API 的 LabVIEW 代码模块,并演示了如何在 LabVIEW 中访问 API 属性和方法。有关 TestStand 对象结构和 TestStand API 的更多信息,请参阅使用TestStand API进行编程

在 LabVIEW 中创建可访问 TestStand API 的代码模块

按照以下步骤创建一个可以访问 TestStand API 的新 LabVIEW 代码模块。您必须在 LabVIEW 适配器设置中激活 LabVIEW 开发系统才能使用此方法。

  1. 要从模板创建新的 VI,请选择步骤模块选项卡中的创建 VI(Create VI)按钮,如图所示。

  1. 为新 VI 指定名称和保存位置后,将使用以下模板生成 VI。TestStand 根据您使用的步骤类型使用特定模板。例如,Numeric Limit Test步骤包含额外的数字测量输出控件。

  1. 要访问代码模块中的 Sequence Context,必须在 TestStand 中提供能够连接 LabVIEW Sequence Context 控件和 TestStand Sequence Context In parameter 的引用。为此,请在 TestStand Sequence Context In 的值输入 ThisContext,如下所示:


SequenceContext(或 ThisContext)对象包含 TestStand 执行当前状态的快照,包括对当前序列文件、序列、步骤、执行和线程的引用。SequenceContext 还提供对 TestStand 引擎的访问。在大多数情况下,代码模块可以使用 SequenceContext 访问其所需的所有信息。

使用 LabVIEW 中的 TestStand API 进行编程

要在新 VI 中使用 TestStand API,请使用属性节点和调用节点分别访问内置属性和方法。您可以在Sequence Context 引用的菜单中快速访问此功能,如下所示: 


例如,下面的代码访问当前序列(我们调用 LabVIEW 模块的序列)的名称属性。

为防止内存溢满,当您不再需要相关属性或调用节点的引用对象后,请使用“关闭引用”VI 释放LabVIEW 用于存储引用的内存空间。不要关闭传递到 VI 中的引用,例如 SequenceContext。更多关于如何正确使用引用的方法可参考:在 LabVIEW 关闭引用 的文档。

 

如下的等效表达在 TestStand 中为 ThisContext.Sequence.Name =“newName”。

与表达式浏览器不同,您无法直接通过属性节点访问动态属性,即当前对象中包含的对象。例如,序列类没有 Main API 属性;Main 是序列对象包含的动态 PropertyObject。要访问当前对象包含的动态 PropertyObject,您有两个选择:

  • 使用 GetPropertyObject 方法访问包含的属性。此方法使用查找字符串通过点语法指定对象的位置。由于这是 PropertyObject 类的方法,因此您首先需要使用 AsPropertyObject 方法将序列对象转换为 PropertyObject。在下面的示例中,我们使用此方法来访问特定步骤。


    如下的等效表达在 TestStand 中为 ThisContext.Sequence.Main["Action"].Name = "newStepName"

  • 如果可以,请使用 API 中提供的方法获取子对象。例如,访问步骤名称,可以调用GetStepByName方法直接访问步骤对象。

    如下的等效表达在 TestStand 中为 ThisContext.Sequence.GetStepByName("Action",StepGroup_Main).Name = "newStepName"


如需了解更多信息,请参阅以下 TestStand 帮助主题:


有关在 LabVIEW 中使用 TestStand API 的高级主题,请参阅以下主题:

 

通过 LabVIEW 访问 TestStand API 帮助

 

您可以使用帮助窗口访问有关 TestStand API 的属性和方法的文档。单击帮助窗口中的“?”图标,即可访问所选属性或方法的完整 API 文档。