主要内容

在外部事件上启动多触发器获取

这个例子展示了如何设置和启动外部事件的多触发器获取。在这种情况下,设备被配置为在上升沿信号上开始获取数据。

创建数据采集和添加模拟输入通道

控件创建一个DataAcquisition对象,并添加一个模拟输入通道电压测量类型,使用NI PCIe 6363,带IDDev4

dq =采集(“倪”);addinput (dq,“Dev4”“ai0”“电压”);

将数据采集配置为在外部触发器上启动

配置设备获取外部触发器上的数据。启动采集的触发器称为启动触发器。在本例中,交换机连接到终端PFI0在设备Dev4.表示这个物理连接(在交换机和终端之间)PFI0)作为启动触发器。

添加数字启动触发器

触发器有一个触发器类型(数字).的允许值数字触发器类型是StartTrigger

触发器有源和目的。在本例中,源是交换机(选择)“外部”作为源)。目的地是PFI0终端上Dev4“PFI0 / Dev4”).使用addtrigger在DataAcquisition上添加此触发器。

addtrigger (dq,“数字”“StartTrigger”“外部”“Dev4 / PFI0”);dq。DigitalTriggers
ans = DigitalTrigger带有属性:Source: "External" Destination: 'Dev4/PFI0' Type: 'StartTrigger' Condition: 'RisingEdge'

设置触发参数

默认情况下,DataAcquisition为上升边缘数字触发器等待10秒。使用将超时时间增加到30秒DigitalTriggerTimeout财产。

dq。DigitalTriggerTimeout = 30;

您可以将DataAcquisition配置为在应该响应多个事件时接收多个触发器。在本例中,期望有两个外部触发信号,使设备能够启动Dev4在收到第二个触发器后开始获取扫描。

dq。NumDigitalTriggersPerRun = 2;

开始收购

使用在收到每个配置好的数字启动触发器时获取扫描。事件的具体顺序是:

  1. DataAcquisition开始

  2. 在接收到第一个触发器时,实际采集的一秒开始,除非超时时间已过

  3. 在收到第二个触发器时,除非超时时间已过,否则实际采集的一秒将开始

  4. 返回数据

[data, startTime] = read(dq, seconds(1));

图的数据

根据两个触发器启动之间的时间观察不连续性。

(数据。时间,数据。变量,“。”