主要内容

获取和生成数据在同一时间与Digilent模拟发现

此示例向您展示如何以300 kHz的速率同步生成和获取电压数据。

发现数码设备

发现连接到您系统的Digilent设备daqlist

daqlist (“digilent”
ans = 1×4表的DeviceID DeviceInfo描述模型  ________ _____________________________________________ ____________________ _______________________ " AD1”“Digilent公司。模拟发现2套件Rev. C”“模拟发现2”[1×1 daq.di.DeviceInfo]

为数字设备创建数据采集

发现连接到您系统的Digilent设备daqlist

Dq = daq(“digilent”
dq = DataAcquisition using Digilent Inc. hardware: Running: 0 Rate: 10000 NumScansAvailable: 0 NumScansAcquired: 0 NumScansQueued: 0 NumScansOutputByHardware: 0 RateLimit: [] Show channels显示属性和方法

添加模拟输出通道

使用列出的带ID的Digilent设备添加模拟输出通道AD1,通道ID1、测量类型电压

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伏" "AD1_1_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。

Rate = 300e3;dq。Rate = Rate;指定10hz的正弦波,持续1秒。F = 10;总持续时间= 1;N =总持续时间*速率;T = (1:n)/速率;输出= sin(2*pi*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(开始时间)))