解决方案
DAQmx无法直接生成停止触发。但您可以通过使用参考触发并修改读取位置的方式在LabVIEW中创建等效的停止触发。
首先,您需要创建一个有限点数据采集任务,该任务需要在参考触发之前和之后各采集N个样本点。为了给参考触发的触发前采样提供数据,这个DAQmx任务将在等待参考触发时不断地进行数据采集。即便这些通过连续采集得到的数据不是当前任务明确指定所需要的数据,您仍可以通过调用DAQmx读取访问并存储这些数据。
请参阅下述代码段,该代码段展示了一个将参考触发设置为停止触发的范例:
图1:在LabVIEW中使用开始触发和停止触发的DAQmx应用程序
上述范例使用DAQmx创建了一个模拟输入数据采集任务,该任务使用了两个触发:数字边沿开始触发和数字边沿参考触发。
开始触发指定当前任务何时开始采集后续参考触发所需的数据样本,而参考触发则指定何时发送任务最初所要求的有限点样本,这些样本由参考触发前的采样和参考触发后的采样组成。
注意:如有需要,您可以将开始触发和参考触发的信号源设置为来自相同的PFI接线端口。DAQmx驱动在开始触发的信号到来之前不会等待参考触发的信号,因此将这两种触发的信号源设置为来自相同的端口不会导致端口使用冲突的发生。
配置参考触发相较其他种类的触发,参考触发需要一个额外的输入参数,即
每通道触发前采样 :
图2:LabVIEW中的触发前采样参数
触发前采样数定义了在有限点数据采集期间采集到的总样本中,有多少样本是在参考触发发生之前采集到的。除去触发前样本的其余样本被称为
触发后样本 。
计算触发后采样数的算式如下:
触发后采样数=
每通道采样 (DAQmx定时的输入参数) -
每通道触发前采样 (DAQmx触发的输入参数)
举例来说,为了将任务配置为获取最少数量的触发前样本(触发前采样数的最小设置值为2)且获取40个触发后样本,您需要将42作为DAQmx定时中每通道采样数的输入,并将2作为DAQmx参考触发中每通道触发前采样数的输入。这样的设置下,该有限点数据采集任务的最终输出具有如下的形式:
图3:使用参考触发后,DAQmx读取的最终输出形式
注意:若DAQmx任务使用了参考触发,那么对任务的定时进行设定时,必须为参考触发设置至少为2的触发前采样和触发后采样。因此,当您使用设置参考触发的方法实现停止触发的功能时,您始终会在停止触发发生后收到至少2个采样点。这些多余的采样点可以在后续的处理中丢弃。