以编程方式在RT控制器上启动可执行文件或VI

更新 Nov 13, 2023

环境

软件

  • LabVIEW Real-Time Module

我在我的RT终端上部署了VI或可执行文件,我该如何以编程的方式通过VI Server启动它?

LabVIEW 2009及更高版本:

从LabVIEW Real-Time 2009开始,startup.rtexe只能作为启动可执行文件运行。因为startup.rtexe现在是LLB的压缩版本,在启动时解压缩。这个是考虑到尺寸限制而做的改动。

为了以编程方式在RT终端上启动VI,您必须将项目转换为源代码发布,并将源代码发布部署到终端上。

创建源代码发布步骤如下:
1.在包含VI的项目中,右键单击程序生成规范并选择新建»源代码发布 。


2.在“ 源文件”类别中,选择您的VI并按下向右的箭头将其移动到“ 始终包含”框中。
3.在“ 目标”类别中,通过修改“ 目标路径”指定要放置VI的位置。
4.单击“ 生成”
5. 右键单击源代码发布,然后选择“ 部署” 。 (在2009版本,这不是一个选项,您需要手动将VI所需的文件FTP传输到实时目标)




现在您想要在终端上启动的VI已经有了一个源代码发布。对于LabVIEW 8.6.1及之前的版本,您可以继续按照以下的步骤进行操作。在步骤2中,确保指向源代码发布的顶级VI。


LabVIEW 8.6.1及之前版本:
以下是从主机通过VI Server在RT控制器上启动一个已嵌入的可执行文件的基本步骤:

1.在程序框图上放置一个“打开应用程序引用”函数,并将RT控制器的名称或IP地址连接到“机器名”输入端。

2.在程序框图上放置一“打开VI引用”函数,用它打开对可执行文件中顶级VI的引用。对于名为RT Engine.vi的顶级VI,默认可执行文件位置打开的路径为 C:\ni-rt\startup\RT Engine.vi

3.使用“调用节点”或“通过引用调用”节点运行远程VI。要创建“调用节点”,请右键单击“打开VI引用”的“VI 引用”输出端,然后单击创建»VI类的方法»运行VI。

4.当您不再需要VI在RT终端上运行时,请关闭VI参考,然后关闭LabVIEW应用程序参考。请注意,只有在引用保持打开状态时,动态调用的VI才能在RT终端上运行,关闭引用将停止RT终端上运行的VI。



注意,在某些情况下,使用路径数据类型不能提供足够的位置信息来打开VI引用,此时将返回错误代码Error -1445。 如果发生这种情况,请将包含VI名称的字符串常量连接到“打开VI引用”函数的“vi路径”输入端。对于上图中的示例,包含顶级VI名称 RT Engine.vi  的字符串常量将用作输入。

Additional Information

使用VI Server功能时,请您务必确保已经正确设置VI Server的安全权限,否则可能会发生错误。打开RT控制器的属性对话框,然后选择窗口左侧的VI Server类别。确保已选中TCP / IP 。请注意,默认端口为3363。





对于使用来自库(DAQmx,VISA等)的VI的源代码发布,请确保这些库包含在源代码发布中(否则VI不会运行)。要实现此目的,您可以打开源代码发布的属性窗口,并在“ 附加排除项”选项卡中取消选中某些选项,如下图所示。现在,当可执行文件运行时,库中的所有VI都可以在RT控制器上运行。