首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用MATLAB中的数据采集工具箱实现数据的连续记录和绘图

如何利用MATLAB中的数据采集工具箱实现数据的连续记录和绘图
EN

Stack Overflow用户
提问于 2016-06-23 06:18:05
回答 1查看 1.1K关注 0票数 0

我正在使用data Acquisition Toolbox收集数据。数据是在后台收集的。我正在收集8个热电偶的数据,并且能够打电话给我的听众,不断更新我的曲线图。但是,我还需要保存所收集数据的文件、数组或某种类型的日志。下面是我的代码:

代码语言:javascript
复制
daq.getDevices;
s = daq.createSession('ni');
s.Rate = 1.8;
s.DurationInSeconds = 60;

ch1 = addAnalogInputChannel(s,'cDAQ1Mod1','ai0','Thermocouple');
ch2 = addAnalogInputChannel(s,'cDAQ1Mod1','ai1','Thermocouple');
ch3 = addAnalogInputChannel(s,'cDAQ1Mod1','ai2','Thermocouple');
ch4 = addAnalogInputChannel(s,'cDAQ1Mod1','ai3','Thermocouple');
ch5 = addAnalogInputChannel(s,'cDAQ1Mod1','ai4','Thermocouple');
ch6 = addAnalogInputChannel(s,'cDAQ1Mod1','ai5','Thermocouple');
ch7 = addAnalogInputChannel(s,'cDAQ1Mod1','ai6','Thermocouple');
ch8 = addAnalogInputChannel(s,'cDAQ1Mod1','ai7','Thermocouple');
ch1.ThermocoupleType = 'T';
ch2.ThermocoupleType = 'T';
ch3.ThermocoupleType = 'T';
ch4.ThermocoupleType = 'T';
ch5.ThermocoupleType = 'T';
ch6.ThermocoupleType = 'T';
ch7.ThermocoupleType = 'T';
ch8.ThermocoupleType = 'T';

fid1 = fopen('log.bin','w');
lh = addlistener(s,'DataAvailable', @plotData);
lh1 = addlistener(s,'DataAvailable',@(src, event)logData(src, event, fid1));

s.NotifyWhenDataAvailableExceeds = 20;
s.startBackground();

fclose(fid1);
fid2 = fopen('log.bin','r');
[data,count] = fread(fid2,[8,inf],'double');
fclose(fid2);

函数plotData为:

代码语言:javascript
复制
function plotData(src,event)
    plot(event.TimeStamps, event.Data)
    legend('Outside Sensor 1','Middle Sensor 1','Middle Sensor 2','Middle Sensor 4', ... 
           'External Sensor 2','Outside Sensor 2','Middle Sensor 3','External Sensor 1')
end

函数logData为:

代码语言:javascript
复制
function logData(src, evt, fid)
    data = [evt.TimeStamps, evt.Data]' ;
    fwrite(fid,data,'double');
end

你知道如何在收集数据的同时更新所有数据点的日志文件,同时保持数据的持续更新吗?

EN

回答 1

Stack Overflow用户

发布于 2016-06-23 06:35:06

MATLAB不会存储数据,除非你告诉它。在这种情况下,您应该预先分配一个变量、结构或文件来写入数据。

有关创建和写入日志文件的帮助,请参阅此MathWorks链接:Acquire Continuous and Background Data Using NI Devices

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37979182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档