这个示例展示了如何在外部事件上设置和启动多触发器获取。在本例中,设备被配置为开始获取上升边缘信号上的数据。
控件创建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;
使用读
在收到每个配置的数字启动触发器时获得扫描。事件的具体顺序是:
DataAcquisition开始
实际获取的一秒从收到第一个触发器开始,除非超时时间过期
实际获取的一秒从收到第二个触发器开始,除非超时时间过期
返回数据
[data, startTime] = read(dq, seconds(1));
根据两次触发之间的时间观察间断。
(数据。时间,数据。变量,“。”)