NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

关于LabVIEW与泰克示波器的串口数据采集

我从ni上下载的泰克示波器的驱动程序,并对其进行了修改,出现了如下问题:1、采集时示波器上输入标准方波信号,labview可以从串口读出正确的点数,并显示正确的波形,但是示波器输入正弦波时,我希望读出2500点,但是labview仅从串口读出几十点,显示的波形也不对;2、使用标准方波,我将程序加上循环,发现循环执行4、5次,就再也读不出数据了。我已经试过了TDS220 TDS1012 TDS2024三种示波器,都出现了上述问题。请各位大侠帮忙,附件是我使用TDS220时的程序。
0 项奖励
1 条消息(共 7 条)
8,222 次查看
尝试一下延长采集数据的time out有没有效吧难过表情
——————————————
党教育我们要忠于人民
0 项奖励
2 条消息(共 7 条)
8,202 次查看
我试过了,延长延时,也只能多执行几次,最后还是回出现和以前一样的问题
0 项奖励
3 条消息(共 7 条)
8,196 次查看
这是由于泰克示波器传送波形时,采用二进制比特流传输数据,而VISA采用ASCII码的比特流作为传输数据。这就造成一个情况:VISA定义LF、CR或者LF+CR作为结束符,而这些字符在二进制的bit流中仍然当作一般字符,波形数据有2500个点,如果是双精度的话就有2500×8=1万个字节,难免包含这样的字符,此时接收程序如果用VISA编就会会停下来。
解决办法是读取波形前把停止位设为none,同时编程者应该主动算出2500点对应的数据长度,设定读取长度,读取成功后在重新设定停止位做其他操作。
0 项奖励
4 条消息(共 7 条)
8,191 次查看

大徐做过试验吧

这都能给你找到问题

0 项奖励
5 条消息(共 7 条)
8,174 次查看
To Richard.Xu
泰克数据传输时用的是8位数据,即2500点就是2500个字节,在读数据的同时将示波器数据的转换设置也读回,再将数据转换双精度(这一步是在数据传输完成后进行的,已经不涉及串口了),所以2500点数据对应的长度就是2500个字节。我现在不明白你说的“重新设定停止位做其他操作”是什么意思,我将停止位termcharin 设置为faulse后结果一个数据也读不出来了,您能把意思说的更明白一点吗?或者作个例子,好吗?,谢谢
0 项奖励
6 条消息(共 7 条)
8,165 次查看
其实,最好的方法是使用GPIB接口来控制仪器,提高了数据传输能力和可靠性!
 
同时在初始化串口时,记得将Enable Termination Char设置为False,可以解决你的问题!
人的生命是有限的,但知识是无限的!
南京众知维测试技术有限公司
0 项奖励
7 条消息(共 7 条)
8,140 次查看