微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > labview的时间精度到底是多少?

labview的时间精度到底是多少?

时间:12-13 整理:3721RD 点击:
用数据采集卡,
几ms采一次又问题吗?

你的采集卡多少k德?

哈哈,似乎没有问题。
只是在windows下的实时控制问题都有些问题。
labview运行一条普通的命令需要多少时间?

曾经实测了一下,就是空跑循环,设置一下优先级,误差可以到1ms这个样子

你的采集卡没有内部时钟?
windows的定时向来是靠不住的

看来完蛋了...
ms级别的实时控制就是不行,只能用vc了。

关键问题不是计数器的值,而是计数器每变一次
我要采取一步操作...
而计数器变化的频率是几百,也就是几个ms一变,
如果执行命令很慢,那么就会丢失,就会误操作...
唉...
计数器的值可以通过缓存等方法完全得到,可是这个实时的控制
却不能完成。

用RT系统阿

nod
labview RT好像可以

我用RS232试过一次,读取一个数据要一百零几ms,
代码就包括visa open,write,read,close和提取返回命令语句中的数值这几部分,
不知道有没有办法提高采集速度啊
.3
.3

附件里第一个是I/O助手转换后的源代码,
第二个是我精简后测试执行时间的代码,多次测量结果都在100零几ms
串口设备是一个激光位移传感器,
有啥办法改进么?多谢!
版本7.0
.3
.3

 IO_Assistant.vi

 Test_RS232_Execute_Time.vi

这跟你串口通讯速率有关系吧
我也碰到过这种问题,主要是仪器在拖你的时间,你得等它一段时间才能读完。。。
你看看能不能调Baud Rate?

哦,谢谢!
Baud Rate的Default value是9600,
setting range是9600,14400,...115200,
把它调大会减少执行时间么?
.3

你试试看吧   看你仪器支不支持高Baud Rate了

估计115200就是最高了
另外读数据的时间和你每次读的数据量也是有关系的
你要读,仪器也要一个字节一个字节的给你往外送阿
这些都需要时间的

谢谢,我把sensor的Baud Rate改为115200,
读取一个数据的时间降到了75-85ms,提高了近30ms,
这就能够保证测量过程中,设置100ms延时的while loop不会丢失某些测量数据了,
之前运行时,获得的测量点数总要比预计的少几个,因为超过了100ms
不过要是能降低一个数量级就好了,^_^
.3
.3

对,115200最高了,
每次发送M1,0的命令,返回“M1,+/-测量值”的字符串,需要从中提取测量值
btw,你也是ISCAS的?
.3

刚才没注意IP,原来是同事阿 :)
我在1#

modbus不可能实现的
最快也至少要40ms

问题有好多呢
1.windows系统本身就不实时;
2.labview在windows肯定不可能完成
3.采用labview+vc dll方式,主要控制在dll中完成
结果导致以下问题:
I.利用查询方式,在死循环中查询,那么应该多线程,在辅助
线程中不断查询,但是这样对系统资源消耗还是有点大,
堪堪能够满足要求;
而且,vc写的测试程序能够运行,把dll集成到labview中,
运行几秒就死掉了,哈哈
II.如果利用中断方式,windows2000以上都不再支持端口直接
读写和硬件中断,如果非要中断,需要编写硬件驱动vdx...
oh,my God..
所以,结论是这个windows根本就不是什么可行的好方案,
看来要用单片机另外板子了.
labview rt,我没用过,;(

如果是实时采集的话,
最好用缓冲或者高速磁盘流.

还没那么夸张  呵呵
不知道你为什么要用  VI + dll ,然后又把实时放在dll 里呢?
首先我觉得要明确的是,是否能肯定你一个周期的操作本身(计算算法之类的)所花费的时间在这个周期内,如果在,那还是可以试试的。

如果真是秒级的  那我就毕不了业了。。。 555~~~~~~~~~~~~~~

哦,可能是太夸张了,因为我以前从来不用这个的,;)
因为在labview下面这个实时不能满足,就是说运行速度有点慢,
有时候采到的数据不及时,
而用vc写的dll可以满足。
其实这里labview就是一个控制界面,所以的任务都是
dll里另外开的线程来完成了的。

那还是把实时的分出去,或者单片机或者dll吧,监控方面交给LAbVIEW得了  
呵呵  

既然这样,干脆用vc+measurement studio做算了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top