微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > 大家用LV做的数据采集系统的效率如何啊?

大家用LV做的数据采集系统的效率如何啊?

时间:12-13 整理:3721RD 点击:
我所说的数据采集系统包括采集、保存、显示、分析、回显等功能,并且基本要求实时。
我想实现起来大概分为两种情况吧:
1)用NI或者兼容板卡,直接调用LV中的DAQ vi,应该能比较容易的实现,而且我估计
执行效率也会很高,是吗?
2)用自己做的板卡,然后通过调用dll,搭建DAQ。
我用的就是这个办法,只可惜目前效率太低!全部功能时CPU占用率100%,即使只保留
采集功能也占到了60%!
本来原来设计的时候用到了Sequnence结构,后来改为三个while循环,效率都一样。
三个while循环分别是启动数据采集、数据的一系列操作、板卡的关闭,用数据驱动。
我试过,如果不打开板卡,就是说第一个while去掉的话,执行效率很好,只有5%
但是一打开板卡进行数据采集,情况就大不一样了,sigh
如果这样的话,我无法保证数据没有丢失啊,而且实际使用效果也不好。
我把这个vi的基本框架上传上来,已经去除了很多不是必要的因素,希望有朋友可以
帮我看看,大家探讨一下怎么提高这个vi的效率。谢谢!

 效率A数据流驱动的方式A只留采集.vi

觉得太奇怪了!昨晚通过做实验确定了是dll的问题,现在觉得这个推论也不见得正确。
理由是:
昨晚用最小系统的vi测试dll时,发觉即使vi不数取数据,也有60%,所以怀疑到dll的效率
问题。同时,这个结论也受到vc程序的支持。因为vc的程序读数显示也占到了60%。
但是今天进一步实验的时候发觉,把中断服务程序里的数据转换部分去掉以后,同样的
测试vi,竟然到95%了。然后做更极端的实验,把中断服务程序变成一个空程序,就是
没有任何内容,vi调用占到了60%;但,用vc程序调用一个此类的dll时,几乎不占用
CPU。

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

网站地图

Top