2013-10-15 2 views
1

Matlab의 데이터 수집 도구 상자를 사용하여 지속적으로 데이터를 장치에 보내고 (항상 외부 루프와 같은 정렬) 센서에 대한 데이터를 수집합니다. (데이터 수집 부분은 내부 루프). 연속 출력 부분은 작동하지만 입력에 운이없는 것은 아닙니다. 어떤 도움을 많이 주시면 감사하겠습니다.연속 출력 및 불연속 연속 입력이있는 Matlab Data Acquisition

Fs=10000; % Sampling Frequency 
timetoacquire=10; % Acquisition time 
ss=daq.createSession('ni'); 
ss.Rate=Fs; 
ss.DurationInSeconds=timetoacquire; 
ss.addAnalogOutputChannel('Dev1',0,'Voltage');%Voltage to run pump 

ss.addAnalogInputChannel('Dev1',1,'Voltage'); %Voltage from AnalogInputChannel 

load VoltageOld; 
load TimeOld; 
timevect=linspace(min(TimeOld),max(TimeOld),Fs*max(TimeOld)); 
voltagevect=pchip(TimeOld,VoltageOld,timevect)';%Output Voltage Waveform 

lh = ss.addlistener('DataRequired', ... 
    @(src,event) src.queueOutputData(voltagevect)); 
ss.IsContinuous=true; 
ss.queueOutputData(voltagevect); 
ss.startBackground(); 

llh = ss.addlistener('DataAvailable', @plotData); 
ss.queueOutputData(voltagevect); 
[Voltagedata,timeStamps,triggerTime] = ss.startForeground; 

% ss.stop(); 
% delete(lh); 

답변

0

불행히도 matlab은 점점 가난 해지고 있습니다. 세션 기반의 daq에 대한 Te 문서는 정말 대단한 것이며 진지하고 깊이있는 재검토가 필요합니다. 필자에게 그것은 완전히 다시 쓰여 져야하며 개발자들에게는 정보가 없다.

입출력을위한 두 개의 세션, sinput 및 soutput이 있습니다. 작동 할 수도 있습니다.