完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
niezidong 发表于 2015-3-19 10:44 基于LabVIEW的以太网数据监听与通信
最佳答案
|
|
|
|
|
|
既然采用UDP通讯,就不能避免数据的丢失。想数据不丢失就用TCP/IP通讯。当时数据不丢失也可以,可以用队列~~
|
|
|
|
|
|
使用UDP的时候,仅仅读取不做任何数据处理,都会出现丢包显现,有没有更好的办法优化下? |
|
|
|
|
|
UDP一般不会出现这样的情况,可以把你的VI上传,帮你找找问题~~
|
|
|
|
|
|
”UDP一般不会出现这样的情况“------------在数据量很大的情况下如何使用?当前测试发送速度约为100KB/ms,设备发送200个包,每包数据长度1454字节。测试程序显示可以接收到180包左右,包基本连续,中间偶尔有丢包。剩余的20包全部丢失。设备状态为发送完成后断块网络连接。 测试程序、框图在附件中。 |
|
|
|
|
|
附件为当前使用的测试程序。是否还有其他设置?
|
|
|
|
|
|
首先,顺序结构里面不要用两个while循环。因为这两个while循环的循环速度你完全不知道谁在影响谁,也是不可控制的~~其次,while循环一般要加一定的延时,否则它会以你cpu的最大循环速度运行。运行期间出现的问题你完全不知道,丢包也不可避免了。你这样的编程问题很大,建议不要用顺序结构,用状态机比较好~~你可以尝试改变自己的程序~~祝好~~
|
|
|
1 条评论
|
|
|
谢谢指导。 第一,根据数据流的概念,只有在第一个循环退出后,第二个循环才开始运行,应该不存在影响问题; 第二循环没有加延时是因为就是想以最快的速度运行。 第三,最重要的一点是,这个问题的关键之处不在于这个几秒钟写的测试程序结构和其他,而在与UDP通讯机制和labview中自带的UDP协议函数的使用方法。 此问题的解决方法可以借助第三方工具WinPcap,对其进行二次开发打包成dll,在使用LabVIEW调用。参考《基于LabVIEW的以太网数据监听与通信》。 已完成的dll及使用方法见附件。
|
|
|
1 条评论
|
|
|
|
|
|
|
|
niezidong 发表于 2015-3-19 10:44 基于LabVIEW的以太网数据通信 |
|
|
|
|
|
用自带的UDP读取,写队列也是偶尔丢包,不论入不入队列,总会有几次丢包,我试了好多次了。
|
|
|
|
|
|
如果通信速率过快,UDP通信是可能丢包的 |
|
|
|
|
|
怎么解决的,看了,《基于LabVIEW的以太网数据监听与通信》不知道,如何处理,通过UDP发送大量数据是,Labview还是接受数据不全。。
|
|
|
|
|
|
its really helpful for me
|
|
|
|
|
niezidong 发表于 2015-3-19 10:44 感谢大师指导,超有用 |
|
|
|
|
|
|
|
|
|
|
|
ding
|
|
|
|
|
|
非常不错喔,谢谢分享!
|
|
|
|
|
|
下载学习一下,谢谢楼主分享
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
请教大神,在labview里面对实时扫描资源中的C系列模块NI9234进行配置发生非预期错误
1671 浏览 0 评论
1569 浏览 0 评论
LABVIEW 2023 Q1调用python后一直报错1671
1946 浏览 2 评论
5094 浏览 3 评论
4986 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 19:48 , Processed in 1.042838 second(s), Total 89, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4130