通过NI设备获取数据
这个例子展示了如何从国家仪器公司的设备中获取数据。
发现模拟输入设备
方法返回的表中的设备,以发现支持输入测量的设备金宝appdaqlist
命令。本例使用National Instruments®CompactDAQ Chassis NI cDAQ-9178中的NI 9201模块。这是一个8通道模拟输入设备,是机箱中的模块4。
D = daqlist(“倪”)
d = 12×4表的DeviceID DeviceInfo描述模型 ___________ __________________________________ _____________ ____________________ " cDAQ1Mod1”“国家仪器NI 9205”“NI 9205”[1×1采集。DeviceInfo] "cDAQ1Mod2" "美国国家仪器NI 9263" "NI 9263" [1×1 daq。DeviceInfo] "cDAQ1Mod3" "美国国家仪器NI 9234" "NI 9234" [1×1 daq。DeviceInfo] "cDAQ1Mod4" "美国国家仪器NI 9201" "NI 9201" [1×1 daq。DeviceInfo] "cDAQ1Mod5" "国家仪器NI 9402" "NI 9402" [1×1 daq。DeviceInfo] "cDAQ1Mod6" "美国国家仪器NI 9213" "NI 9213" [1×1 daq。DeviceInfo] "cDAQ1Mod7" "美国国家仪器NI 9219" "NI 9219" [1×1 daq。DeviceInfo] "cDAQ1Mod8" "美国国家仪器NI 9265" "NI 9265" [1×1 daq。DeviceInfo] "Dev1" "美国国家仪器公司pci -6363" " pci -6363" [1×1 daq。DeviceInfo]"Dev2" "National Instruments NI ELVIS II" "NI ELVIS II" [1×1 daq.DeviceInfo] "Dev3" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo] "Dev4" "National Instruments PCIe-6363" "PCIe-6363" [1×1 daq.DeviceInfo]
deviceInfo = d{4,“DeviceInfo”}
deviceInfo = ni: National Instruments ni 9201(设备ID: 'cDAQ1Mod4')模拟输入支持:-10到+10伏特范围从0金宝app.6到500000.0扫描/秒8通道('ai0' - 'ai7')“电压”测量类型该模块位于“cDAQ-9178”机箱的4号槽位,名称为“cDAQ1”。
创建一个数据采集和添加模拟输入通道
创建一个数据采集,设置率
属性(默认为每秒扫描1000次),并使用添加模拟输入通道addinput
.
Dq = daq(“倪”);dq。费率= 8000;addinput (dq,“cDAQ1Mod4”,“ai0”,“电压”);addinput (dq,“cDAQ1Mod4”,“ai1”,“电压”);
获取一个单扫描表
使用读
获取单次扫描。结果是一个有两个数据列的表,因为有两个输入通道用于获取扫描。
Tabledata = read(dq)
tabledata = 1×2时间表时间cDAQ1Mod4_ai0 cDAQ1Mod4_ai1 _____ _____________ _____________ 0秒0.00081472 0.00090579
获得一个单次扫描矩阵
使用读
获取单次扫描。结果是一个大小为1x2的数组,因为有两个输入通道用于获取扫描。
Matrixdata = read(dq,“OutputFormat”,“矩阵”)
Matrixdata = 1.0e-03 * 0.1270 0.9134
采集指定时间段的数据
使用读
以获取多个扫描,阻塞MATLAB执行,直到获取所有请求的数据。所获得的数据作为一个时间表返回,其宽度等于通道的数量,高度等于扫描的数量。
以每秒8000次扫描的速度在1秒内获取数据。Data = read(dq, seconds(1));
绘制采集数据图
(数据。时间,data.Variables);ylabel (“电压(V)”)
获取指定数量的扫描
data = read(dq, 2*dq. rate);(数据。时间,data.Variables);ylabel (“电压(V)”)