主页
技术支持
在 TestStand 中异步运行 VI
在 TestStand 中异步运行 VI
更新 Oct 18, 2022
环境
环境显示经过验证可用于本文描述的解决方案的产品。此解决方案也可能适用于其他类似产品或应用程序。
软件
TestStand
LabVIEW
在开发应用程序时异步运行部分代码是一种常见需求。在本文中,我们将分享如何在您的 TestStand 序列文件中异步运行 LabVIEW VI。异步 LabVIEW VI 的执行也将被可视化以用于监控以及提高您对该主题的理解。
以下步骤包括从头开始在 LabVIEW 和 TestStand 上完成的准备工作。
LabVIEW
创建一个空的LabVIEW VI。
在前面板中,从
Controls Palette»Refnum
放置一个
Automation Refnum
控件。
右键单击
Automation Refnum
并选择
Select ActiveX Class»Browse
。将出现
从类型库中选择对象
对话框。
在
Select Object From Type Library
对话框中,选择
NI TestStand <Year> API Version x.0
作为
Type Library
下拉列表的值。
从
Objects
列表框中选择
SequenceContext
并单击
OK
。
可以观察到,Automation Refnum 的名称现在是 TS.SequenceContext。
单击连线板
左上角的方框
,
然后单击
TS.SequenceContext
。连线板左上角的方框现在应该是绿色的。
将
TestStand - Initialize Termination Monitor.vi、TestStand - Get Termination Monitor Status.vi
和
TestStand - Close Termination Monitor.vi
从
Functions Palette»TestStand
放入框图中
。
互连
TestStand - 初始化 Termination Monitor.vi、TestStand - 获取 Termination Monitor Status.vi
和
TestStand - 关闭 Termination Monitor.vi。
将
TS.SequenceContext
连接到
TestStand - Initialize Termination Monitor.vi
的
Sequence Context In 输入
。
使用 while
循环包围
TestStand - Termination Monitor Status.vi
,并将其
Terminating 和 Aborting 输出
连接到 while 循环的
终止终端
。
在 while 循环中,为迭代终端创建一个指示器,并使用
Wait(ms)
放置 100 ms 的延迟。
下图说明了此阶段的框图。
注意:
此图像是一个 LabVIEW 片段,其中包含您可以在项目中重复使用的 LabVIEW 代码。要使用片段,右键单击图像,将其保存到计算机,然后将文件拖到 LabVIEW 图表上。
按 <Ctrl-I>,在
Category
下拉列表中选择
Window Appearance
并选择
Dialog
。
保存 VI。稍后将在 TestStand 中调用它。
测试台
从
Insertion Palette >> LabVIEW Utility
中,将
Run VI Asynchronously
拖放到您的 Steps 中。
在
Steps 窗格
中选择插入的
Run VI Asynchronously
。将显示异步运行 VI 的步骤设置窗格。
在远程系统中,相应地填写远程系统的VI服务器的主机名和端口号。由于本文使用的是安装在本地计算机上的 LabVIEW,因此主机名和端口均保持默认。
为
Context to Pass as ThisContext VI Arguments
选择
Use Context of Calling Thread
。
单击
L 图标
指定调用哪个 VI。
在
Edit LabVIEW VI Call
对话框中,单击
Browse for VI
并选择本文的 LabVIEW 部分中创建的 VI。
指定 VI 后,取消选中 TS.SequenceContext 参数的
默认
框并将
值
设置为
ThisContext
。按
OK
。
通过上述实现,当您运行序列文件时,您现在可以看到 LabVIEW VI 已启动并正在运行,而 TestStand 正在继续下一步,而无需等待 VI 完成执行。
相关链接
Configuring the LabVIEW VI Server - LabVIEW Help
Asynchronously Starting and Stopping a VI in TestStand
其他支持选项
询问NI社区
在我们的论坛中与其他用户协作
搜索NI社区以寻求解决方案
请求工程师的支持
可能需要有效的服务协议或有效的软件订阅,同时支持选项因国家/地区而异
打开服务请求
了解软件订阅和服务
了解硬件服务计划
Was this information helpful?
Helpful
Not Helpful