我的 LabVIEW 应用程序使用了 DataSocket 但在可执行文件中不能工作

更新 Feb 18, 2024

适用于

软件

  • LabVIEW

其他

   

问题详述

  • 我的 LabVIEW 应用程序使用了 DataSocket 通信并在 LabVIEW 开发环境中正确执行。当我构建可执行文件时,DataSocket 通信不起作用。我该如何解决这个问题?
  • 我尝试运行具有 DataSocket 通信的可执行文件,但通信失败,并且图表和数值控件上的 LED 变成红色,如下所示: LED 变红

解决方案

有多种原因可能导致使用 DataSocket 通信的 LabVIEW 可执行文件无法正常工作:
  1. 系统上需要安装 NI DataSocket。
注意: LabVIEW 2017运行时引擎(RTE)安装程序是包含DataSocket的最后一个版本。

要确认 NI DataSocket 已安装,请检查以下各项:
  • 在“开始”菜单中搜索DataSocket
  • 打开 NI Package Manager 并在已安装的软件包中搜索DataSocket
如果您需要在计算机上安装DataSocket,您可以:
  1. 如果您的LabVIEW应用程序使用DataSocket Server Control VI以编程方式打开和关闭DataSocket服务器,则需要将其显式的包含在构建的应用程序中:
  • 导航至以下位置并将VI添加到LabVIEW项目: <LabVIEW 20xx>\vi.lib\platform\dataskt.llb\DataSocket Server Control.vi
  • 将VI添加到应用程序构建规范中源文件类别的“始终包含”部分,否则可执行文件将无法以编程方式打开DataSocket服务器。
  • 如果您希望应用程序以编程方式关闭DataSocket Server,请复制DataSocket Server Control VI并将操作(运行)更改为close
  1. 不正确的 Windows DCOM 设置可能会阻止可执行文件成功打开 DataSocket 连接。通过将以下行添加到可执行文件的 INI 文件,禁用应用程序的 DCOM 身份验证,可以解决许多 DCOM 连接问题:

ole.AuthnLevel = 1

注意:可执行文件的 INI 文件应位于与可执行文件相同的目录中,并且应具有相同的名称(即Application name.ini )。
 

相关信息

有关如何创建包含 NI DataSocket 的安装程序的更多信息,请参阅Error 1143 With LabVIEW DataSocket Application