以下的触发讨论是基于PXI的S系列卡。
在实际采集应用中参考触发和开始触发是什么关系?
假如需要设置一个参考触发,还需要设置开始触发吗?
如果需要同时设置开始触发,那么触发逻辑是怎样的?
参考触发的触发前最小采样是2个采样点,那么最大采样点的设置是否是Buffer的大小?还有没有上限规定?
在使用了参考触发后,采集应该是在触发前不断地写buffer,当触发信号到来,则buffer的顶部标记就固定了(根据触发前采样点的大小推出),当触发后达到N采样点时,采集停止。那么软件何时才能获知何时触发信号到来?也就是软件什么时候去读取Buffer中的数据?
在实际采集应用中参考触发和开始触发是什么关系?
没啥直接关系
假如需要设置一个参考触发,还需要设置开始触发吗?
当然需要
如果需要同时设置开始触发,那么触发逻辑是怎样的?
先开始,再参考
参考触发的触发前最小采样是2个采样点,那么最大采样点的设置是否是Buffer的大小?还有没有上限规定?
buffer大小-2
在使用了参考触发后,采集应该是在触发前不断地写buffer,当触发信号到来,则buffer的顶部标记就固定了(根据触发前采样点的大小推出),当触发后达到N采样点时,采集停止。那么软件何时才能获知何时触发信号到来?也就是软件什么时候去读取Buffer中的数据?
不是软件什么时候去读的问题,是什么时候板卡把数据放到计算机buffer中的问题
如果先设置开始触发,在设置参考触发,两个触发源都设置成 PFI0 , 参考触发设置触发前采样100个采样点,总采样点为1000。那么Buffer中存储的数据是触发信号到来后1000个点,还是触发前100个点+触发后900点?
任务先等待开始触发,任务开始后再等待参考触发, 是触发前100个点+触发后900点
如果触发源不是同一个,假如开始触发的触发源是 PFI1 参考触发的触发源是 PFI0 .那么是不是一定要两个触发同时满足才能达到真正触发硬件开始采集?
开始先,参考后就可以
在MAX配置任务的时候,把开始触发设置成无触发类型,参考触发设置成"数字边沿"触发.触发源设置成 PFI0,依然可以完成触发采集.那我是不是可以理解成,不需要设置开始触发,只要配置参考触发也可以完成触发采集的工作?
开始触发还是有的,只是这种情况下默认程序执行到start.vi的时候,就会送一个开始触发给板卡,相当于software trigger.
DAQmxErrChk (DAQmxStartTask(taskHandle));
DAQmxErrChk (DAQmxReadAnalogF64(taskHandle,-1,10.0,0,data,1000,&read,NULL));
配置完触发以后,开始启动任务,这个时候应该就是开始采集了吧?只不过是在不断的循环写Buffer.采用DMA的方式把采集到的数据存储到内存中。那么执行DAQmxReadAnalogF64函数是否程序会一直等待采集结束,直到超时返回一个错误?