在应用程序之间流数据和发送命令
- 更新时间2025-08-27
- 阅读时长4分钟
流式传输数据和发送命令是在两个LabVIEW应用程序之间发送数据的两种通信方式。网络流可实现这些任务。网络数据流不损耗数据,是单向的一对一通信通道,由写入方和读取方端点构成。使用网络流函数和网络流端点属性设计使用网络流的应用程序。
注: 网络流只能用于Windows和RT系统。
网络流可用于传输LabVIEW类和多数引用句柄之外的任何LabVIEW数据类型。可通过网络流传输的唯一引用句柄是Vision Image数据类型。下列数据类型的传输速度较快:
- 数值标量
- 布尔
- 一维数值标量数组
- 一维布尔值数组
下图显示了配置网络流传输数据的几种方法。
在上图中,网络流在不同计算机上的两个应用程序之间传输数据。
在上图中,网络流在应用程序和Web服务之间传输数据。
| 注:为协助网络通信,网络流式数据传输比非网络数据传输方法占用的系统开销更多。要在一个应用程序的两个循环之间传递数据,建议使用下列方法:
|
在上图中,网络流将数据从一台计算机的一个应用程序传输至另一台计算机的两个应用程序。
在上图中,网络流将数据从一台计算机的一个应用程序传输至不同计算机上的两个应用程序。
网络流引擎
每个网络流端点均使用FIFO缓存传输数据。网络流引擎(NSE)使用LogosXT将数据从写入端点的FIFO缓存传输至读取端点的FIFO缓存。
下图显示了网络流中的数据流。
在上图中,数据流的顺序如下。
- 写入端点将数据写入FIFO缓存。
- NSE通过网络将传输至读取端点上的FIFO缓存。
- 读取端点从FIFO缓存中读取数据。
选择使用网络流和共享变量
共享变量用于将数据集的最新值发布至多台计算机。相反的,网络流用于记录计算机上的每个数据点。
例如,假设有一个泵,该泵将天然气压入输气管道,用户要检测泵的震动情况。在cRIO终端上处理震动数据,检测轴承误差,以确保泵不坠落。但是,cRIO终端没有足够的内存对数据进行分析。因此,必须将数据发送至具有足够内存存储、分析和显示数据的计算机。
共享变量仅限于发布数据的最新值,可能会丢失某个关键的数据点。但是,网络流可将每个数据点传输至计算机,以检测引擎的状态。
| 注:网络流可能会在实时(RT)、时间要求严格的循环中引起信号抖动。因此,如要通过网络流传输实时循环的数据,建议先将数据与低优先级循环共享。然后使用网络流将数据传输至其他应用程序。 |