了解共享变量
- 更新时间2025-08-27
- 阅读时长4分钟
网络发布共享变量通过共享变量引擎(SVE)在网络上发布数据。SVE是安装LabVIEW时一并安装的服务。SVE通过NI-PSP协议管理和更新共享变量,NI-PSP是NI专有的技术。Publish-Subscribe描述了一种通信模型,即写入方(发布方)不发送数据至特定的读取方(订阅方)。相反地,发布方发送更新至服务器,在本例中是SVE,订阅方从服务器获取更新。
下图使用共享变量节点演示了SVE如何通过NI-PSP管理共享变量更新。
下列事件发生在上图中。
- 在应用程序A中,随机数(0-1)函数将一个随机数连接至变量1对应的共享变量节点。

注:要通过网络读取和写入一个共享变量,必须首先使得共享变量在网络上可用。 - 应用程序A中的共享变量节点发送请求至SVE,更新变量1的值。
- SVE批准并发送新值至应用程序B和C中变量1对应的共享变量节点。
在上图中,计算机1是应用程序A变量1写入方,应用程序B变量1读取方的主机,应用程序A不能直接写入新值至应用程序B。应用程序A必须发送请求至计算机2的SVE,从而更新每个订阅了变量1的应用程序。因为更新会有所延迟,共享变量只适于发布最新的值。如要连续流入数据,请使用网络流。
使共享变量在网络上可用
必须将共享变量部署到SVE,才能通过网络读取和写入这些共享变量。部署共享变量时,LabVIEW将部署包含共享变量的项目库至SVE,包括项目库中的所有其他共享变量。SVE将会创建一块内存区域,用于包含各个共享变量的内存区。
NI-PSP数据项
任何LabVIEW通过NI-PSP发布的数据项都称为一个NI-PSP数据项。常见的NI-PSP数据项有:
- 网络发布共享变量
- 启用了网络发布的I/O变量
- OPC服务器上的数据项
- FieldPoint模块上的数据项
LabVIEW通过网络路径识别NI-PSP数据项。网络路径由数据项所在的计算机名、数据项所在的进程和数据项名称组成。例如,网络路径\\computer1\mylib\myvariable指向一个名为 myvariable,属于项目库mylib,位于计算机computer1的共享变量。如果一个共享变量在名为mysublib的子项目库中出现,那么这个共享变量的路径将包括该子项目库名:\\computer1\mylib\mysublib\myvariable。
共享变量引擎错误
SVE可报告服务器状态更新信息和重要的错误信息,如非法进程配置。可在Windows事件查看器中查看错误信息。在Windows操作系统的控制面板的管理工具中,打开事件查看器。管理工具目录的具体位置因Windows版本而有所不同。