主要内容

启动外部事件的多触发器采集

这个示例展示了如何在外部事件上设置和启动多触发器获取。在本例中,设备被配置为开始获取上升边缘信号上的数据。

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

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

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

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

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

添加数字启动触发器

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

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

addtrigger (dq,“数字”“StartTrigger”“外部”“Dev4 / PFI0”);dq。DigitalTriggers
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));

图的数据

根据两次触发之间的时间观察间断。

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