与勤勉的模拟发现同时获取和生成数据
这个示例向您展示了如何以300 kHz的速率同步生成和获取电压数据。
发现Digilent设备
发现Digilent设备连接到您的系统使用daqlist
daqlist (“digilent”)
ans = 1×4表的DeviceID DeviceInfo描述模型 ________ _____________________________________________ ____________________ _______________________ " AD1”“Digilent公司。模拟发现2 Kit Rev. C" "模拟发现2" [1×1 daq.di.DeviceInfo]
为Digilent设备创建一个数据采集
发现Digilent设备连接到您的系统使用daqlist
dq =采集(“digilent”)
dq = DataAcquisition using Digilent Inc. hardware: Running: 0 Rate: 10000 NumScansAvailable: 0 NumScansAcquired: 0 NumScansQueued: 0 NumScansOutputByHardware: 0 RateLimit:[]显示通道显示属性和方法
添加模拟输出通道
使用所列的Digilent设备添加一个模拟输出通道AD1
、通道标识1
、测量类型电压
.
addoutput (dq,“AD1”,“1”,“电压”);addoutput (dq,“AD1”,“2”,“电压”);ch_out = dq.Channels (1:2);ch_out(1)。Name =“AD1_1_out”;ch_out(2)。Name =“AD1_2_out”
ch_out =指数类型设备通道测量类型范围名称 _____ ____ ______ _______ _____________________ ____________________ ___________ 1“ao”“AD1”“1”“电压(SingleEnd)”"-5.0到+5.0伏特" " ad11_out "2" "ao" "AD1" "2" "电压(单端)"“-5.0到+5.0伏特”“AD1_2_out”
添加模拟输入通道
增加一个设备和测量类型相同的模拟输入通道电压
.
addinput (dq,“AD1”,“1”,“电压”);addinput (dq,“AD1”,“2”,“电压”);ch_in = dq.Channels (3:4);ch_in(1)。Name =“AD1_1_in”;ch_in(2)。Name =“AD1_2_in”
ch_in =指数类型设备通道测量类型范围名称 _____ ____ ______ _______ ________________ __________________ __________ 1“人工智能”“AD1”“1”“电压(Diff)”“-25到+25伏特”“AD1_1_in”2“ai”“AD1”“2”“电压(差异)”“-25到+25伏特”“AD1_2_in”
设置数据采集属性和定义输出波形
设置生成速率为300khz。
率= 300年e3;dq。率=率;%指定10hz正弦波1秒。f = 10;totalduration = 1;N =总持续时间*速率;t = (1: n) /率;输出=罪(2 *π* f * t) ';
生成和获取数据
在通道1上产生振幅为1v的正弦波,在通道2上产生振幅为2v的正弦波,并以相同的速率获取时间戳数据。
[data, startTime] = readwrite(dq, [output 2*output]);
情节获得数据
(数据。时间,数据。AD1_1_in, data.Time, data.AD1_2_in); xlabel(“时间(s)”);ylabel (“电压(V)”);标题(['在:触发的时钟数据'datestr(开始时间)))