2012-08-02 13 views
1

我需要使用Matlab和MCC USB-2527卡收集数据。使用DAQ工具箱MCC卡触发Matlab

除触发外一切正常。这里是我的代码:

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,所以应该确定。触发。

我希望你能帮上忙。我试过了一切,包括有另一个TriggerCondition(如Entering,Rising,Falling)和另一个TriggerConditionValue。

由于提前,

亨里克

回答

0

我不知道,但我想,你必须设置TriggerType为手动。命令'propinfo(ai.TriggerType)'应该显示哪些选项。

我也使用USB 2527与MatLab ;-)