我需要使用Matlab和MCC USB-2527卡收集数据。
除触发外,一切正常。这是我的代码:
BoardNR=1;
Chan=[0 1 2 3];
fs = 100
duration=60
ai = analoginput('mcc',BoardNR);
ch = addchannel(ai,Chan);
set(ai,'SampleRate',fs);
set(ai,'SamplesPerTrigger',duration*fs);
set(ai,'TriggerChannel',ch(3)) %Channel 3 is the position signal of a cyclic movement
set(ai,'TriggerType','Software')
set(ai,'TriggerCondition','Leaving') %Should trigger when the position signal is not 0
set(ai,'TriggerConditionValue',[0,0])
set(ai,'TriggerDelay',1);
set(ai,'Timeout',5);
%The data collection is started
start(ai);
wait(ai, duration+1)
data=getdata(ai,fs*duration);
plot(0.01:(1/fs):duration,data); %Plotting real time vs signals
如果我通过触发删除部件,我会完美地收集数据。然而,我需要触发,当我运行此代码时,我收到错误:“在OBJ停止运行之前,WAIT达到了超时”。我认为这意味着它停止等待触发信号。我100%肯定,位置信号每20秒左右就会为0,所以它应该是def。触发。
我希望你能提供帮助。我尝试过所有的东西,包括另一个TriggerCondition(如Entering,Rising,Falling)和另一个TriggerConditionValue。
提前致谢,
的Henrik
答案 0 :(得分:0)
我不确定,但我想,你必须将TriggerType设置为Manual。命令'propinfo(ai.TriggerType)'应该显示哪些选项。
我也使用带有MatLab的USB 2527; - )