LabVIEW论坛
登录
直播中
邢峻豪
5年用户
50经验值
私信
关注
[问答]
labview进行被动接收数据,当VISA缓存区设置过小,会产生丢数据现象吗
开启该帖子的消息推送
VISA
字符串
利用
labview
进行双通道数据采集,下位机发来的数据为字符串(类型为2.134,5.345 然后第二行3.453,4.345 第三行 4.784,3.564等等依次类推),然后想把字符串的两路数据提取出来,进行波形显示,提取时候用匹配字符串,输出结果感觉总是数据丢失,之前VISA读函数参数设置为有多少读多少,即调用属性节点,但是会有数据丢失(明显发现读取前的字符数和读取后的字符数不等,利用显示控件观察,此数据丢失应该数缓冲区内地的数据未读取完),后来把VISA读函数的读取字节固定为17(即每一行的字符串长度,包含逗号、换行号等),这样读取函数之后的字节数是相等了,但是采样率提高的话,对应的输出点数并不会改变,怀疑还是由数据丢失(此数据丢失应该是没有存进缓冲区)。所以非常疑惑,希望
论坛
内的大神指点迷津。
回帖
(2)
李海民
2019-4-16 10:44:55
我且不说您的程序编写是摊大饼,每次循环都是初始化 读取 关闭。就凭您把缓冲区大小固定死,然后清空缓冲区的操作,您自己琢磨琢磨是不是会丢数据?
建议您学学状态机结构。
我且不说您的程序编写是摊大饼,每次循环都是初始化 读取 关闭。就凭您把缓冲区大小固定死,然后清空缓冲区的操作,您自己琢磨琢磨是不是会丢数据?
建议您学学状态机结构。
1
举报
老蜗牛
2019-4-16 11:12:13
对于单听式串口通讯,你的要求是高波特率下不丢数,这是有其标准格式的:至少应该先把数据从硬件缓冲区读到一个字符串中(你的read string),再对该字符串进行处理分析,而不是像你现在这样读进来的同时处理读取的数据。
对于单听式串口通讯,你的要求是高波特率下不丢数,这是有其标准格式的:至少应该先把数据从硬件缓冲区读到一个字符串中(你的read string),再对该字符串进行处理分析,而不是像你现在这样读进来的同时处理读取的数据。
举报
更多回帖
rotate(-90deg);
回复
相关问答
VISA
字符串
LABVIEW
利用
visa
采
数据
经常会
丢
数据
怎么办
2016-09-14
6256
如何实现中断模式的
VISA
串口
数据
接收
2017-05-29
9308
ATK-LORA-01
产生
丢
包
现象
2019-01-24
3663
labview
TCP清空
数据
缓存
区
2017-06-29
13499
请问
labview
采用UDP
被动
接收
数据
时,如何
设置
采集频率
2018-12-04
3471
串口如何使用“
设置
I/O缓冲
区
大小”
2013-10-23
14673
Zigbee 定时发送时间
设置
小于500MS时候,
接收
端
会
丢
包怎么解决?
2016-03-15
6110
串口通信
接收
数据
错误
2013-04-15
5676
上位机
被动
接收
时,如何保证
VISA
读取
数据
的完整性?
2016-04-20
4975
labview
中
visa
读取
数据
字节缺失
2019-03-26
5652
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分