LabVIEWCompactRIO 开发指南13
网络发布的共享变量
跨网络共享标签的一种方法是网络共享变量。术语网络变量是指网络上可以在程序、应用程序、远程计算机和硬件之间进行通信的软件项。网络共享变量非常适合1:N或N:1设置,因为它们有一个内置的连接管理器来管理传入的客户机。对于其他机制,如CCC、STM和Network Streams,必须创建自己的连接管理器。同时,需要了解性能和易用性之间的权衡。虽然网络共享变量具有很高的易用性因素,但在吞吐量和延迟方面,它们的性能不如其他机制。
图4.3 网络共享变量是1:N或N:1配置下标签通信的理想选择
三个重要的部分使网络变量在LabVIEW中工作:网络变量节点、共享变量引擎和NI发布-订阅协议。
网络可变节点
可以使用可变节点在框图上执行可变的读写操作。每个变量节点都被认为是对由共享变量引擎托管的网络上的一个软件项(实际的网络变量)的引用。图4.4显示了一个给定的网络变量,它的网络路径,以及它在项目树中各自的项。
图4.4 网络可变节点及其工程项目
共享变量引擎
共享变量引擎是一个承载通过以太网发布的数据的软件组件。该引擎可以在实时目标或Windows PC上运行。在Windows上,共享变量引擎是在系统启动时启动的服务。在实时目标上,它是一个可安装的启动组件,在系统启动时加载。
要使用网络变量,共享变量引擎必须至少在网络上的一个系统上运行。网络上的任何LabVIEW设备都可以读写共享变量引擎发布的网络变量。图4.5显示了一个分布式系统的示例,其中共享变量引擎在桌面机器上运行,多个实时控制器通过网络变量交换数据。
图4.5 使用网络发布共享变量进行通信的分布式系统
发布-订阅协议(PSP)
共享变量引擎使用NI发布-订阅协议(NI- PSP)进行数据通信。NI-PSP是一种使用TCP构建的网络协议,该协议针对以太网络中许多数据元素的可靠通信进行了优化。为了最大限度地减少以太网带宽的使用,每个客户机订阅单独的数据元素。然后,该协议实现事件驱动的通信机制,仅在数据更改时将数据传输到订阅的客户端。该协议还将多个消息合并到一个数据包中,以最小化以太网开销。此外,它还提供心跳来检测丢失的连接,并在设备添加到网络中时自动重新连接。NI-PSP组网协议使用PSP URLs在网络中传输数据。