使用DMM进行连续采集的时候出现较长的初始延迟



硬件: Wireless Sensor Network>>WSN Gateways>>NI 9792>>General-Purpose>>PXI-2598>>Controllers

问题:
我在使用Visual Basic 来对NI 4060(或NI 4050)进行编程。存在问题的函数调用叫做InitwithOptions, 其中的"Cache"输入端的默认值是"真". 当这个值为"真", 读取第一次交流电压值(使用Read或Fetch)需要5秒钟的时间,之后的每次扫描只需要几个毫秒。将 "Cache"修改为"假"将导致每次读数都需要占用5秒钟的时间。"Cache"这个选项究竟进行了什么配置? Read函数是否总是等待用户指定的特定时间周期还是锁存了数据并继续运行?花费5秒钟(这是默认的读取时间周期)来得到结果似乎意味着存在某些错误。


解答:
交流电压的测量相比直流电压测量要慢一些,因为交流情况需要更多的建立时间。当速度是需要考虑的重要因素时,Read函数不被建议使用。可以使用niDMM_Initiate » 加 niDMM_FetchMultipoint这样的序列,根据需要使用合适的次数。您在首次调用的时候将需要等待5秒的时间,但在剩下的采集过程中将以较快的速度进行读数 (如上所述).一个Read函数将锁住处理器直到此次调用结束, 然而一个Fetch函数将在调用开始执行之后立即释放处理资源。Fetch函数在连续采集时非常有用。

"Cache"选项 在使用一台类似于DMM这样的基于寄存器的仪器时没有任何影响。 然而,对于类似于GPIB设备这样的基于消息的仪器来说,需要花费较长的时间来向硬件发送一条命令。为了防止不断地发送相同的命令,仪器驱动追踪在"cache"中之前发送的内容。如果之前已经发送了相同的命令,那么它将不会被执行。这是一个针对GPIB仪器的省时选择,而对于基于寄存器的仪器来说,什么动作都不做。因为对于基于寄存器的仪器来说,从硬件读取和写入数据都已经非常地快。


相关链接:

附件:





报告日期: 02/24/2000
最近更新: 01/21/2009
文档编号: 1UNHBODM