用LabView和Simulink模块搭建UDP通信模块

2 篇文章 0 订阅
2 篇文章 0 订阅

用LabView和Simulink模块搭建UDP通信模块

前言

Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。RFC 768 描述了 UDP。
Internet 的传输层有两个主要协议,互为补充。无连接的是 UDP,它除了给应用程序发送数据包功能并允许它们在所需的层次上架构自己的协议之外,几乎没有做什么特别的事情。面向连接的是 TCP,该协议几乎做了所有的事情。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、LabView通信模型搭建

1.1LabView需要使用的模块

①打开UDP (函数)
所属选板:UDP VI和函数
打开端口或服务名称的UDP套接字。

UDP关闭函数可用于关闭套接字。通过打开UDP多点传送VI而非该函数,打开可对UDP多点套接字读取、写入、读取并写入数据的连接。通过写入UDP数据函数向NI服务定位器问询与服务名称注册的端口号。

在这里插入图片描述
写入UDP数据 (函数)
所属选板:UDP VI和函数
使数据写入远程UDP套接字

在这里插入图片描述
关闭UDP (函数)
所属选板:UDP VI和函数
关闭UDP套接字。
在这里插入图片描述
替换子字符串(函数)
所属选板:字符串函数
插入、删除或替换子字符串,偏移量在字符串中指定
在这里插入图片描述
本例中偏移量是0,长度是8,是截取8个字符串是指收到的8个字节的double数据。

索引数组 (函数)
所属选板:数组函数
返回n维数组在索引位置的元素或子数组。

连线数组到该函数时,函数可自动调整大小,在n维数组中显示各个维度的索引输入。也可通过调整节点大小,添加元素或子数组。连线板可显示该多态函数的默认数据类型。

在这里插入图片描述
创建数组 (函数)
所属选板:数组函数
连接多个数组或向N维数组添加元素。
也可使用替换数组子集函数,修改现有数组。
连线板可显示该多态函数的默认数据类型。

在这里插入图片描述

字符串至IP地址转换 (函数)
所属选板:TCP VI和函数
使字符串转换为IP地址或IP地址数组。
在这里插入图片描述
强制类型转换 (函数)
通过新数据类型平化和还原,使x强制转换为某个类型。如函数无法转换数据而必须对其重新解析,LabVIEW将使用临时缓冲区。
在这里插入图片描述

1.2LabView模型的程序框图

1.2.1 LabView中udp发送模块

在这里插入图片描述

需要注意的点:
激活数组:还有一个数组的设置,先在前面板拉一个数组,再拉一个数值显示控件/数值输入控件。再把控件放入数组里面。起初控件里面是暗色的,这是说明控件是未激活状态。然后把未激活里的填写数字,这样控件是变亮了。
输出数据是一个数组模块(控制部件)
需要注意的是在NI模型中,如果LabView中数组模块需要显示在NI面板上,需要在前面板选中数组,然后在上面选中编辑,选择**“所选值设置位默认值”(英文版:Make Selected Values Default)。在前面板右上角选择一个方块,然后选中输入模块。输出模块同理。
在这里插入图片描述
上面是发送模块,打开udp通信模块,左边引入的是本机发送端口的设定,8002就是本例设定的本机发送端口。然后
写入UDP数据中左绿线是连接打开udp通信模块**,粉线连接的是需要发送的数据(字符串类型)。左蓝线是接收主机的端口,右蓝线是接收主机的IP地址,这里需要一个 “str ip”模块,隶属于TCP 模块。最后连接“关闭udp模块”。

1.2.2 LabView中udp接收模块

在这里插入图片描述
接收模块是根据接收模块逆向思维建立的一个模型。打开udp模块的左边蓝色线连接的是本机接收的一个端口号设定。

1.3 Simulink模型的程序框图

在这里插入图片描述
该模块是将double类型字节转成uint8字节的类型模块。
这才是符合labview接收格式的模块。

  • 1
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值