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

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

关于NI-DAQmx 任务开始与结束VI的一些困惑,希望有人能回答

这个NI官方页面中提到【当使用 DAQmx Read VI 时,自动启动属性设置为 True,DAQmx Read VI 将启动采集任务,并在采集完最后一个样本后停止该任务。如果你在一个循环中使用DAQmx Read VI,测量或生成会在循环的每一次代中开始和停止,为了避免这种情况,你可以用DAQmx Start Task VI和DAQmx Stop Task VI明确地告诉它开始和停止。 明确地在循环之前启动任务,并在执行循环之后停止任务,可以显著提高性能。】关于这个问题我有一些疑问,没有在官方文档里面找到答案,希望论坛里有人能解答:

 

1.【(没有显式的调用DAQmx Start Task VI和DAQmx Stop Task VI时),如果自动启动属性设置为 True,DAQmx Read VI 将启动采集任务,并在采集完最后一个样本后停止该任务】这段话里面说的【采集完最后一个样本】是指硬件采集完最后一个样本后停止任务还是DAQmx Read VI读取完所需的最后一个样本后停止任务?

 

2.没有显式的调用DAQmx Start Task VI和DAQmx Stop Task VI时,连续采集任务的DAQmx Read VI 也会在每次循环迭代中开始和停止吗?(官方页面似乎是这个意思)用DAQmx Timing VI显式的设定了有限采样模式,实际采样数是由DAQmx Timing VI 的samples per channel 还是DAQmx Read VI 的 number of samples per channel 决定的? 

 

3.【 明确地在循环之前启动任务,并在执行循环之后停止任务,可以显著提高性能。】这里应该是在说:显式的在循环(循环中会调用DAQmx Read VI)之后调用DAQmx Stop Task VI可以显著提高性能。但这个调用发生在对DAQmx Read VI调用之后,它怎么反过来影响DAQmx Read VI的行为?(是在编译的时候发生的吗)

 

4.如果我只在循环前显式的调用DAQmx Start Task VI,循环后不显式的调用DAQmx Stop Task VI(而是用DAQmx Clear Task VI结束任务之类),那么【DAQmx Read VI 将启动采集任务,并在采集完最后一个样本后停止该任务】中的【在采集完最后一个样本后停止该任务】还会自动发生吗?如果会,循环前显式的调用DAQmx Start Task VI还有提高性能的作用吗?

 

5.DAQmx Start Task VI的行为对于连续采样和有限采样有区别吗?我的理解是在连续采样中调用DAQmx Start Task VI会开始采集,不管是否调用DAQmx Read VI,而在有限采集中,调用DAQmx Start Task VI会让程序转化为running state,但直到调用DAQmx Read VI时才真的开始采集。这个理解对吗?

 

问题有点多,希望论坛中有人能回答其中的一些。

 

 

0 项奖励
1 条消息(共 1 条)
830 次查看