主页
技术支持
网络发布的共享变量疑难解答
网络发布的共享变量疑难解答
更新 Sep 12, 2024
适用于
“适用于”表示本页面提供的解决方案已被证实适用于列出的产品。该方案或同样适用于类似产品或应用。
硬件
FP-2000
FP-2010
FP-2015
软件
LabVIEW Real-Time Module
LabVIEW
驱动
NI-RIO
问题详述
我无法通过网络与网络发布的共享变量进行通信。我的共享变量可以在开发环境中工作,但在将它们构建到可执行文件中时却不起作用。
我的网络发布的共享变量也没有像我期望的那样工作。写入变量的值与从中读取的值之间存在差异。
我的在尝试访问代码中的共享变量时,收到错误: 错误
-1950679034:共享变量没有值(Error -1950679034: The shared variable has no value.)。
解决方案
有几个方法可以防止网络发布的共享变量在其他网络机器上更新。
常用故障排除
确保共享变量设置为
网络发布(Network-Published)
。要检查此项,请右键单击变量,然后选择“
属性”
。
确保已部署包含共享变量的库。要检查此项,请右键单击托管共享变量的库,然后选择其中一个部署选项。您可以使用分布式管理系统通过导航到
工具»分布式管理系统
来检查是否已部署变量。如果您使用的是LabVIEW 8.5或更早版本,则可以使用变量管理器,可以通过选择
工具»共享变量»变量管理器
来访问它。
从分布式系统管理器,您能够检查共享变量的状态。您还可以检查时间戳,以确定是否在正确的时间写入变量。这可以帮助您确定写入是否失败,或者写入是否比预期更频繁。
确保在任一计算机上都没有启用个人防火墙阻止NI-PSP数据包。您可以通过转到“控制面板”中的“
安全中心”
来检查防火墙的状态。有关潜在防火墙问题的详细信息,请参阅
Configuring Software and Hardware Firewalls to Support National Instruments Products(配置软件和硬件防火墙以支持NI产品)
。防火墙问题将导致
Error -1950679034: The shared variable has no value.(错误-1950679034:共享变量没有值)。
如果您的防病毒软件有防火墙,请务必禁用它或在其中包含例外。
检查共享变量是否托管在同一IP子网上的计算机上。如果不是,您可以通过
工具»共享变量»注册计算机,
注册远程
计算机...
如果PC上有多个网卡试图访问共享变量,请尝试禁用未使用的网卡。另外,请参阅
How do I Connect to Ethernet Targets with Multiple Network Cards in the Host?(如何在主机中连接多个网卡的以太网目标)
,检查相应的网卡是否设置为主网络。
确保共享变量引擎正在运行。导航到Windows服务并检查NI变量引擎进程是否存在并正在运行。如果不存在,请安装LabVIEW运行环境。如果它存在且未运行,请右键单击该进程并启动它。要确保它自动启动,请输入服务的属性,并确保将“
启动类型”
设置为“
自动”
。在服务属性的“
恢复”
选项卡上,如果启动共享变量引擎失败,还可以将变量引擎设置为在第一次,第二次以及所有后续尝试时重试。
重启NI服务。
实时(RT)系统的故障排除
确认在您的RT终端上正确设置了指拨开关。如果共享变量在从开发环境运行时起作用,但在设置启动可执行文件时不起作用,请确保关闭No Startup App的指拨开关。
检查RT终端上的DNS IP。如果此IP设置为非有效DNS服务器,则由于发生DNS超时,共享变量将缓慢更新。通过将此端口更改为
0.0.0.0
,共享变量会以适当的速率更新。
调整时间或添加等待写入共享变量的定时循环。如果定时循环以高频率运行并且使其他进程匮乏,则该变量会非常缓慢地更新或根本不更新。
如果将共享变量与RT可执行文件一起使用,请确保没有前面板对象绑定到共享变量。构建RT可执行文件时,将删除前面板对象,从而导致共享变量不更新。如果您打算将应用程序部署为可执行文件,请使用程序框图中的共享变量节点。
如果您尝试从RT终端读取共享变量,请确保已在终端上安装
变量客户端支持
。可以在Measurement&Automation Explorer中通过展开
远程系统(Remote Systems)
下实时目标旁边的
[+]
并展开
软件(Software)
旁边的
[+]
来检查。如果共享变量由RT终端托管,请确保使用相同的方法安装
网络变量引擎
。
网络变量引擎
无法在FieldPoint 2000,2010和2015控制器上正常工作,因为它们没有足够的内存。
相关链接
使用LabVIEW共享变量
How do I Connect to Ethernet Targets with Multiple Network Cards in the Host?
Network Shared Variables Not Recognized After Re-Opening LabVIEW Project
Error -1950679035 or -1950679027 When Using LabVIEW Shared Variables
What Happens if the System Hosting my Shared Variables Crashes?
Where is the Shared Variable Manager in LabVIEW 8.6?
Archived: Why Do I Lose Communication with My FP-2000 or FP-2010 Since Installing LabVIEW 8.0?
其他支持选项
询问NI社区
在我们的论坛中与其他用户协作
搜索NI社区以寻求解决方案
请求工程师的支持
可能需要有效的服务协议或有效的软件订阅,同时支持选项因国家/地区而异
打开服务请求
了解软件订阅和服务
了解硬件服务计划
Was this information helpful?
Helpful
Not Helpful