如何使用trigger提高测量速度?
我的程序步骤执行如下:1)通过digital port写一个控制字到多路选择芯片选择一个通道(例如控制字0000选中第一个通道,依此类推)
2)用Agilent 34401A万用表测量这个通道的电流值,把该值送回电脑储存,然后测量下一个相邻的通道,循环执行这个过程.
我已经实现了以上功能,但是速度太慢,测量一个通道需要1秒多一点的时间,我有2048个通道要测(分成32组,每组64个通道,两层for循环),这样需要大约32分钟,希望能降到10分钟左右.我尝试用程序把resulution降低到4.5并把autozero关闭,但是速度没什么变化,还有个可能提高速度的办法是关掉万用表的显示(display),但不知道如何用程序实现.
我现在的程序是测量每个通道的时候万用表都会发出"嘀嗒"声,这是不是代表一个trigger只测量了一个数据?我在想是不是能够让一个trigger测量多个数据,以次提高测量速度.我的想法是一次性写64个控制字到digital port,然后让万用表一个trigger测量这64个通道的电流值,然后写下一组的控制字,....这样执行下去.不知道我的想法对不对,可不可行,如果各位有更好的办法,请不吝赐教.
我在Labview自带的例子里找了Agilent的例子,里面有read single measurement.vi和read multiple measurements.vi,我不是很明白两者的区别,后者是测量多个通道,还是一个通道测量多次?我现在的程序中用了read single measurement.vi.,我可以用read multiple measurements.vi到我程序里来提高测量速度吗?里面还有些trigger的例子,我看得不是很明白,不知道我应该用哪个并且如何应用到我的程序中去.
希望能够得到大家的帮助!谢谢! 没有人知道吗? 我在【】里回答你的问题
我的程序步骤执行如下:
1)通过digital port写一个控制字到多路选择芯片选择一个通道(例如控制字0000选中第一个通道,依此类推)
2)用Agilent 34401A万用表测量这个通道的电流值,把该值送回电脑储存【你用什么方式储存,TDMS方式么?】,然后测量下一个相邻的通道,循环执行这个过程.
我已经实现了以上功能,但是速度太慢,测量一个通道需要1秒多一点的时间,我有2048个通道要测(分成32组,每组64个通道,两层for循环),这样需要大约32分钟,【这个问题主要是在使用万用表来测量巨量切换电路导致的,为什么做这样的项目使用万用表而不是使用板卡呢?无论是使用NI或者国产板卡】希望能降到10分钟左右.我尝试用程序把resulution降低到4.5并把autozero关闭,但是速度没什么变化,还有个可能提高速度的办法是关掉万用表的显示(display),但不知道如何用程序实现.【那要看看34401的指引了】
我现在的程序是测量每个通道的时候万用表都会发出"嘀嗒"声【这是你在切换电路时候,万用表里面有个保护电路,一个继电器电路在做保护功能,这是时间堆积的关键,保护电路里,一个继电器的关闭到闭合至少使用了100到200ms的时间,测量那么多通道,这就大约花了7分钟的时间,还你的程序结构(我建议你优化一下),所以你使用万用表来实现巨量通道测量,又要把时间限制到10分钟以下,我个人此法不通】,这是不是代表一个trigger只测量了一个数据?我在想是不是能够让一个trigger测量多个数据,以次提高测量速度.我的想法是一次性写64个控制字到digital port,然后让万用表一个trigger测量这64个通道的电流值,然后写下一组的控制字,....这样执行下去.不知道我的想法对不对,可不可行,如果各位有更好的办法,请不吝赐教.
我在Labview自带的例子里找了Agilent的例子,里面有read single measurement.vi和read multiple measurements.vi,我不是很明白两者的区别,后者是测量多个通道,还是一个通道测量多次?我现在的程序中用了read single measurement.vi.,我可以用read multiple measurements.vi到我程序里来提高测量速度吗?【这两者是没多大差别的,Agilent在设计这个VI时候就有点无聊,其实单点也只是在多点测试里面Index出第一个数据而已,万用表本身一直是多点采集的】里面还有些trigger的例子,我看得不是很明白,不知道我应该用哪个并且如何应用到我的程序中去. 谢谢你的回答!
我不知道什么是TDMS阿,我就是把测量值写到一个txt文件里做储存.
我觉得这个速度的瓶颈就在万用表上.我认为用一个trigger测量多个数据可以提高速度的原因是:以前那个系统用的万用表是Keithley 2000,而且测量机制与我这个系统不一样,它采用的是Keithley 7002 scanning box,扫描通道来进行测量.我看过这个系统的运行,它是万用表发出一个"嘀嗒"声,然后万用表上并不显示每个测量数据却只是闪烁,感觉速度很快,一下就测了几十个通道,把值显示到电脑上.程序是用一个顺序结构:1)Keithleytrigg config.vi 2)送scanning list 3)测量.
我的系统和这个系统实现的功能一样,只是采用的机制不一样,它用的扫描,设备比较贵,我这个用多路选择芯片,比较便宜.这是否与万用表支持预先设置好扫描通道序列有关? 你都明白你用的是一个Keithley的一个SCANNING BOX来实现,意思是,它们在时序和采样率上都可以匹配的很好的,那么你使用自己DIY的多路选择芯片和Agilent的34401能否匹配起来呢?这点你要下功夫了,如果能,那么使用多通道采集就有意思了,但这是个非常非常难的技术问题,即使你找到一个采样率和34401相同的多路切换器,因为你们彼此之间只有参数协议,没有内部的硬件或者软件协议。如果两者匹配不好,有可能导致几个通道里采样的数据是一样的,也有可能导致有几个通道采集到的数据只是前几个通道的(也就是Missing Step)。不知道我这样表达,你是否能明白我的意思??!
页:
[1]