使用DAQ工具箱MCC卡触发Matlab

时间:2012-08-02 11:45:30

标签: matlab

我需要使用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

1 个答案:

答案 0 :(得分:0)

我不确定,但我想,你必须将TriggerType设置为Manual。命令'propinfo(ai.TriggerType)'应该显示哪些选项。

我也使用带有MatLab的USB 2527; - )