基于LabVIEW搭建UDP实验

基于LabVIEW&UDP实验

 

一、简述

LabVIEW UDP分为两部分程序:发送端程序和接收端程序,两者采用UDP协议进行通信,前者为连续产生一组随机数据发送给后者,后者将接收到的数据在前面板上进行连续显示。

UDP模块简介:

UDP读和写框图

端口或服务名称可接受数值或字符串输入。端口或服务名称指定要写入 的端口。如指定服务名称,LabVIEW将向NI服务定位器查询所有服务注册过的端口号。

地址是要接收数据报的计算机的地址。

 连接ID是唯一标识UDP套接字的网络连接引用句柄。

数据输入包含写入至UDP套接字的数据。 在以太网环境中,数据限制为8192字节。 在本地通话环境中,数据限制在1458字节可保持网关的性能。

超时毫秒指定函数等待完成并报告错误的时间,以毫秒为单位。 默认值为25000毫秒,即25秒钟。 -1表明无限等待。

错误输入表明节点运行前的错误情况。 该输入提供标准错误输入功能。

连接ID输出返回值与连接ID相同。  

 错误输出中包含错误信息。 该输出提供标准错误输出功能。 

发送端程序设计:

发送端程序前面板设计如下图所示,远程地址设置要发送的程序即接收端程序所在的远程主机IP地址,远程端口设置接收端程序的端口标识值;本地端口设置发送端程序的端口标识值,停止”按钮结束程序的运行。
发送端框图程序如下:

在程序框图中,UDP 写入函数将数据(作为字符串数据类型)发送到指定的远程端口。无论接收器当前是否连接,此值都将写入端口。 “写入UDP数据”函数必需设置远程接收端程序对应的IP地址和端口号,这是该节点函数发送数据的目的地,前面板上“远程地址”控件是一个字符串类型,使用“字符串至IP地址转换”函数可以得到对应的IP地址。点击“停止”按钮,可以退出While循环。最后调用“关闭UDP”函数,退出程序。

接收端程序设计:

在程序框图中,与发送端程序类似,首先调用“打开UDP”函数打开“本地端口”控件上指定的端口上的一个UDP套接字,返回一个连接ID参数。在While循环内部,连续接收发送端程序发送的波形数据并在波形图上显示,最后调用“关闭UDP”函数,退出程序。

此处在While循环内,与服务器端程序相对应,每隔200ms读取一次服务器端程序发送的波形数据。每次读取波形数据时,通过调用“读取UDP数据”节点函数接收波形数据,此波形数据为字符串类型,所以需要调用“强制类型转换”函数转换为双精度类型的一维数组,将该数组送到前面板的“波形”显示控件上进行显示即可。

二、实验与模拟

实验步骤:

1.首先打开UDP范例,然后在项目浏览器中打开UDP Multicast-Sender.vi,打开程序框图,在程序框图中删除多余程序,然后搭建两个case structure,分别在每一个案例结构中引进信号处理,生成三个波形(正弦波,方波,三角波);

其次在前面板中插入一个组合框,然后右键单击组合框选择编辑项,然后按照顺序插入正弦波,方波和三角波;

2.在前面板中插入图形显示控件中的波形图,并修改名称为CH1,背景颜色,线性颜色以及线宽,接着引入数值中旋钮和垂直填充滑动杆,并右键单击选择显示项为数字显示,并把标题分别改为频率和幅值,然后把初始值分别设为2和1;其次打开程序框图,把频率、幅值和CH1显示为图标取消选择,便于排版并使用句柄连接;

 
3.按照上述方法重复操作第二个cases structure;并且在程序框图面板中插入簇、类与变体中的创建簇数组并与输出波形图CH1、CH2连接;

4.在程序框图中插入字符串中的平化/还原字符串中的平化至字符串并连接;

5. 将上述发送文件保存并关闭;打开项目中的UDP Multicast-Receiver.vi文件,在程序面板中删除多余程序;插入字符串中的平化/还原字符串中的从字符串还原并连接,打开之前保存的vi发送文件并在程序面板中创建常量复制到接收程序面板中并取消显示为图标,之后连接;插入数组中的索引数组并连接;在前面板中创建两个波形图且修改名称、背景颜色、线型颜色和线宽;

6.在程序面板中创建UDP常量并将数值修改为65525;同时在索引数组输出端连接两个波形图输出信号; 

三、实验结果:
打开Sender.vi并运行,在Receiver中会同时显示

                                                                                                                         日期:2022-01-08

  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

投篮只打铁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值