LabVIEWCompactRIO 开发指南17 网络流

news2025/2/25 11:22:58

LabVIEWCompactRIO 开发指南17

网络流

网络流类似于队列函数,因为它们是基于FIFO的,但与队列函数不同的是,网络流具有网络作用域。它们是为通过以太网进行无损、高吞吐量数据通信而设计和优化的,并且它们具有增强的连接管理功能,如果由于网络中断或其他系统故障而断开连接,则可以自动恢复网络连接。流使用缓冲的无损通信策略,确保写入流的数据永远不会丢失,即使在具有间歇性网络连接的环境中也是如此。

由于网络流构建时具有与原始TCP相当的吞吐量特征,因此它们非常适合程序员希望避免TCP复杂性的高吞吐量应用程序。还可以使用流进行无损、低吞吐量的通信,例如发送和接收命令。

网络流使用单向点对点缓冲通信模型在应用程序之间传输数据。这意味着一个端点是数据的写入者,另一个端点是读取者。应用程序可能需要多个流来通信多种类型的数据,如图4.13所示。

图4.13 网络流使用单向、点对点缓冲通信模型

图4.13显示了一个基本的Network Streams实现。一个进程在实时目标上执行,另一个进程在主机上执行。可以遵循三个基本步骤来设置网络流:

1. 创建端点并建立流连接

2. 读取或写入数据

3.销毁端点

创建端点

一旦创建了兼容的读取器和写入器端点,就建立了连接。创建端点的顺序并不重要。流要尝试重新连接,必须至少有一个端点处于活动状态。

图4.14 创建读取器和写入器端点。

如果发生断开连接并且一个端点变为非活动状态,则协议将在后台自动执行重新连接。该协议永远重试,保持数据流的无损特性。当协议尝试重新连接时,活动端点输出一条错误消息,通知用户端点无法重新同步。还可以使用图4.15所示的网络流端点属性节点来监视流是否连接。

图4.15 使用属性节点监视网络流端点连接状态

读写数据

当读取或写入网络流时,可以一次写入单个元素或多个元素,这取决于选择的网络流函数。数据永远不会被覆盖或重新生成,也不会发生部分数据传输。读/写函数要么成功要么超时。

图4.16 网络流的基本实现,通过网络传输数据

销毁端点

在销毁网络流端点之前,可以使用刷新流。VI以确保所有数据都已从写入器端点传输。如果选择“AllElements Read from Stream”,则写入器端点不会销毁自己,直到写入器缓冲区中的所有元素都被放入并从读取器缓冲区中读取。如果选择“All Elements Available for Reading”,一旦所有元素被放入读取器缓冲区,写入器端点就会自行销毁。

图4.17 使用冲洗流,VI关闭网络流

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/522044.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Springboot +Flowable,各种历史信息如何查询(三)

一.简介 正在执行的流程信息是保存在以 ACT_RU_ 为前缀的表中,执行完毕的流程信息则保存在以 ACT_HI_ 为前缀的表中,也就是流程历史信息表。 假设有一个流程,流程图如下: 当这个流程执行完毕后,以 ACT_RU_ 为前缀的…

学习新技术,争做新青年:请ChatGPT帮我写一篇计算机视觉分类算法论文

文章目录 学习新技术,争做新青年:你不会还不用 ChatGPT 吧?学习新技术请告诉我最好的图像分类模型是哪个请推荐最新的分类模型是哪个请详细介绍一下 Swin Transformer请给出Swin Transformer的论文链接请帮我分析一下Swin Transformer 的创新…

Java实现多线程操作多账户

前言 某公司一个面试题: 1.有二十个账户,每个账户初始余额10000元。 2.有十个转账线程,对二十个账户中的两个随机选取账户进行转账,转账额度100以内正整数随机数。 3.每个线程执行100次转账操作。 4.最后请打印出二十个账户的…

西门子PLC控制步进电机方法与接线(全)

一、步进驱动系统 步进驱动系统包含步进电动机和步进驱动器,前端由PLC发脉冲。 步进电机是将电脉冲信号转变为角位移或线位移以控制转子转动的开环控制电机(可以通过安装编码器形成闭环系统)。 它旋转是以固定的角度(步距角&…

ThinkPHP6的控制器定义及控制器初使用

ThinkPHP6的控制器定义及控制器初使用 控制器定义 控制器文件通常放在controller下面,类名和文件名保持大小写一致,并采用驼峰命名(首字母大写)。 如果要改变controller目录名,需要在route.php(config/route.php)配…

redis从零开始(1)----五种基本类型:string/hash

认识redis NoSQL Nosql not only sql,泛指非关系型数据库,与之相对的是RDBMS(Relational Database Management System),即关系型数据库 关系型数据库:列行,同一个表下数据的结构是一样的。 非关系型数据库&#xff…

原生js手动实现一个多级菜单效果(高度可过渡变化)

文章目录 学习链接效果图代码要点 学习链接 vue实现折叠展开收缩动画 - 自己的链接 elment-ui/plus不定高度容器收缩折叠动画组件 - 自己的链接 Vue transition 折叠类动画自动获取隐藏层高度以及手风琴效果实现 vue transition动画钩子- vue官网 vue transition 过渡动画…

vue基础入门

1. vue简介 1.1 什么是vue 官方概念:Vue(读音/vju:/,类似于view)是一套用于构建用户界面的前端框架 1.2 vue 的特性 vue 框架的特性,主要体现在如下两方面: ① 数据驱动视图 ② 双向数据绑定 数据驱动…

IMS补充业务场景介绍

呼叫保持流程 通话主动Hold的一方,发INVITE消息,媒体流从sendrecv变为sendonly,对方返回200 ok,媒体流从sendrecv变为recvonly,双方ACK后,进入呼叫保持状态,没有通话的RTP包。 大致流程如下 UE A发送INVITE(Sendonly)到网络 网络发送INVITE(Sendonly)到UE B UE发…

Linux文件属性修改

关于我们的文件属性如何修改呢? 我们今天来看一下 chmod chmod u(拥有者)/g(所属组)/o(其他人)(-)r/w/x(t) 文件名 就是这样,我们演示几个 我们想给拥有者去掉file1的读权限 我们file1的拥有者已经没有读权限了,那么我们还想加回来呢…

asp.net+C#基于web的旅游网站自驾游网站

(1)登录注册模块:输入账号密码,数据库进行验证,正确通过后,根据不同的账户信息,不同角色,获取不同的功能。 (2)自驾游模块:此模块可以分享自己自…

《计算机网络—自顶向下方法》 第五章Wireshark实验:UDP 协议分析

用户数据报(UDP)协议是运输层提供的一种最低限度的复用/分解服务,可以在网络层和正确的用户即进程间传输数据。UDP 是一种不提供不必要服务的轻量级运输协议,除了复用/分用功能和简单的差错检测之外,几乎就是 IP 协议了,也可以说它…

Python操作Redis常见类型详解

1、windows 上安装 Redis 便于测试,笔者在 windows 上安装 Redis Redis 官方不建议在 windows 下使用 Redis,所以官网没有 windows 版本可以下载。微软团队维护了开源的 windows 版本,对于普通测试使用足够了。 1.1、安装包方式安装 Redis…

万字收藏:《2023网络工程师年度必看书单》

晚上好,我是老杨。 这周是总结周,更新的第三篇内容,还是关于总结的。很多人让我推荐网工适合看的书,其实我推荐过好多次了。 趁着年底,一起把我认为网工适合看的、推荐你看的、值得看的书整理一下,供新老…

视觉SLAM ch13 设计SLAM系统

目录 一、SLAM系统 二、工程框架 三、框架流程 四、具体实现 五、VO整体流程 六、显示整体建图效果 一、SLAM系统 实现一个精简版的双目视觉里程计,前端使用光流法,局部使用局部BA优化。 二、工程框架 app中 run_kitti_stereo.cpp是代码的运行入口…

国内免费可用 ChatGPT 网页版

ChatGPT是一个神奇的机器人,它可以回答任何问题,解决任何问题。它的名字来源于“Chat”和“GPT”,前者代表聊天,后者代表生成预测文本。它被设计成一个智能助手,可以帮助人们解决各种问题。 有一天,一个名…

【Python 爬虫之requests库】零基础也能轻松掌握的学习路线与参考资料

文章目录 一、概述二、Requests 库基本用法三、爬虫中的优秀实践四、参考资料 一、概述 Python 爬虫中,常用来请求网页的库有 urllib、urllib2、httplib等,但是这些库用起来比较麻烦,需要写很多代码。Requests 库正是为了解决这个问题而生的…

Flask轻松构建钉钉接口模版,实现自动化流程优化

项目背景 随着钉钉应用的不断普及和企业数字化程度的提高,越来越多的企业需要开发钉钉接口来完成内部业务流程的自动化和优化。而Flask框架,则是一个轻量级的Python web框架,具有快速开发和灵活性的优势,是钉钉接口开发的理想选择…

python去重列表中相同的字典元素

python去重列表中相同的字典元素 文章目录 python去重列表中相同的字典元素一.知识点二.代码|代码1|问题 |代码2 三.分析总结1、分析2、总结 四.后续代码知识点代码流程问题总结总结 一.知识点 ​ data_list [{“a”: 1, “b”: 2}, {“a”: 2, “b”: 3}, {“a”: 1, “b”:…

华为OD机试真题 Java 实现【相同数字的积木游戏1】【2023Q2 100分】

一、题目描述 小华和小薇一起通过玩积木游戏学习数学。 他们有很多积木,每个积木块上都有一个数字,积木块上的数字可能相同。 小华随机拿一些积木挨着排成一排,请小薇找到这排积木中数字相同且所处位置最远的2块积木块,计算他们…