在外部事件上启动多触发器采集
此示例显示如何在外部事件上设置和启动多触发器采集。在这种情况下,设备被配置为开始获取上升沿信号上的数据。
创建一个数据采集和添加模拟输入通道
方法创建DataAcquisition对象,并添加模拟输入通道电压
测量类型,使用NI PCIe 6363,带IDDev4
.
Dq = daq(“倪”);addinput (dq,“Dev4”,“ai0”,“电压”);
配置数据采集从外部触发器启动
配置设备获取外部触发器上的数据。启动收购的触发器称为启动触发器。在本例中,交换机与终端相连PFI0
在设备Dev4
.表示交换机和终端之间的物理连接PFI0
)作为启动触发器。
添加数字启动触发器
触发器具有触发器类型(数字
).的允许值数字
触发类型为StartTrigger
.
触发器有一个源和一个目标。在本例中,源为交换机(请选择)“外部”
作为来源)。目的地是PFI0
终端上Dev4
(“PFI0 / Dev4”
).使用addtrigger
在数据采集上添加此触发器。
addtrigger (dq,“数字”,“StartTrigger”,“外部”,“Dev4 / PFI0”);dq。DigitalTriggers
ans = DigitalTrigger与属性:源:“外部”目标:“Dev4/PFI0”类型:“StartTrigger”条件:“RisingEdge”
设置触发参数
默认情况下,数据采集等待上升沿数字触发器10秒。使用将超时时间增加到30秒DigitalTriggerTimeout
财产。
dq。DigitalTriggerTimeout = 30;
当DataAcquisition应该响应多个事件时,可以将其配置为接收多个触发器。在本例中,需要两个外部触发信号来启用设备Dev4
在收到第二个触发器后开始获取扫描。
dq。NumDigitalTriggersPerRun = 2;
开始收购
使用读
在收到每个配置的数字启动触发器时获取扫描。事件的具体顺序是:
数据采集开始
除非超时时间到期,否则在收到第一个触发器时开始实际获取的一秒
除非超时时间到期,否则在收到第二个触发器时将开始一秒的实际获取
返回数据
[data, startTime] = read(dq, seconds(1));
绘制数据
根据两个触发器启动之间的时间观察不连续。
(数据。时间,数据。变量,“。”)