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

news2025/1/21 2:57:29

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显示了为两个变量配置的元数据集群示例:迭代和随机数据。

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

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

图4.23.数据包格式

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

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

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

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

相关文章

3.34 haas506 2.0开发教程-example -TFT显示自动生成的二维码

TFT显示自动生成的二维码 应用场景案例说明1.硬件2.连线图 代码源码链接[TFT显示二维码](https://www.yuque.com/haas506/wiki/pubazmzgrf30zws0) 应用场景 二维码在各个领域中的应用越来越广泛,其中一些主要应用场景包括: 电子商务:通过二维…

RHCSA之查看命令帮助手册

目录 RHCSA之查看命令帮助手册 查看命令类型 --- type Linux中对应的命令类型 帮助命令 help 命令 用法1 help 内部命令 用法2 命令 --help 命令的部分语法符号解析 man 命令 man命令用法 man的帮助级 man 命令帮助信息界面中的常用操作 man命令中帮助信息的结构以及意义…

CGAN(条件GAN)

相比于GAN,CGAN给生成器和辨别器都添加了一个辅助信息,假设为y,y可以是标签类别或者其他模态的信息。 目标函数相比于GAN在输入端的x和z变为在y条件下生成的x和z。 模型框架可以表示为: 代码: import argparse import os os.en…

如何在linux中配置JDK环境变量

在linux系统部署皕杰报表,因皕杰报表是一款纯java报表工具,运行时需要jre环境,所以要在服务器上配置三个jdk环境变量path、classpath、JAVA_HOME。 那么为什么要配置jdk环境变量呢?因为java软件运行时要用到一些java命令&#xff…

人体样本? 一站式医学微生态研究解决方案来啦!

细菌?真菌?古菌?病毒? 还在为人体微生态研究选择哪个切入点而苦苦纠结吗? 数据?算法?作图?分析? 还在苦于已有的分析内容脱离医学临床实际而不知所措吗? …

vue 3.0 静态路由配置

今天研究了一下vue3.0的静态路由配置,分享一下。 首先我们现在项目中建立router文件夹,如下图所示: 404文件夹存放404页面,components文件夹存放首页界面,config为设置文件夹,diz存放具体的业务逻辑和界面…

SpringMVC 执行流程

视图阶段(老旧JSP等) DispatcherServlet:接收请求、响应结果,所有的请求都要经过它,它是被Tomcat容器初始化的当这个类加载时会加载一些组件类HandlerMapping、HandlerAdapter、ViewResolver等等。 HandlerMapping:根…

考古:Transformer

论文1: 《Attention is all you need》 模型体系结构 Encoder 将符号表示的输入序列 ( x 1 , . . . , x n ) (x_1,...,x_n) (x1​,...,xn​)映射到连续表示的序列 z ( z 1 , . . . , z n ) z(z_1,...,z_n) z(z1​,...,zn​)。 给定 z z z,Encoder 然后一次产生一…

网络安全合规-个人信息安全影响评估

信息安全技术个人信息安全影响评估指南》 一、个人信息安全影响评估定义 个人信息安全影响评估Personal Information Security Impact Assessment,针对个人信息处理活动,检验其合法合规程度,判断其对个人信息主体合法权益造成损害的各种风险…

操作系统原理 —— 什么是进程互斥? 以及进程互斥的实现方式(十四)

什么是进程互斥? 在操作系统中,有两种资源共享方式,一种是互斥共享方式,一种是同时共享方式。 互斥共享方式就是指在系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资…

看懂身份证识别OCR:从算法到 API 使用

引言 身份证识别OCR API是一种基于 OCR 技术的身份证识别服务,可以将身份证上的各种信息自动识别并提取出来,包括姓名、身份证号码、性别、民族、出生年月日、地址、签发机关和有效期等。 这项技术可以大大提高身份验证和信息采集的准确性和效率&#…

SpringBoot——配置文件的作用

简单介绍: 之前我们介绍了有关于SpringBoot文件结构的resources文件夹下面的两个子文件夹的作用,也就是在我们访问页面的时候使用方式静态资源的地方,那么在这个文件夹下面还有一个文件叫做application.properties,这个文件就是项…

【容器化应用程序设计和开发】2.6 DevOps实践和持续集成/持续部署流程

往期回顾: 第一章:【云原生概念和技术】 第二章:2.1 容器化基础知识和Docker容器 第二章:2.2 Dockerfile 的编写和最佳实践 第二章:2.3 容器编排和Kubernetes调度 第二章:2.4 容器网络和存储 第二章&…

IP信息收集

1.DNS服务器类型 例如bbs.neko.com,本地DNS服务器,根DNS服务器,TLD(TOP Level DNS)顶级域名服务器解析neko.com,authoritative DNS server(解析bbs.三级域名) 两种查询方式&#x…

2023年5月深圳数据分析师需要哪些证书?当然CPDA

CPDA数据分析师认证是大数据方面的认证,助力数据分析人员打下扎实的数据分析基础知识功底,为入门数据分析保驾护航。 帮助数据分析人员掌握系统化的数据分析思维和方法论,提升工作效率和决策能力,遇到问题能够举一反三&#xff0c…

《针灸》笔记(倪海厦先生人纪系列针灸篇——任脉)

程序员上了年纪,各种职业病就来了,人工智能成为好工具的同时,自己的时间也多了一些。 了解他才能判断他的真伪,没学过就认为中医是糟粕的,请划走。 学到什么记什么,线上线下齐下手,自用笔记&…

JAVA项目通过IDEA如何构建可执行JAR

开发JAVA工程代码(main方法启动)如何构建出可以通过java -jar命令直接执行的jar?如果工程中依赖其他jar又如何处理?本文即针对以上两点通过IDEA开发工具来做一个简单的分析和尝试,测试如下四种方法,如有瑕疵请轻喷。 文字目录 1.…

命令行下载谷歌云盘超大文件

在这申请API:https://developers.google.com/oauthplayground/

GL绘制自定义线条3_自定义线帽

安卓Path搭配Paint可以设置线帽,我想能不能把我自己的线条绘制Demo也加上类似的功能。 线头规则描述: 1、设一个线宽一半的线段,坐标为(0, 0)到(-lineWidth / 2, 0)。 2、设步骤1的线段有一垂直于它的向量(0,1),然后传…

成功的项目管理的关键之一——时间计划

在现实的项目管理中,由于时间管理控制不力,导致项目拖期交付使用而使各相关方蒙受损失的案例屡见不鲜,究其原因,不完善的项目时间计划安排是一个重要的方面。成功的项目管理的关键之一就是成功的时间管理,而成功的时间…