0

我尝试使用模拟输入信号进行触发,但是模拟输入读数出现问题。例如,当我发送 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);

在此处输入图像描述

4

0 回答 0