主要内容

从两台不同速率的设备上获取数据

这个例子展示了如何从运行在不同采样率的两个不同的DAQ设备获取数据。本例使用了两个具有不同采集速率限制的National Instruments CompactDAQ模拟输入模块(9201和9211)。9211模块用于温度测量,其获取速率(10hz)比9201模块用于测量电压(100hz)慢。由于数据采集对象中的所有通道必须以相同的速率进行采集,因此要以多个速率从两个模块进行采集,就需要使用两个数据采集对象。要使两个DAQ设备同时启动,可以使用硬件数字触发配置。

硬件设置

  • CompactDAQ底盘NI cDAQ 9178 ('cDAQ1')

  • NI cDAQ 9211模块,带热电偶测量类型('cDAQ1Mod1')

  • NI cDAQ 9201模块,电压测量型('cDAQ1Mod2')

  • 热电偶探头(K型)

  • 函数发生器仪表产生的模拟电压信号

配置数据采集对象和通道

创建两个数据采集对象,每个对象都有一个来自9211模块或9201模块的模拟输入通道。数据采集对象的采集速率分别为10hz和100hz。

指定两个设备的共同采集时间,单位为秒daqDuration =秒(3);为cDAQ 9211模块创建并配置数据采集对象和通道。D1 = daq(“倪”);addinput (d1,“cDAQ1Mod1”“ai0”“热电偶”);d1.Channels(1)。ThermocoupleType =“K”;d1。Rate = 10;
警告:由于通道配置的更改,速率属性减少到14.2857。
为cDAQ 9201模块创建并配置数据采集对象和通道。D2 = daq(“倪”);addinput (d2,“cDAQ1Mod2”“ai0”“电压”);d2。Rate = 100;

配置触发连接

要同步采集启动,可以使用硬件触发和源/目标方法。其中一个数据采集对象(源)手动启动,并触发另一个数据采集对象(目标)的采集开始。

注意:如果你的CompactDAQ机箱型号(如NI 9174)没有PFI触发端子,你可以使用一个额外的数字I/O模块(如NI 9402)来提供PFI触发连接端子。

%配置源数据采集对象导出触发cDAQ1机箱PFI0端子上的%信号addtrigger (d1,“数字”“StartTrigger”“cDAQ1 / PFI0”“外部”);%配置目标数据采集对象在发生故障时开始采集cDAQ1机箱PFI0端接收到%外部触发信号addtrigger (d2,“数字”“StartTrigger”“外部”“cDAQ1 / PFI0”);

开始采集,等待完成

目标数据采集对象必须首先启动,并在源数据采集对象启动之前为外部触发器做好准备。

开始(d2,“持续时间”daqDuration)~ d2。WaitingForDigitalTrigger暂停(0.1)结束开始(d1,“持续时间”daqDuration)等待数据采集完成d1。运行|| d2。运行暂停(1)结束
后台操作已启动。后台操作将在3秒后停止。要读取获取的扫描,请使用read。后台操作已启动。后台操作将在3秒后停止。要读取获取的扫描,请使用read。

另存数据为时间表

对于每个数据采集对象,所采集的测量数据和时间戳都存储在内存中。以默认时间表格式从内存中读取所有获取的数据。

Data1 = read(d1,“所有”);Data2 = read(d2,“所有”);

图采集数据

由于从两个设备获得的数据具有不同的尺度和单位,因此创建一个具有两个y轴的图表。

图yyaxis(data1的阴谋。时间,data1。变量,“- x”) ylabel (温度(℃)) ylim([0 50]) yyaxis正确的情节(data2。时间,data2。变量,“o”) ylabel (“电压(V)”)包含(“时间(s)”

清理

清除数据采集对象,断开硬件连接。

清晰的d1d2
Baidu
map