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开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章
|
20天前
|
网络协议 JavaScript 安全
深入浅出TCP 与 UDP
深入浅出TCP 与 UDP
37 0
|
2天前
|
网络协议
Qt中的网络编程(Tcp和Udp)运用详解以及简单示范案例
Tcp和Udp是我们学习网络编程中经常接触到的两个通讯协议,在Qt也被Qt封装成了自己的库供我们调用,对于需要进行网络交互的项目中无疑是很重要的,希望这篇文章可以帮助到大家。 是关于Qt中TCP和UDP的基本使用和特点:
|
2天前
|
网络协议 网络架构
【网络编程入门】TCP与UDP通信实战:从零构建服务器与客户端对话(附简易源码,新手友好!)
在了解他们之前我们首先要知道网络模型,它分为两种,一种是OSI,一种是TCP/IP,当然他们的模型图是不同的,如下
|
12天前
|
网络协议 算法 网络性能优化
TCP和UDP有什么区别?
TCP(传输控制协议)和 UDP(用户数据报协议)是互联网协议族(TCP/IP)中的两种核心传输层协议,它们在数据传输的方式和特性上有显著的区别。
30 9
|
18天前
|
网络协议
tcp套接字和udp套接字可以共用一个端口吗?
tcp套接字和udp套接字可以共用一个端口吗?
10 1
|
23天前
|
缓存 网络协议 算法
TCP传输协议与UDP传输协议的特点与分析
网络协议如同人与人之间相互交流是需要遵循一定的规则(如语言)一样,计算机之间能够进行相互通信是因为它们都共同遵守一定的规则,即网络协议。 OSI参考模型和TCP/IP模型在不同的层次中有许多不同的网络协议,如图所示: 我们今天主要讨论的是传输层的协议,即考虑应用程序之间的逻辑通信。简单来说就是数据该如何发送给其他机器;
|
25天前
|
监控 网络协议 安全
TCP和UDP面试题提问
TCP是一种面向连接、可靠的协议,提供确认和重传机制,确保数据完整性和可靠性,适合网页浏览、邮件收发等。UDP则是无连接、轻量级协议,不保证数据可靠性,但适合实时应用如语音视频通话和在线游戏,追求低延迟。
|
4天前
|
缓存 网络协议 网络性能优化
计算机网络—传输层-tcp、udp协议详解
计算机网络—传输层-tcp、udp协议详解
|
1月前
|
移动开发 网络协议 视频直播
25.Python 网络编程:TCP和UDP编程
25.Python 网络编程:TCP和UDP编程
24 2
|
16天前
|
网络协议 Java API
TCP/IP协议以及UDP(超详细,看这一篇就够了)
TCP/IP协议以及UDP(超详细,看这一篇就够了)
14 0