数据采集与模拟发现2 -设置输出值和获得输入信号在1秒

2视图(30天)
我试图使用模拟发现2数据采集设备和USB oscillioscope线圈中的电流控制(控制电压电源),为每一个当前值从大厅调查收集数据(测量磁场)1秒前增加了线圈电流到下一个值。
运行下面的程序我得到以下错误消息: 错误使用BvsI_test(56行)。之前必须有数据排队在会话中可以调用这个函数。
我试图设置两个会话控制输入和输出,分别——但这并工作。
有人有一个建议来解决我的问题吗?
% %生成电压/电流输出从霍尔探头线圈和获取数据
清晰的
关闭
clc
% %创建一个会话对象
s = daq.createSession (“digilent”);
% %设置硬件
%添加模拟输入和输出通道
ch_in = addAnalogInputChannel(年代,“AD1”1“电压”)
ch_out = addAnalogOutputChannel(年代,“AD1”1“电压”)
% s.Rate = 10000
% s.DurationInSeconds = 2
% %创建情节图I = 0和vb (0)
vc0 = 0;
outputSingleScan(年代,vc0);
vb0 = inputSingleScan(年代);
图;
抓住;
h =情节(vc0, vb0 k x ');
网格;
ylabel(“磁场(特斯拉)');
包含(“线圈电流(安培)');
标题(“磁感应(B)与线圈电流(I)”)
轴([0 5 -0.3 - 0.3]);
% %过渡电流从0到4.25 (5 V = 4.13)
%增加当前的控制电压的电源(vc)的步骤
% 0.025 V 5对应步骤0.02065到4.13。(1 v对应
% 0.826)。
%
%为每5个步骤(0.10325)收集/测量电压从霍尔探头(vb)
% (1 v对应1 t)。
%
%设置vc,收集测量vb,情节磁场与线圈电流。
vc = linspace (0, 5201);
j = 0;
iloop =(1:长度(vc))
outputSingleScan(年代,vc (iloop))
暂停(0.01);
如果国防部(iloop, 10) = = 0
j = + 1;
暂停(0.2)
(vb_t、时间)= s.startForeground ();
vb_m (j) =意味着(vb_t);
vb_std (j) =性病(vb_t);
集成电路(j) = vc (iloop) / (5/4.13);
情节(ic (j), vb_m (j),“k x”)
drawnow
抓住;
其他的
结束
结束
%设置电源输出为零和断开采集
outputSingleScan (s1 0)
发行版(s1)
发行版(s2)
删除(s1)
删除(s2)
明确s1
明确s2
% %

答案(0)

类别

找到更多的在模拟输入和输出帮助中心文件交换

s manbetx 845


释放

R2019b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!