在 LabVIEW 中创建可访问 TestStand API 的代码模块
按照以下步骤创建一个可以访问 TestStand API 的新 LabVIEW 代码模块。您必须在 LabVIEW 适配器设置中激活 LabVIEW 开发系统才能使用此方法。
-
要从模板创建新的 VI,请选择步骤模块选项卡中的创建 VI(Create VI)按钮,如图所示。

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

- 要访问代码模块中的 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 文档。
