LabVIEWCompactRIO 开发指南19 原始以太网(TCP/UDP)

简介: LabVIEWCompactRIO 开发指南19 原始以太网(TCP/UDP)

LabVIEWCompactRIO 开发指南19


原始以太网(TCP/UDP)


TCP和UDP是所有以太网标准的低级构建块。原始TCP和UDP工具在几乎所有编程环境中都得到原生支持,包括LabVIEW。它们提供较低级别的通信功能,这些功能更灵活,但用户友好性较差。必须在应用程序级别处理建立连接和打包数据等功能。


如果需要对通信协议进行非常低级别的控制,或者如果正在设计自定义协议,TCP和UDP是不错的选择。它们也被推荐用于将数据流到第三方应用程序,因为网络流仅支持与LabVIEW应用程序进行通信。对于向第三方应用程序发送消息,STM更易于使用,并提供同等甚至更好的性能。为了将当前值或标签发送到第三方应用程序,CCC,Web服务或Modbus,具体取决于具体系统配置,也有更容易的实现。


TCP提供具有错误处理功能的点对点通信,以保证数据包传递。UDP可以广播多个设备可以接收相同信息的消息。UDP广播消息可能由网络交换机过滤,并且不提供有保证的数据包传递。TCP通信遵循客户端/服务器方案,其中服务器侦听客户端打开连接的特定端口。建立连接后,可以使用基本的写入和读取功能自由交换数据。借助LabVIEW中的TCP函数,所有数据都以字符串形式传输。这意味着必须将布尔或数字数据平展为字符串数据,以便在读取后写入和取消平展。由于消息的长度可能不同,因此由程序员确定给定消息中包含多少数据并读取适当数量的字节。有关LabVIEW中客户端/服务器通信的基本概述,请参阅LabVIEW示例Data Server.vi 与Data Client.vi。


简单TCP/IP消息传递(STM)


STM是NI系统工程师基于TCP/IP设计的一种网络协议。如果要与第三方API通信或需要标准协议,建议通过网络发送命令或消息。它通过使用格式化数据包使数据操作更易于管理,并通过最大限度地减少重复数据的传输来提高吞吐量。


为本部分提供LabVIEW示例代码。


下载:可以从NI开发人员专区白皮书LabVIEWSimple Messaging Reference Library (STM)下载并安装STM库。STM库位于“User Libraries”选板中。


元数据


元数据作为集群数组实现。每个数组元素都包含打包和解码一个变量值所需的数据属性。即使只定义了Name属性,也可以根据应用程序要求,通过添加元属性(如数据类型)来使用集群来自定义STM。元数据群集是一个typedef,因此添加属性不应破坏代码。


图4.22显示了为两个变量配置的元数据集群示例:迭代和随机数据。


8a2f306330cea70172965c7f01d9d111.png


图4.22.字符串的元数据数组


在传输每个数据变量之前,将创建一个数据包,其中包含数据大小、元数据ID和数据本身的字段。图4.23显示了数据包格式。


5694328ba126194ac1ffaecefe3c114b.png



图4.23.数据包格式


元数据ID字段使用与数据变量对应的元数据数组元素的索引进行填充。接收主机使用元数据ID为元数据数组编制索引,以获取消息数据的属性。


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

相关文章
|
9天前
|
存储 网络协议 安全
用于 syslog 收集的协议:TCP、UDP、RELP
系统日志是从Linux/Unix设备及网络设备生成的日志,可通过syslog服务器集中管理。日志传输支持UDP、TCP和RELP协议。UDP无连接且不可靠,不推荐使用;TCP可靠,常用于rsyslog和syslog-ng;RELP提供可靠传输和反向确认。集中管理日志有助于故障排除和安全审计,EventLog Analyzer等工具可自动收集、解析和分析日志。
|
25天前
|
网络协议 网络性能优化 数据处理
深入解析:TCP与UDP的核心技术差异
在网络通信的世界里,TCP(传输控制协议)和UDP(用户数据报协议)是两种核心的传输层协议,它们在确保数据传输的可靠性、效率和实时性方面扮演着不同的角色。本文将深入探讨这两种协议的技术差异,并探讨它们在不同应用场景下的适用性。
65 4
|
25天前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
53 3
|
1月前
|
网络协议 算法 网络性能优化
|
1月前
|
网络协议 SEO
TCP连接管理与UDP协议IP协议与ethernet协议
TCP、UDP、IP和Ethernet协议是网络通信的基石,各自负责不同的功能和层次。TCP通过三次握手和四次挥手实现可靠的连接管理,适用于需要数据完整性的场景;UDP提供不可靠的传输服务,适用于低延迟要求的实时通信;IP协议负责数据包的寻址和路由,是网络层的重要协议;Ethernet协议定义了局域网的数据帧传输方式,广泛应用于局域网设备之间的通信。理解这些协议的工作原理和应用场景,有助于设计和维护高效可靠的网络系统。
40 4
|
1月前
|
缓存 负载均衡 网络协议
面试:TCP、UDP如何解决丢包问题
TCP、UDP如何解决丢包问题。TCP:基于数据块传输/数据分片、对失序数据包重新排序以及去重、流量控制(滑动窗口)、拥塞控制、自主重传ARQ;UDP:程序执行后马上开始监听、控制报文大小、每个分割块的长度小于MTU
|
2月前
|
网络协议 前端开发 物联网
TCP和UDP区别?
本文首发于微信公众号“前端徐徐”,详细介绍了TCP和UDP两种传输层协议的核心概念、连接性和握手过程、数据传输和可靠性、延迟和效率、应用场景及头部开销。TCP面向连接、可靠、有序,适用于网页浏览、文件传输等;UDP无连接、低延迟、高效,适用于实时音视频传输、在线游戏等。
72 1
TCP和UDP区别?
|
2月前
|
Web App开发 缓存 网络协议
不为人知的网络编程(十八):UDP比TCP高效?还真不一定!
熟悉网络编程的(尤其搞实时音视频聊天技术的)同学们都有个约定俗成的主观论调,一提起UDP和TCP,马上想到的是UDP没有TCP可靠,但UDP肯定比TCP高效。说到UDP比TCP高效,理由是什么呢?事实真是这样吗?跟着本文咱们一探究竟!
69 10
|
2月前
|
网络协议 网络性能优化 C#
C# 一分钟浅谈:UDP 与 TCP 协议区别
【10月更文挑战第8天】在网络编程中,传输层协议的选择对应用程序的性能和可靠性至关重要。本文介绍了 TCP 和 UDP 两种常用协议的基础概念、区别及应用场景,并通过 C# 代码示例详细说明了如何处理常见的问题和易错点。TCP 适用于需要可靠传输和顺序保证的场景,而 UDP 适用于对延迟敏感且可以容忍一定数据丢失的实时应用。
52 1
|
2月前
|
网络协议 Linux 网络性能优化
Linux C/C++之TCP / UDP通信
这篇文章详细介绍了Linux下C/C++语言实现TCP和UDP通信的方法,包括网络基础、通信模型、编程示例以及TCP和UDP的优缺点比较。
49 0
Linux C/C++之TCP / UDP通信