传统界面matlab

时间:2016-02-14 16:13:20

标签: matlab nidaqmx

我尝试使用模拟输入信号进行触发,但是模拟输入读数有问题。例如,当我发送6 V时,我只能读取0.5 V,并且链路中显示的信号形式应该是方波脉冲,但很明显,它不是。 我的Daq卡是NI PCI 6120.我使用MAX软件检查它是否是硬件问题,但是它提供了正确的值和信号形式,当我尝试基于会话的matlab代码只读取一个模拟输入通道时,我可以得到正确的信号。 我的matlab触发代码应该有一个错误。有什么建议吗?

dig= digitalio('nidaq','Dev1');
line = addline(dio,0:1,'Out');

ai = analoginput('nidaq','Dev1');
channel = addchannel(ai,0:1);

set(ai,'SampleRate',fs);
set(ai,'SamplesPerTrigger',N);
set(ai,'Timeout',10000)


set(ai,'TriggerChannel',channel(1));
set(ai,'TriggerType','Software');
set(ai,'TriggerCondition','Rising');
set(ai,'TriggerConditionValue',0.5);
set(ai,'TriggerDelayUnits','Samples');
set(ai,'TriggerDelay',-3000);
set(ai,'LogFileName','file00.daq')
set(ai,'LoggingMode','Disk&Memory')
putvalue(dig,1)

start (ai)

[data t] = getdata(ai);

putvalue(dio,0)


delete(ai); 
delete(dig);

enter image description here

0 个答案:

没有答案