如何使用共享变量在两台计算机之间进行通信?

更新 May 4, 2023

环境

硬件

  • CompactRIO Controller

软件

  • LabVIEW

我想使用共享变量在同一网络下的两台Windows计算机之间传递数据。应该如何使用?

您需要选择一台计算机作为服务器并发布变量,而另一台计算机作为客户端接收变量。然后,按照以下步骤设置服务器和客户端计算机。

服务器机器:
  1. 创建LabVIEW项目并通过右键单击“我的电脑”并选择“ 新建 » 变量”来添加变量 (My Computer»New»Variable)。确保将“变量类型(Variable Type)”设置为“网络已发布(Network-Published)”。
  1. 创建一个新VI并正常写入或读取Network Published Shared变量,如使用LabVIEW共享变量中所述
服务器项目看起来应该与此类似。

客户端机器:
创建一个新的LabVIEW项目,添加一个新的VI并使用共享变量API的功能与远程服务器中发布的共享变量进行通信。共享变量API可以在数据通信下的函数选项板中找到。
  1. 使用打开变量连接函数连接到字符串,共享变量引用常量或者控件将网络发布的共享变量URL指定为ni.var.psp:// <machine_name_or_IP_address> / <library> / <variable> 。可以通过右键单击任何共享变量API函数输入中的共享变量引用句柄并选择创建 » 常量 / 控制创建共享变量引用句柄 常量控件
  2. 使用Write Variable(写入变量)或Read Variable(读取)函数根据需要写入或读取变量。
  3. 使用“关闭变量连接”功能关闭对“网络发布的共享变量”的引用。
代码类似于:

Additional Information

LabVIEW 2009以后的版本中推荐使用共享变量API在Windows系统之间通信。但是,有一种可选的方法可将网络发布的共享变量绑定到前面板对象,如果绑定的变量有任何更改,这将使输入控件或显示控件自动更新。建议不要使用数据绑定方法,因为它会覆盖前面板对象的功能; 由于输入控件或显示控件没有使用连线的方法获取它们的值,因此降低了代码的可读性。

有关其他信息,请参阅相关链接和Shared Variable.lvproj范例中的文档。要找到范例,请启动LabVIEW并单击帮助 » 查找示例..以打开示例查找程序,加载后,选择浏览 (根据任务)并展开网络 » 共享变量